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 70 mezilehlých verzí od 25 dalších uživatelů.)
Řádek 1: Řádek 1:
=== Linux ===
+
=== Návod pro připojení do HKfree přes OpenVPN zvenku ===
==== Návod pro připojení do HKfree přes OpenVPN zvenku ====
 
[[http://openvpn.net/ http://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 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.
+
* https://openvpn.net/
  
Jak přijít k certifikátu?
+
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.
* 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
 
  
==== 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.conf
+
  -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 local.conf (viz navod pro klienty)
+
  -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>local.conf</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.
  
==== 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.conf, s tímto obsahem:
 
 
  # 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 254
+
  '''port 1515          # nas lokalni port'''
  remote 212.71.131.229
+
  '''remote localhost  # lokalni host - 127.0.0.1'''
 
  comp-lzo
 
  comp-lzo
 
  float
 
  float
Řádek 68: Řádek 170:
 
  pull
 
  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.
 
  
=== Klienti - Windows ===
+
A to je vse :)
* GUI instalator [[http://openvpn.se/ http://openvpn.se/]]
 

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 :)