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. Vygenerovat si obsah client.key a client.crt na https://vpn.hkfree.org/ a stahnout charonvpn.crt z https://vpn.hkfree.org/charonvpn.crt
Do souboru client.key vlozit vygenerovany klic ve formatu
-----BEGIN DSA PRIVATE KEY----- MIIDPQIBAAKCAQEAgFuKGkqBHHsIgTyhdSpN0cmD/icfSWIEN7Kj33ee/eQG54P/ zus85+1oM4vrDkuork6QFP3LZ/wh4Sa4N/86EE2+angNYz9+pePnMFVPbibyopuh TaOGeTLhl3avgv3orGMgp/6uh4wrLid3e+UyCGbFBtLmFhVrmXO0xSma60RbWXwi xNeHiy4vir+pTaNxrbb8LfW4uSw5l1hXC78AHjzUbAgSk2q35SJN3Vmndac6HA9f G6uXZ6mcJ8c2MzLArmw5XQJMWawZJ6TVxaCwrFyHw2tscfAjl4MKU+PU3Qs/+XCq +F82XW3u+mSPJ4wurcnrxVk7Q+wG2bNqqJfTZQIVALFdTkSHo/5+dcNk+ZK7641K Sr77AoIBAEW68YJOrVwvUwUeZ+w19dz+LJlC+jNTUmwSpaM4wtlp/PN7XrXn6Azi i8oDOt0XOOySaFiHrNxL7m5mw1wsLDiyl5bHXfKvHuKzzuGX7SkAr31NEyuA3T0g ee7K6+jP89sxUMDfr9lvdUJCWEw4jEmBRU7Z9fAdOqrD3hONcolEpWfEvVyxBvPC lQlodh2W6w8h/2C6rg/TlfoVMPNrBIHXAYUN9SPuDluVrFnnI88nNoBeBns1Momj SZh1ufMJWOxbmb+QQL63ce5c/EeafvADyoQ2UwhbTeCcXssNHd+7YvVNqyp7XWdf VJUfA6cRoLm9dwIqXkHa2AiZkKmtT2ECggEAegOinphHhxH66yus/Fr3sG1Wy6g/ 4WmADddDQvGIDjpxruxr49pESCPfLbcPX3X9wbpZGEfYOuotAk6/HoTyj8+CiEZu WlTE6olMF1X8UmuXCdV4dx01aErx07qLoQnZ9Up3mKRnecR0A0zq60CZCvqRvohe ruhWCrBnVCH9ttq9KhhV4JVcswp8EUx7QO4QPHF2B3YP0DYG4TWxDb+1BRRtfNLo +/qkT3MrmLV41tpGAInu00I8BeTy6mqi6xiTnNf4MeQA0Zt8wh3qj3gH+DIaU/eb qW11XxYeWpfIYNYi5hPH9+qHM5faaVytjX0mGsY5MNC+yi/kluoXqjPruwIULIO0 5KsXBrKoWk7BqzlKr2dnrw4= -----END DSA PRIVATE KEY-----
A do souboru client.crt vlozit vygenerovany podepsany certifikat ve formatu
-----BEGIN CERTIFICATE----- MIIG4DCCBcigAwIBAgIBYTANBgkqhkiG9w0BAQUFADCBkDELMAkGA1UEBhMCQ1ox FzAVBgNVBAgUDkN6ZWNoX1JlcHVibGljMRcwFQYDVQQHEw5IcmFkZWMgS3JhbG92 ZTETMBEGA1UEChMKSEtmcmVlLm9yZzEaMBgGA1UEAxMRY2hhcm9uLmhrZnJlZS5v cmcxHjAcBgkqhkiG9w0BCQEWD2luZm9AaGtmcmVlLm9yZzAeFw0wNzA5MjQxNzU3 MTNaFw0xNzA5MjExNzU3MTNaMIGzMQswCQYDVQQGEwJDWjEMMAoGA1UECBMDLS0t MRcwFQYDVQQHEw5IcmFkZWMgS3JhbG92ZTEPMA0GA1UEChMGSEtmcmVlMQwwCgYD VQQLEwNWUE4xFzAVBgkqhkiG9w0BCQEWCGFob2phaG9qMQ4wDAYDVQQDEwVuZWtk bzE1MDMGA1UEAxQsUkVRLUlQIDE0Ny4yNTEuNTUuOTMgW2NvbXA1NS05My52cG4u bXVuaS5jel0wggM6MIICLQYHKoZIzjgEATCCAiACggEBAIBbihpKgRx7CIE8oXUq TdHJg/4nH0liBDeyo993nv3kBueD/87rPOftaDOL6w5LqBpOkBT9y2f24eEmuDf/ OhBNvmp4DWM/fqXj5zBVT24m8qKboU2jhnky4Zd2r4L96HRjIKf+roeBKy4nd3vl MghmxQbS5hYVa5lztMUpmutEW1l8IsTXh4suL4q/qU2jcXm2/C31uLkv+ZdYVwu/ AB481GwIEpNqt+UiTd1Zp3WnOhwPXxurl2epnCfHNjMywLJsOV0CTFmjWSek1cWg sKxch8NrbHHwI5eDClPj1N0LP/lwqvhfNl1t7vpkjyeMLhHJ68VZO0PixtmzaqiX 02UCFQCxXU5Eh6P+fnXDZPmSu+uNSkq++wKCAQBFuvGCTllcL1MFHmftdfXc/iyZ QvozU1JsEqWjOMLZafzze1615+gM4ovKAzrdFzjskmhYh0DcS+5uZsNQbCw4speW x13yrx7is87hl+0pAK99TRMrgN09IHnuyuvoz/PbMVDA38fZb3VCQlhJOIxJgUVO 2fXwHTqqw94TjXKJRKVnxL1csQbzwpUJaHYdlusPIf9guqIP05X6FTDzawSB1wGF DfUj7g5blaxZ5yPPJzaAXgZ7NTKJo0mYdbnzCVjsW5m/kEC+t3HuXPxGmn7wA8qE NlMIW03gnF7LDR3fu2L1Tasqe11nX1SVHwOnEaC5vXcCKl5B2tgImZCprU9hA4IB BQACggEAegOinphHhxH66yus/Fr3sG1Wy6g/4WmADddDQvGIDjpxruxr49pESCPf LbcPX3X9wbpZGEfYOuotAk6/HoTyj8+CiEZuWlTE6olMF1X8UmuXCdV4dx01aEGx 07qLoQnZ9Up3mKRnecR0A0zq60CZCvqRvoheruhWCrBnVCH9ttq9KhhV4JVcswp8 EUx7QO4QPHF2B3YP0DYG4TWxDb+1BRRtfNLo+/qkT3MrmLV41tpGAInu00I8BeTy 6mqi6xiTnNf4MeQA0Zt8wh3qj3gH+DIaU/ebqW11XxYeWpfIYNYi5hPH9+qHM5Va aVytjX0mGsY5MNC+yi/kluoXqjPru6OCAQYwggECMAwGA1UdEwEB/wQCMAAwCwYD VR0PBAQDAgeAMB0GA1UdDgQWBBQGGABml9ir6bPxSzOGGPUc6wWFVzCBxQYDVR0j BIG9MIG6gBR+20H0R/umyokdaNFq3GUD3Vg28aGBlqSBkzCBkDELMAkGA1UEBhMC Q1oxFzAVBgNVBAgUDkN6ZWNoX1JlcHVibGljMRcwFQYDVQQHEw5IcmFkZWMgS3Jh bG92ZTETMBEGA1UEChMKSEtmcmVlLm9yZzEaMBgGA1UEAxMRY2hhcm9uLmhrZnJl ZS5vcmcxHjAcBgkqhkiG9w0BCQEWD2luZm9AaGtmcmVlLm9yZ4IJAJt/FpCNHJZK MA0GCSqGSIb3DQEBBQUAA4IBAQAOH9sugrFVdE2wa0ZNje2VUoTOPOxdOzi4h2wP 5BojdkwpPwc80XnVdcEkSfBnp4D2D5XdKq5KJs9tZQCDsmEvOpSKZF5EEoCl7X6X tPwSVNHQ23SfcOfyHzvO01uihH5EdAEk19An8mZdl89ojAr+HpI90c3TOqWa++JC x7FxK4MRcP/Nu5q2baQRvPaLqA8zqzRiPYKkTE9MbfGv+09nDsMnvPkjpXrD0IdA prkUa2adXlzw4hlFKMPHN3swl9w78GoisWgilUiHM9n8L2Rxu88PJ7UDiwoshDke 4DtNaVQHkE69AUjzjoKBIJQP3DqOu5ilJ1PfylPNYN1pnr6l -----END CERTIFICATE-----
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 cert client.crt key client.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 si vytvorili na https://vpn.hkfree.org (viz predchozi sekce)- 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.