OpenVPN: Porovnání verzí

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání
m (Editována verze OpenVPN na 2.4.6)
 
(Není zobrazeno 44 mezilehlých verzí od 12 dalších uživatelů.)
Řádek 1: Řádek 1:
 
=== Návod pro připojení do HKfree přes OpenVPN zvenku ===
 
=== Návod pro připojení do HKfree přes OpenVPN zvenku ===
  
* http://openvpn.se/ windows GUI version
+
* https://openvpn.net/
* 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.
+
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?
+
Jak přijít k certifikátu a konfiguraci?
* Vytvořit si vlastní a dát jej správci charona podepsat (v tomto návodu není), nebo
+
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.
* Nechat si již podepsaný certifikát vygenerovat správcem charona
 
  
 
=== Pro klienty  ===
 
=== 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):
+
* Nainstalovat OpenVPN
charonvpn.crt
+
(https://openvpn.net/index.php/open-source/downloads.html - vzít poslední verzi, momentálně nejnovější 2.4.6)
client1.crt
+
* stáhnout si konfiguraci na https://vpn.hkfree.org (nedostupné z interní sítě) měli byste vidět něco takového:
client1.key
+
 
3. Vytvořit si konfigurační soubor pro OpenVPN, např. hkfree.ovpn, s tímto obsahem:
+
[[Soubor:Vpn1.PNG]]
# Konfiguracni soubor pro OpenVPN/tap pro HKfree.
+
 
# VojtaLhota 13.4.2005
+
 
+
* když projdete přes Captcha a kliknete na "stáhnout nový certifikát a konfiguraci" budete vyzváni k ověření
dev tap
+
* uvěření je formou user = UID (např. 1234), heslo je brané z LDAP (stejné jako např. do moje.hkfree.org)
port 2054
+
* 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)
remote charon.hkfree.org
+
* 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
comp-lzo
+
* nyní stačí spustit openvpn a pokud se všechno povedlo vpn tunel se otevře
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 ====
 
==== Klienti - Linux, BSD, *nix ====
 
Nainstalujte OpenVPN 2.x dle zvyklostí své distribuce.  
 
Nainstalujte OpenVPN 2.x dle zvyklostí své distribuce.  
  
Je třeba mít neomezenou cestu pro odchozí UDP pakety na port 254.
+
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)
 
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:
 
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 # "
 
  up "echo \"nameserver $(env | grep foreign_option_ | grep DNS | cut -d \" \" -f 3)\" | resolvconf -a $dev # "
 
  down "resolvconf -d $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.
 
Je třeba mít nainstalovaný balíček resolvconf.
 
+
<s>
 +
----
 
==== Klienti - Windows ====
 
==== Klienti - Windows ====
# stahnout a nainstalovat GUI instalator [http://openvpn.se/]
+
# 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 obdrzeli do domovského adresáře na charonu
+
# 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.crt
 
#* user.key
 
#* user.key
 
#* uhkfree.ovpn
 
#* uhkfree.ovpn
#* charonvpn.crt
+
#* ca.crt
 
# pustit openvpn = hotovo
 
# 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 ===
+
 
 +
=== Pro správce: root@charon: Vytvoreni+podepsani certifikatu pro VPN-klienta - DEPRECATED !===
  
 
----
 
----
Řádek 99: Řá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.) ===
 
=== Co delat, kdyz je port pro HKFree OpenVPNku ve vasi siti blokovan (skola, prace, atd.) ===
Řádek 107: Řádek 107:
 
'''Podminky''':
 
'''Podminky''':
 
* V siti je povoleno aspon SSHcko, to jest port 22
 
* V siti je povoleno aspon SSHcko, to jest port 22
* Mate SSH ucet na charonu
+
* 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]
 
* Windows useri maji [http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe putty]
  
Řádek 115: Řádek 115:
 
'''Unix/Linux''':
 
'''Unix/Linux''':
  
  ssh -f -g -n -N -L 1515:charon.hkfree.org:2054 charon.hkfree.org
+
  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''':
 
'''Windows''':
  
a) V putty si vytvorite ssh relaci na charon.hkfree.org
+
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).
 
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".
+
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).
 
c) ''Session'' (relaci) si ulozte jinak bude vase nastaveni platne jenom pro jedno spusteni (prihlaseni).
  
d) Kliknete na Open a prihlaste se na charona.
+
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 ...
 
Nyni to bude mit stejny efekt jako linuxovy prikaz vyse uvedeny. Pokracovani je tedy spolecne ...
Řádek 135: Řádek 145:
 
'''Unix/Linux/Windows''':
 
'''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.
+
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.
 
Zbyva posledni vec a to upravit konfig pro tunel.
Řádek 162: Řádek 172:
  
 
A to je vse :)
 
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.
 

Aktuální verze z 11. 11. 2018, 11:08

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:

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.


Klienti - Windows

  1. stahnout a nainstalovat GUI instalator [1] [2]
  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
  3. 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.org lide.hkfree.org
  • Windows useri maji putty



Unix/Linux:

ssh -f -g -n -N -L 1515:vpn.hkfree.org:80 charon.hkfree.org 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 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 :)