OpenVPN

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání

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

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

  1. stahnout a nainstalovat GUI instalator [1]
  2. 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
  3. 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.