OpenVPN #2: Vysvetleni konfigurace a PtP spojeni se sdilenym klicem

I kdyz je mnohem castejsi pouziti X.509 SSL certifikatu a take vetsinou vyhodnejsi, ma i sdileny klic sve duvody. Pokud potrebujeme propojit pouze dve zarizeni, je zbytecne generovat a podepisovat cetrifikaty. Ja pouzivam OpenVPN se sdilenym klicem na propojeni dvou routeru pres Internet.

Podle oficialniho navodu teoreticky staci 3 radkovy konfiguracni soubor. Je vsak lepsi ho trochu rozsirit a upravit.

Vetsina distribuci ma OpenVPN v balickach. Pro Ubuntu staci nainstalovat jeden balicek:

Po instalaci prejdeme do adresare /etc/openvpn ve kterem budeme nasledne vytvaret veskere nastaveni.

Jako prvni musime vygenerovat sdileny klic:

Na manipulaci s klicem musime davat velky pozor. Kdokoliv ma klic, muze se pripojit!

Jak uz zaznelo v minulem dile, OpenVPN muze soucasne mit spusteno vice serveru. OpenVPN demon pri svem spusteni hleda vsechny konfiguracni soubory s priponou conf v adresari /etc/openvpn a spusti je. Vytvorime si tedy soubor nazaveny treba /etc/openvpn/server_ptp_static.conf s nasledujicim obsahem:

Konfiguracni volby jsou castecne samovysvetlujici, takze jen jednoduchy popis. VPN tunel bude nad UDP protokolem na portu 7777, pujde o smerovany Etherentovy tunel TAP. Po vytvoreni tunelu se vytovri virtualni sitova karta tap77. Pokud uvedeme pouze „dev tap“, OpenVPN automaticky zacne cislovat od nuly (tap0), pripadne pokud uz tap0 existuje, pouzije cislo o jedno vyssi atd.

Parametr ifconfig nastavuje IP adresu a masku lokalni casti tunelu. Na druhe strane musi byt jina IP! Maska jde pouzit klidne /24 (255.255.255.0), ale je to zbytecne plytvani neverejenymi adresami 😉 – proste je to nelogicke, takze je vhodne pouzit odpovidajici masku a to /30 (255.255.255.252).

Logovat se bude na konec uvedeneho souboru a stavovy soubor bude v uvedene ceste. VPN demon bude spusteny pod uzivatelem a skupinou nobody nogroup.

Keepalive zajisti „pingani“ vpn tunelem pro udrzeni spojeni. Ping se posle kazdych 10 sekund. Timeout je nastaveny na 120 sekund, po teto dobe se OpenVPN pokusi tunel restartovat.

Comp-lzo zapne LZO kompresi, sice vic zatizi cpu (nic propastneho, ale snizi objem prenasenych dat). Verb je ukacenost logu. Pro bezne pouziti doporuciji verb nastavit na 3, pro ladeni na hodnotu 5 – nejvetsi a nejukecanejsi logy.

Protoze OpenVPN nechame bezet pod uzivatelem nobody, nebude mit po pripadnem restartu (napriklad kvuli keepalive) uz prava ke klici a k vytvoreni sitove karty. Proto persist-key a persist-tun.

Posledni cast script-security a up je nepovinna a nemusi tu vubec byt. Slouzi ke spusteni programu po navazeni (pripadne ukonceni) VPN spojeni. Up skript muze napriklad pridat staticka routovaci pravidla. Pomoci script-security nastavime uroven zabezpeceni. 0 zakaze spusteni vsech externich programu, 1 je default a povoli vestavene prikazy jako ifconfig, route atd. 2 navic povoli spustit uzivatelem definovane skripty a 3 povoli predavat hesla pomoci promenych prostredi – nejmene bezpecne a nedoporucovane. Vse je popsano v manualu.

Druha strana tunelu bude mit podobne nastaveni:

Klient na rozdil od serveru musi uvest volbu remote. Jedna se o adresu serveru. Muze byt uvedena domena, nebo IP adresa. Dulezite je upravit volbu ifconfig, na obou stranach nesmi byt stejne IP (ale samozrejme musi patrit do stejne site)! Volba mute neni dulezita, stara se pouze o logovani a klidne ji muzeme vypustit. Do logu zapisuje maximalne 10 opakujicich se udalosti.

Mame nastaveno a muzeme se pustit do testovani a spusteni. Poprve doporucuji spustit OpenVPN na popredi, veskery vypis se sype na standardni vystup, takze nemusime procitat log. Nejdriv prejdeme do adresare /etc/openvpn. Sice to neni nezbytne, ale je to lepsi. Uz jen kvuli moznym relativnim cestam k certifikatum. A pote spustime OpenVPN demona s parametrem –config.

A ihned vidime vystup. Po otestovani staci spustit pomoci init skriptu. To se muze v ruznych distribusich lisit:

Pokud vse probehelo spravne, uvidime novou sitovou kartu s nastavenymi adresami a pingneme se na druhou stranu tunelu (ifconfig adresa z configu protilehle strany):

Kompletni manual je na webu OpenVPN. Urcite je dobre se do nej podivat. Minimalne kvuli lepsimu pochopeni uvedenych konfiguracnich voleb

A to je vse. Priste si ukazeme vydavani certifikatu a predavani nastaveni ze serveru klientum.

 

Dalsi clanky o VPN.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.