OpenVPN: Porovnání verzí
m (Editována verze OpenVPN na 2.4.6) |
|||
(Není zobrazeno 70 mezilehlých verzí od 25 dalších uživatelů.) | |||
Řádek 1: | Řádek 1: | ||
− | + | === Návod pro připojení do HKfree přes OpenVPN zvenku === | |
− | |||
− | |||
− | + | * https://openvpn.net/ | |
− | + | 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 nejnovější OpenVPN, je potvrzeno, že s verzí 2.4.6 VPN korektně funguje. | |
− | |||
− | |||
− | ==== root@charon: Vytvoreni+podepsani certifikatu pro VPN-klienta === | + | Jak přijít k certifikátu a konfiguraci? |
+ | Podívat se na https://vpn.hkfree.org (uživatelské jméno je UID a heslo je heslo brané z LDAP), nechat si vygenerovat a uložit konfigurák s certifikáty. | ||
+ | |||
+ | === Pro klienty === | ||
+ | |||
+ | * Nainstalovat OpenVPN | ||
+ | (https://openvpn.net/index.php/open-source/downloads.html - vzít poslední verzi, momentálně nejnovější 2.4.6) | ||
+ | * stáhnout si konfiguraci na https://vpn.hkfree.org (nedostupné z interní sítě) měli byste vidět něco takového: | ||
+ | |||
+ | [[Soubor:Vpn1.PNG]] | ||
+ | |||
+ | |||
+ | * když projdete přes Captcha a kliknete na "stáhnout nový certifikát a konfiguraci" budete vyzváni k ověření | ||
+ | * uvěření je formou user = UID (např. 1234), heslo je brané z LDAP (stejné jako např. do moje.hkfree.org) | ||
+ | * po úspěšném ověření se stáhne konfigurační soubor s certifikáty a privátním klíčem (vše je nyní v jednom souboru) | ||
+ | * konfigurační soubor uložte do "conf" adresáře ovpn, tedy pro windows např. C:\Program Files\OpenVPN\config\ soubor musí být s příponou .ovpn | ||
+ | * nyní stačí spustit openvpn a pokud se všechno povedlo vpn tunel se otevře | ||
+ | |||
+ | |||
+ | ==== Klienti - Linux, BSD, *nix ==== | ||
+ | Nainstalujte OpenVPN 2.x dle zvyklostí své distribuce. | ||
+ | |||
+ | Je třeba mít neomezenou cestu pro odchozí TCP na port 80. (coz by melo byt skoro vsude trivialne splneno) | ||
+ | |||
+ | 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: | ||
+ | script-security 3 | ||
+ | up "echo \"nameserver $(env | grep foreign_option_ | grep DNS | cut -d \" \" -f 3)\" | resolvconf -a $dev # " | ||
+ | down "resolvconf -d $dev # " | ||
+ | |||
+ | V distribuci Debian nedávno přibyly následující skripty, které zařídí totéž: | ||
+ | script-security 3 | ||
+ | up /etc/openvpn/update-resolv-conf | ||
+ | down /etc/openvpn/update-resolv-conf | ||
+ | |||
+ | Je třeba mít nainstalovaný balíček resolvconf. | ||
+ | <s> | ||
+ | ---- | ||
+ | ==== Klienti - Windows ==== | ||
+ | # stahnout a nainstalovat GUI instalator [http://openvpn.se/] [http://www.greenie.net/ipv6/openvpn-2.x-testing-93dc9179e978-install.exe] | ||
+ | # do adresare <code>c:\Program Files\OpenVpn\config</code> nahrat soubory , ktere jste si vytvorili na https://vpn.hkfree.org (viz predchozi sekce) | ||
+ | #* user.crt | ||
+ | #* user.key | ||
+ | #* uhkfree.ovpn | ||
+ | #* ca.crt | ||
+ | # pustit openvpn = hotovo | ||
+ | * pro Windows Vista viz tento navod - http://martina.blog.lupa.cz/0709/openvpn-pod-windows-vista | ||
+ | * pro Windows 7 je třeba do configu (*.ovpn) přidat "script-security 2" a přejmenovat síťové připojeni (adaptér TAP-Windows Adapter V9) na cokoliv bez diakritiky. Také se ujistěte, že program spouštíte jako správce. | ||
+ | * výše uvedený bod se mi nepotvrdil, ale pro Windows 7 64-bit nefunguje driver pro verze 2.0x, takže je potřeba stáhnout verzi 2.1 (RC 20 a vyšší) - osobně se mi osvědčila verze RC 22, ke stažení zde: https://openvpn.net/release/ | ||
+ | ---- | ||
+ | |||
+ | |||
+ | === Pro správce: root@charon: Vytvoreni+podepsani certifikatu pro VPN-klienta - DEPRECATED !=== | ||
+ | |||
+ | ---- | ||
+ | |||
+ | '''NEW''' stačí pustit tento příkaz | ||
+ | |||
+ | genovpn username | ||
+ | |||
+ | ---- | ||
cd /etc/openvpn/easy-rsa | cd /etc/openvpn/easy-rsa | ||
Řádek 24: | Řádek 81: | ||
-rw-r--r-- 1 root root 5012 2005-04-12 18:34 client1.crt | -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------- 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. | + | -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: | Klient si pak nainstaluje OpenVPN verze alespon 2 a vytvori si takovouto konfiguraci: | ||
Řádek 32: | Řádek 89: | ||
-rw-r--r-- 1 root root 5012 Apr 12 18:58 client1.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------- 1 root root 1679 Apr 12 18:58 client1.key <- ma od nas | ||
− | -rw-r--r-- 1 root root 127 Apr 13 00:01 | + | -rw-r--r-- 1 root root 127 Apr 13 00:01 hkfree.ovpn (viz navod pro klienty) |
− | Vzorovy konfigurak (pro rozdavani klientum) je zde (<code> | + | Vzorovy konfigurak (pro rozdavani klientum) je zde (<code>hkfree.ovpn</code>) |
Na charonu neni treba nic restartovat | Na charonu neni treba nic restartovat | ||
Řádek 42: | Řádek 99: | ||
* routu do 10.107.x.x | * routu do 10.107.x.x | ||
* DNS server 10.107.4.100 (charon) | * DNS server 10.107.4.100 (charon) | ||
+ | </s> | ||
+ | |||
+ | === 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 <strike>charon.hkfree.org</strike> lide.hkfree.org | ||
+ | * Windows useri maji [http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe putty] | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | '''Unix/Linux''': | ||
+ | |||
+ | ssh -f -g -n -N -L 1515:vpn.hkfree.org:80 <strike>charon.hkfree.org</strike> lide.hkfree.org | ||
+ | |||
+ | Jelikož mi ssh napsané výše nefungovalo, napsal jsem skript, který spolupracuje s openvpn a vytvoří tak tunel do freecka, přes který poteče veškerý provoz. Kulin | ||
+ | |||
+ | ip ro add 89.248.240.41/32 via `ip ro | grep ^default | awk '{print $3}'` # prida routu openvpn s puvodni branou | ||
+ | openvpn /home/kulin/vpn_hkfree/hkfree.ovpn& # spusti openvpn na pozadi | ||
+ | sleep 13s # ceka 13 sekund, aby mohl openvpn plne nabehnout | ||
+ | ip ro del default # smaze puvodni defaultni routu | ||
+ | ip ro add default via `ip ro | grep ^10.0.0.0 | awk '{print $3}'` # vytvori novou defaultni routu pomoci tunelu openvpn | ||
+ | echo "Hotovo, nezapomen pak zabit openvpn (sudo killall openvpn)" # openvpn stale bezi na pozadi a jde pres ni veskery provoz | ||
+ | |||
+ | |||
+ | |||
+ | '''Windows''': | ||
+ | |||
+ | a) V putty si vytvorite ssh relaci na <strike>charon.hkfree.org</strike> lide.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 vpn.hkfree.org:80 , 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 <strike>charon.hkfree.org</strike> lide.hkfree.org. | ||
+ | |||
+ | 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 vpn.hkfree.org port 80. | ||
+ | |||
+ | Zbyva posledni vec a to upravit konfig pro tunel. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
# Konfiguracni soubor pro OpenVPN/tap pro HKfree. | # Konfiguracni soubor pro OpenVPN/tap pro HKfree. | ||
# VojtaLhota 13.4.2005 | # VojtaLhota 13.4.2005 | ||
+ | # | ||
+ | # Upraveno pro ssh tunel | ||
+ | # motyl 24.10.2006 | ||
dev tap | dev tap | ||
− | port | + | '''port 1515 # nas lokalni port''' |
− | remote | + | '''remote localhost # lokalni host - 127.0.0.1''' |
comp-lzo | comp-lzo | ||
float | float | ||
Řádek 68: | Řádek 170: | ||
pull | pull | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | A to je vse :) | |
− |
Aktuální verze z 11. 11. 2018, 11:08
Obsah
Návod pro připojení do HKfree přes OpenVPN zvenku
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 nejnovější OpenVPN, je potvrzeno, že s verzí 2.4.6 VPN korektně funguje.
Jak přijít k certifikátu a konfiguraci? Podívat se na https://vpn.hkfree.org (uživatelské jméno je UID a heslo je heslo brané z LDAP), nechat si vygenerovat a uložit konfigurák s certifikáty.
Pro klienty
- Nainstalovat OpenVPN
(https://openvpn.net/index.php/open-source/downloads.html - vzít poslední verzi, momentálně nejnovější 2.4.6)
- stáhnout si konfiguraci na https://vpn.hkfree.org (nedostupné z interní sítě) měli byste vidět něco takového:
- když projdete přes Captcha a kliknete na "stáhnout nový certifikát a konfiguraci" budete vyzváni k ověření
- uvěření je formou user = UID (např. 1234), heslo je brané z LDAP (stejné jako např. do moje.hkfree.org)
- po úspěšném ověření se stáhne konfigurační soubor s certifikáty a privátním klíčem (vše je nyní v jednom souboru)
- konfigurační soubor uložte do "conf" adresáře ovpn, tedy pro windows např. C:\Program Files\OpenVPN\config\ soubor musí být s příponou .ovpn
- nyní stačí spustit openvpn a pokud se všechno povedlo vpn tunel se otevře
Klienti - Linux, BSD, *nix
Nainstalujte OpenVPN 2.x dle zvyklostí své distribuce.
Je třeba mít neomezenou cestu pro odchozí TCP na port 80. (coz by melo byt skoro vsude trivialne splneno)
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:
script-security 3 up "echo \"nameserver $(env | grep foreign_option_ | grep DNS | cut -d \" \" -f 3)\" | resolvconf -a $dev # " down "resolvconf -d $dev # "
V distribuci Debian nedávno přibyly následující skripty, které zařídí totéž:
script-security 3 up /etc/openvpn/update-resolv-conf down /etc/openvpn/update-resolv-conf
Je třeba mít nainstalovaný balíček resolvconf.
Klienti - Windows
- stahnout a nainstalovat GUI instalator [1] [2]
- do adresare
c:\Program Files\OpenVpn\config
nahrat soubory , ktere jste si vytvorili na https://vpn.hkfree.org (viz predchozi sekce)- user.crt
- user.key
- uhkfree.ovpn
- ca.crt
- pustit openvpn = hotovo
- pro Windows Vista viz tento navod - http://martina.blog.lupa.cz/0709/openvpn-pod-windows-vista
- pro Windows 7 je třeba do configu (*.ovpn) přidat "script-security 2" a přejmenovat síťové připojeni (adaptér TAP-Windows Adapter V9) na cokoliv bez diakritiky. Také se ujistěte, že program spouštíte jako správce.
- výše uvedený bod se mi nepotvrdil, ale pro Windows 7 64-bit nefunguje driver pro verze 2.0x, takže je potřeba stáhnout verzi 2.1 (RC 20 a vyšší) - osobně se mi osvědčila verze RC 22, ke stažení zde: https://openvpn.net/release/
Pro správce: root@charon: Vytvoreni+podepsani certifikatu pro VPN-klienta - DEPRECATED !
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
charon.hkfree.orglide.hkfree.org - Windows useri maji putty
Unix/Linux:
ssh -f -g -n -N -L 1515:vpn.hkfree.org:80charon.hkfree.orglide.hkfree.org
Jelikož mi ssh napsané výše nefungovalo, napsal jsem skript, který spolupracuje s openvpn a vytvoří tak tunel do freecka, přes který poteče veškerý provoz. Kulin
ip ro add 89.248.240.41/32 via `ip ro | grep ^default | awk '{print $3}'` # prida routu openvpn s puvodni branou openvpn /home/kulin/vpn_hkfree/hkfree.ovpn& # spusti openvpn na pozadi sleep 13s # ceka 13 sekund, aby mohl openvpn plne nabehnout ip ro del default # smaze puvodni defaultni routu ip ro add default via `ip ro | grep ^10.0.0.0 | awk '{print $3}'` # vytvori novou defaultni routu pomoci tunelu openvpn echo "Hotovo, nezapomen pak zabit openvpn (sudo killall openvpn)" # openvpn stale bezi na pozadi a jde pres ni veskery provoz
Windows:
a) V putty si vytvorite ssh relaci na charon.hkfree.org lide.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 vpn.hkfree.org:80 , 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 charon.hkfree.org lide.hkfree.org.
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 vpn.hkfree.org port 80.
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 :)