OpenVPN
Obsah
Návod pro připojení do HKfree přes OpenVPN zvenku
- http://openvpn.se/ windows GUI version
- http://openvpn.net/ homepage
Předpokládáme, že ten, kdo se chce na VPN připojit (např. člen HKfree ze školy, z práce) nemá nic než holý počítač. Bude si muset nainstalovat OpenVPN 2.x (1.x nefunguje) a mít certifikát "podepsaný charonem", který slouží jednak pro autorizaci (místo jména+hesla) a druhak pro šifrování vlastních dat.
Jak přijít k certifikátu?
- Vytvořit si vlastní a dát jej správci charona podepsat (v tomto návodu není), nebo
- Nechat si již podepsaný certifikát vygenerovat správcem charona
- https://vpn.hkfree.org (uzivatelske jmeno je uUID a heslo je heslo do money)
Pro klienty
1. Nainstalovat OpenVPN
2. Požádat někoho, kdo má roota na charonu, aby mu vygeneroval a podepsal certifikát. Klient obdrží 3 soubory (namísto client1 tam bude jeho jméno, nickname apod):
charonvpn.crt client1.crt client1.key
3. Vytvořit si konfigurační soubor pro OpenVPN, např. hkfree.ovpn, s tímto obsahem:
# Konfiguracni soubor pro OpenVPN/tap pro HKfree. # VojtaLhota 13.4.2005 # Zmena portu a IP..... Kulin 20.9.2007 dev tap port 53 remote 89.248.240.126 comp-lzo float tls-client ca charonvpn.crt # Zde je treba nahradit 'client1' svym vlastnim klicem: cert client1.crt key client1.key verb 4 pull
Klienti - Linux, BSD, *nix
Nainstalujte OpenVPN 2.x dle zvyklostí své distribuce.
Je třeba mít neomezenou cestu pro odchozí UDP pakety na port 254.
Kdo si sám kompiluje jádro, nechť si zapne CONFIG_TUN (Universal TUN/TAP device driver support). Ve 2.6.x je to v Device Drivers/Networking Support. Modul se jmeuje tun.o (2.4) nebo tun.ko (2.6)
Linux VPN klient automaticky nezpracovává některé dhcp-option, které předává náš VPN server, predevším DNS server. Pokud chcete, aby v době, kdy máte připojenou VPN do hkfree, se upřednostil DNS server pro vnitřní síť, přidejte si do konfiguračního souboru ještě tyto řádky:
up "echo \"nameserver $(env | grep foreign_option_ | grep DNS | cut -d \" \" -f 3)\" | resolvconf -a $dev # " down "resolvconf -d $dev # "
Je třeba mít nainstalovaný balíček resolvconf.
Klienti - Windows
- stahnout a nainstalovat GUI instalator [1]
- do adresare
c:\Program Files\OpenVpn\config
nahrat soubory , ktere jste obdrzeli do domovského adresáře na charonu- user.crt
- user.key
- uhkfree.ovpn
- charonvpn.crt
- pustit openvpn = hotovo
Pro správce: root@charon: Vytvoreni+podepsani certifikatu pro VPN-klienta
NEW stačí pustit tento příkaz
genovpn username
cd /etc/openvpn/easy-rsa ./build-key client1
Na otazku Common Name (eg, your name or your server's hostname) [] je treba napsat presne jmeno klienta (zde je to client1)
Sign the certificate? [y/n] y 1 out of 1 certificate requests certified, commit? [y/n] y
cd ../keys
Odsud mu dame tyto soubory:
-rw-r--r-- 1 root root 5012 2005-04-12 18:34 client1.crt -rw------- 1 root root 1679 2005-04-12 18:34 client1.key <- pozor, uchovat v tajnosti -rw-r--r-- 1 root root 1663 2005-04-12 18:30 charonvpn.crt
Klient si pak nainstaluje OpenVPN verze alespon 2 a vytvori si takovouto konfiguraci:
(priklad - jsme v adresari /etc/openvpn/hkfree
)
-rw-r--r-- 1 root root 1663 Apr 12 18:30 charonvpn.crt <- ma od nas -rw-r--r-- 1 root root 5012 Apr 12 18:58 client1.crt <- ma od nas -rw------- 1 root root 1679 Apr 12 18:58 client1.key <- ma od nas -rw-r--r-- 1 root root 127 Apr 13 00:01 hkfree.ovpn (viz navod pro klienty)
Vzorovy konfigurak (pro rozdavani klientum) je zde (hkfree.ovpn
)
Na charonu neni treba nic restartovat
Log teto VPNky je v /var/log/openvpn-tap254
Klient nakoupi
- IP adresu z rozsahu 10.107.254.x
- routu do 10.107.x.x
- DNS server 10.107.4.100 (charon)
Co delat, kdyz je port pro HKFree OpenVPNku ve vasi siti blokovan (skola, prace, atd.)
Podminky:
- V siti je povoleno aspon SSHcko, to jest port 22
- Mate SSH ucet na charonu
- Windows useri maji putty
Unix/Linux:
ssh -f -g -n -N -L 1515:charon.hkfree.org:2054 charon.hkfree.org
Windows:
a) V putty si vytvorite ssh relaci na charon.hkfree.org
To znamena Host name bude 'vaseusername@charon.hkfree.org' a port zvolit 22 (Protocol SSH).
b) Na karte "Tunnels" nastavíte "source port" na 1515, "destination" na charon.hkfree.org:2054 , typ "Local".
c) Session (relaci) si ulozte jinak bude vase nastaveni platne jenom pro jedno spusteni (prihlaseni).
d) Kliknete na Open a prihlaste se na charona.
Nyni to bude mit stejny efekt jako linuxovy prikaz vyse uvedeny. Pokracovani je tedy spolecne ...
Unix/Linux/Windows:
Nyni Vas pocitac nasloucha na loklalnim port 1515. Cokoliv na nej vleze se dostane tunelem pres port 22 na charona port 2054.
Zbyva posledni vec a to upravit konfig pro tunel.
# Konfiguracni soubor pro OpenVPN/tap pro HKfree. # VojtaLhota 13.4.2005 # # Upraveno pro ssh tunel # motyl 24.10.2006 dev tap port 1515 # nas lokalni port remote localhost # lokalni host - 127.0.0.1 comp-lzo float tls-client ca charonvpn.crt # Zde je treba nahradit 'client1' svym vlastnim klicem: cert client1.crt key client1.key verb 4 pull
A to je vse :)
XXX
Zdar,
tak kdo mel certifikat na vpn, tak mu vpnka znovu pojede - rozjel jsem to na ip 89.248.240.126 a port tcp/80 nebo udp/53 - ta IP by mela snad platit trvale, ale pribude zaznam vpn.hkfree.org, takze doporucuji pak pouzivat ten ! Nove certifikaty budu vydavat POUZE pres webove rozhrani, ktere ted dodelavam a kam se bude prihlasovat heslem z LDAPu. Az ho rozjedu, tak pobezi 3 mesicni doba, kdy budou platit jeste stare certifikaty a pak uz jen nove.
J.