Zápisky z říše nul a jedniček

Díl první: Jak jsem testoval OpenVPN přes GPRS

Jednoho odpoledne, kdy jsem nemocněl doma, jsem se jal otestovat zvláštní konfiguraci. Vytvořil jsem si OpenVPN server, dostal k němu IPv4 a IPv6 konektivitu a jal jsem se otestovat přes síť jinou než lokální, jestli to vůbec funguje.

Jako testovací platforma serveru slouží postarší Mandriva 2007.0 se spoustou nestandardního balastu :-), pro klientskou stanici jsem si vybral Windows Vista x64, tedy systém vcelku nestandardní (a to jak z důvodu šedesátičtyřbitovosti, tak z důvodu, že na něm testuju technologii jinou, než Microsoftí :-))

Server jsem nakonfiguroval vcelku standardně, vytvořil jsem certifikáty (resp. ty hlavní už jsem měl delší dobu), připravil konfigurační soubor pro OpenVPN a po dvacátém nastartování byl server ready jako network bridge (TAP režim).
Jak takový konfigurák vypadá se můžete podívat třebas tu:

[root@bytovky openvpn]# cat ./tap0.conf #server local 10.128.9.101 port 444 proto udp dev tap0 ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key # This file should be kept secret dh /etc/openvpn/keys/dh1024.pem server-bridge 10.128.6.1 255.255.255.0 10.128.6.2 10.128.6.254 ifconfig-pool-persist /etc/openvpn/iptap.txt push "route 10.0.0.0 255.0.0.0" push "dhcp-option DNS 2001:4de8:deaf:8000::1" push "dhcp-option DNS 2001:4de8:deaf:8000::5" push "dhcp-option DNS 10.160.0.1" push "dhcp-option DNS 10.160.0.5" keepalive 10 60 #ping 15 comp-lzo max-clients 30 user nobody group nobody persist-key persist-tun status openvpn-tapstatus.log log-append /var/log/openvpn-tap.log #verb 6

Klient taky využívá konfiguraci vcelku standardní, včetně přesměrování výchozí brány:

client dev tap dev-node tap0 proto udp remote 212.80.95.68 444 resolv-retry infinite nobind persist-key persist-tun comp-lzo ns-cert-type server ca ca.crt cert client6.crt key client6.key redirect-gateway

K připojení na absolutně nezávislou síť jsem si vybral technologii od OuTůůů - jejich GPRS (3G bohužel u nás na vsi není a dlouho nebude :-)). K připojení používám HTC TyTN s Windows Mobile 6 Standard v režimu RNDIS, tedy na té malé krabičce se aktivuje Sdílení připojení k internetu, krabička funguje jako router s NATem a DHCP. V počítači není třeba konfigurovat vůbec nic, snad jen do starších operačních systémů je potřeba dohrát ovladač pro virtuální síťovou kartu.

Připojil jsem se tedy ke GPRS (v PC jsem dostal standardní IP z rozsahu 192.168.0.0/24) a chtěl jsem vyzkoušet, jestli mi to připojení vlastně funguje. Fungovalo, ale přesto jsem se nad vynalézavostí techniků Microsoftu pobavil:-) Posuďte sami:
První hop jsou samé nuly

Dobrá, neřešil jsem, hlavně, když to funguje. Vrhl jsem se na vytočení OpenVPN spojení. Mají k tomu u poslední betaverze zajímavé GUI - vytvořit nové připojení vám to neumožní, ale jakmile do OpenVPN/config adresáře nahrajete konfigurační soubor, najednou se objeví volby jako Connect, atp. Ještě je co vyvíjet.

Ale zpátky k OpenVPN. To se kupodivu (po chvilce čekání, přece jen latence GPRS není z nejmenších) připojilo a dokonce načetlo téměř všechny parametry tak, jak mělo. Téměř, nedokázalo to vyparsovat IPv6 DNS server z konfigurace, kterou jsem se snažil protlačit ze serveru. Nutno říct, že to nezvládlo ani OpenVPN v Kubuntu 7.10, takže tam bude uhnilý pes někde jinde.
Připojeno!

Nu a abych si ověřil, že opravdu všechno funguje, zkusil jsem si zatrasovat :-)
Fungujemee

Takže první test téhle technologie: Jednoznačně pozitivní. Tedy, když se vám podaří vyladit konfiguráky podle vašich potřeb :-)