FIT VPN
K čemu je VPN FIT?
VPN FIT má toto základní použití:
- zpřístupňuje lokální síť FIT přímo šifrovaným kanálem (důležité zejména
při přístupu přes veřejné nezabezpečené WiFi),
- zpřístupňuje servery Windows (fikw a ajaw, vzdálený souborový přístup
na ně je jinak zakázán z bezpečnostních důvodů na směrovači fakulty),
- zajišťuje IPv6 konektivitu pro uživatele, kteří nemají nativní nebo
spolehlivé tunelované IPv6 spojení.
Pro IPv4 přístup jsou použity privátní adresy z rozsahu 172.27.128.0/21.
Přístupné jsou pouze sítě 147.229.8.0/24 a 147.229.176.0/24.
Pro IPv6 jsou použity veřejné adresy ze subnetu 2001:67c:1220:810::/64
a přístupné jsou všechny globální adresy 2000::/3 (jinými slovy, VPN vám
zpřístupní IPv6 spojení do světa).
Potřebný software:
Opatchovaná
verze OpenVPN 2.2.x (IPv6 payload), instalační balíček pro Windows
je v kapitole What Does Not Work, UPDATE 2011/05/22 HERE. Pro jistotu
je dostupný také zde (pokud bude novější, použijte klidně novější). Pro jiné systémy lze použít připravené balíčky nebo si opatchovat originální verzi OpenVPN a přeložit.
2012-10-12: Beta verze OpenVPN 2.3 má již integrovanou
podporu pro IPv6 payload a zdá se být funkční. Najdete ji zde:
OpenVPN 2.3_beta1 -- released on 2012.09.14.
Pokud nebude fungovat 64 bitová verze, zkuste 32 bitovou.
Konfigurace:
- Nainstalovat OpenVPN s patchem IPv6 payload. Ve Windows 7 je to
trochu složitější, je třeba spustit instalaci a GUI s administrátorskými
právy (pravé tlačítko myši, vlastnosti, spustit jako administrátor).
- Stáhnout certifikát CA VUT ve formátu PEM a uložit do správného adresáře (\Program Files\OpenVPN\config\) pod jménem BUTCA.crt
- Stáhnout konfiguraci klienta a uložit tamtéž.
- V českých Windows přejmenovat rozhraní TAP-Win32 tak, aby neobsahovalo znaky s diakritikou (Ovládací panely -> Síť a Internet -> Centrum síťových připojení -> Změnit nastavení adaptéru), jinak neprojde nastavení sítě příkazem netsh po připojení.
- Ve firewallu Windows (Linux - paketový filtr) je třeba povolit průchod paketů driverem TAP (u AVG9 stačí označit TAP-WIN32 Adapter jako bezpečnou síť). Při počátečním testování doporučujeme raději firewall vypnout, ověřit funkci a pak teprve laborovat s nastavením firewallu. Podrobnější informace najdete na stránkách návodů k OpenVPN (přitom hledejte návody pro TUN, přestože zde u Windows píšeme o driveru TAP).
- Spustit OpenVPN GUI (ve Windows) a zvolit Connect (spustí se minimalizovaný do lišty, je třeba najít ikonku) nebo openvpn --config FIT.ovpn (Linux).
Ve Windows 7 lze OpenVPN GUI pouštět s právy administrátora, lze použít Plánovač úloh (Task Scheduler) - naimportujte úlohu openvpn-gui.xml (verze pro 64 bitová Windows 7, ve 32 bitových je třeba opravit cestu k aplikaci).
- Zadat FIT login a heslo.
- Pokud vše proběhne v pořádku, lze ověřit fungující spojení
výpisem směrovací tabulky, tracert/traceroute kazi.fit.vutbr.cz (musí jít přímo přes 172.27.xx.yy), tracert6/tracert -6/traceroute6 ipv6.google.com nebo
otevřením stránky Webu Fit (vlevo dole by měla být adresa 2001:67c:1220:810::xx:yy).
- Ve Windows 7 nezapoměňte spouštet OpenVPN GUI s právy administrátora, jinak se sice vytvoří spojení, ale nenastaví se směrovací tabulky, takže to nebude fungovat.
FAQ
- Co je VPN (OpenVPN)?
- Viz Open Virtual Private Network
- Funguje OpenVPN přes NAT (Internet přes mobil, atp.)?
- Ano. Nicméně např. u T-Mobile se občas vyskytují problémy při připojování (nepodaří se otevřít TLS kanál, log skončí na řádku TLS: Initial packet), po nějaké době to pak zase funguje bez problémů.
- Proč je v konfiguraci driver TUN, když je ve Windows jen driver TAP?
- OpenVPN ve Windows použije driver TAP (ethernet bridge) v režimu emulace TUN
spojení (jako driver TUN). Emulace vytvoří pro každého klienta subnet /30,
proto je adresa klienta vždy x*4+2, adresa serveru x*4+1
a subnet mask 255.255.255.252. Server běží v režimu point-to-multipoint TUN mode.
- Lze to použít ve Windows XP pro IPv6 konektivitu?
- Ano, stačí mít nainstalovanou podporu IPv6 (v příkazovém
řádku napište:
ipv6 install).
- Nefunguje mě IPv6
- Nainstalovali jste si opatchovanou verzi? Poznáte to podle prvního
řádku v logu, musí obsahovat [IPv6 payload ... ]
- Lze použít VPN FIT pro přístup ke zdrojům omezeným na IPv4 adresy VUT?
- Ano, ale musíte si nastavit proxy cache server na cache6.fit.vutbr.cz:3128.
- Nemůžu se dostat na Sambu (\\kazi, \\eva, \\fikw, \\ajaw), nevidím v okolních počítačích Windows servery FIT
- Zkuste vypnout firewall, pokud to začne fungovat, musíte ve firewallu
povolit přístup SMB klienta (porty 135, 137, 445) pro sítě 147.229.8.0/24 a 147.229.176.0/24 (u AVG9 je přidat jako bezpečné sítě, povolit 'Microsoft SMB File Sharing Client' v Services and controllers a 'MS Printer and File Sharing' v systémových službách pro bezpečné sítě).
- Jak spouštět OpenVPN GUI ve Windows 7 bez otravného UAC?
- UAC (User Access Control) se nedá vypnout pro určitou aplikaci, musíte to tedy vyřešit jako všichni ostatní - naplánovat úlohu. Spusťte taskschd.msc a vytvořte úlohu:
- Obecné: pouze, pokud je uživatel přihlášen; spustit s nejvyšším oprávněním
- Aktivační události: Při přihlášení; Zdržení úlohy: 30s
- Akce: Spustit program; vybrat OpenVPN-gui.exe
- Podmínky: nic není zaškrtnuto
- Nastavení: odškrtnout "Zastavit úlohu, pokud běží déle než"; Pokud je již úloha spuštěna: Zastavit stávající instanci
Po přihlášení máte automaticky spuštěné OpenVPN GUI s právy administrátora, takže bude fungovat správně. Ve Windows XP si tuto anabázi můžete ušetřit, stačí dát OpenVPN-gui.exe do Start->Programy->Po spuštění
Log pro kontrolu
Mon Nov 07 19:43:32 2011 OpenVPN 2.2.0 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] [IPv6 payload 20110522-1 (2.2.0)] built on May 22 2011
Enter Management Password:
Mon Nov 07 19:43:32 2011 MANAGEMENT: TCP Socket listening on 127.0.0.10:25340
Mon Nov 07 19:43:32 2011 Need hold release from management interface, waiting...
Mon Nov 07 19:43:32 2011 MANAGEMENT: Client connected from 127.0.0.10:25340
Mon Nov 07 19:43:32 2011 MANAGEMENT: CMD 'state on'
Mon Nov 07 19:43:32 2011 MANAGEMENT: CMD 'log all on'
Mon Nov 07 19:43:32 2011 MANAGEMENT: CMD 'hold off'
Mon Nov 07 19:43:32 2011 MANAGEMENT: CMD 'hold release'
Mon Nov 07 19:43:37 2011 MANAGEMENT: CMD 'username "Auth" "novak"'
Mon Nov 07 19:43:37 2011 MANAGEMENT: CMD 'password [...]'
Mon Nov 07 19:43:37 2011 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Mon Nov 07 19:43:37 2011 LZO compression initialized
Mon Nov 07 19:43:37 2011 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Mon Nov 07 19:43:37 2011 Socket Buffers: R=[8192->8192] S=[32768->32768]
Mon Nov 07 19:43:37 2011 MANAGEMENT: >STATE:1320691417,RESOLVE,,,
Mon Nov 07 19:43:38 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Mon Nov 07 19:43:38 2011 Local Options hash (VER=V4): '5405f7b0'
Mon Nov 07 19:43:38 2011 Expected Remote Options hash (VER=V4): '69d5be14'
Mon Nov 07 19:43:38 2011 UDPv4 link local: [undef]
Mon Nov 07 19:43:38 2011 UDPv4 link remote: 147.229.9.81:1194
Mon Nov 07 19:43:38 2011 MANAGEMENT: >STATE:1320691418,WAIT,,,
Mon Nov 07 19:43:40 2011 MANAGEMENT: >STATE:1320691420,AUTH,,,
Mon Nov 07 19:43:40 2011 TLS: Initial packet from 147.229.9.81:1194, sid=021856dc 76b7c36a
Mon Nov 07 19:43:40 2011 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Mon Nov 07 19:43:46 2011 VERIFY OK: depth=1, /C=CZ/L=Brno/ST=Czech_Republic/O=Brno_University_of_Technology/OU=Certification_Authority/CN=Brno_University_of_Technology_CA
Mon Nov 07 19:43:46 2011 VERIFY OK: nsCertType=SERVER
Mon Nov 07 19:43:46 2011 VERIFY OK: depth=0, /C=CZ/ST=Czech_Republic/L=Brno/O=Brno_University_of_Technology/OU=Faculty_of_Information_Technology/CN=vpn.fit.vutbr.cz
Mon Nov 07 19:43:46 2011 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Mon Nov 07 19:43:46 2011 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Mon Nov 07 19:43:46 2011 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Mon Nov 07 19:43:46 2011 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Mon Nov 07 19:43:46 2011 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Mon Nov 07 19:43:46 2011 [vpn.fit.vutbr.cz] Peer Connection Initiated with 147.229.9.81:1194
Mon Nov 07 19:43:47 2011 MANAGEMENT: >STATE:1320691427,GET_CONFIG,,,
Mon Nov 07 19:43:48 2011 SENT CONTROL [vpn.fit.vutbr.cz]: 'PUSH_REQUEST' (status=1)
Mon Nov 07 19:43:48 2011 PUSH: Received control message: 'PUSH_REPLY,ifconfig-ipv6 2001:67c:1220:810::1:1 2001:67c:1220:810::1,route-ipv6 2001::/3,route 147.229.8.0 255.255.255.0,route 147.229.176.0 255.255.255.0,dhcp-option NBT 2,dhcp-option WINS 147.229.8.12,tun-ipv6,route 172.27.128.1,topology net30,ping 10,ping-restart 120,ifconfig 172.27.128.10 172.27.128.9'
Mon Nov 07 19:43:48 2011 OPTIONS IMPORT: timers and/or timeouts modified
Mon Nov 07 19:43:48 2011 OPTIONS IMPORT: --ifconfig/up options modified
Mon Nov 07 19:43:48 2011 OPTIONS IMPORT: route options modified
Mon Nov 07 19:43:48 2011 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Mon Nov 07 19:43:48 2011 ROUTE default_gateway=10.81.192.100
Mon Nov 07 19:43:48 2011 ROUTE6: default_gateway=UNDEF
Mon Nov 07 19:43:48 2011 do_ifconfig, tt->ipv6=1, tt->did_ifconfig_ipv6_setup=1
Mon Nov 07 19:43:48 2011 MANAGEMENT: >STATE:1320691428,ASSIGN_IP,,172.27.128.10,
Mon Nov 07 19:43:49 2011 NETSH: C:\WINDOWS\system32\netsh.exe interface ipv6 set address Local Area Connection 3 2001:67c:1220:810::1:1 store=active
Ok.
Mon Nov 07 19:43:51 2011 add_route_ipv6(2001:67c:1220:810::/64 -> 2001:67c:1220:810::1:1 metric 2290448) dev Local Area Connection 3
Mon Nov 07 19:43:51 2011 C:\WINDOWS\system32\netsh.exe interface ipv6 add route 2001:67c:1220:810::/64 Local Area Connection 3 fe80::8 store=active
Mon Nov 07 19:43:51 2011 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Ok.
Mon Nov 07 19:43:52 2011 open_tun, tt->ipv6=1
Mon Nov 07 19:43:52 2011 TAP-WIN32 device [Local Area Connection 3] opened: \\.\Global\{29093224-85F7-4DF3-B8C1-04A1DEB5A04E}.tap
Mon Nov 07 19:43:52 2011 TAP-Win32 Driver Version 9.8
Mon Nov 07 19:43:52 2011 TAP-Win32 MTU=1500
Mon Nov 07 19:43:52 2011 Notified TAP-Win32 driver to set a DHCP IP/netmask of 172.27.128.10/255.255.255.252 on interface {29093224-85F7-4DF3-B8C1-04A1DEB5A04E} [DHCP-serv: 172.27.128.9, lease-time: 31536000]
Mon Nov 07 19:43:52 2011 Successful ARP Flush on interface [196612] {29093224-85F7-4DF3-B8C1-04A1DEB5A04E}
Mon Nov 07 19:43:55 2011 TEST ROUTES: 3/3 succeeded len=3 ret=1 a=0 u/d=up
Mon Nov 07 19:43:55 2011 MANAGEMENT: >STATE:1320691435,ADD_ROUTES,,,
Mon Nov 07 19:43:55 2011 C:\WINDOWS\system32\route.exe ADD 147.229.8.0 MASK 255.255.255.0 172.27.128.9
Mon Nov 07 19:43:55 2011 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Mon Nov 07 19:43:55 2011 C:\WINDOWS\system32\route.exe ADD 147.229.176.0 MASK 255.255.255.0 172.27.128.9
Mon Nov 07 19:43:55 2011 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Mon Nov 07 19:43:55 2011 C:\WINDOWS\system32\route.exe ADD 172.27.128.1 MASK 255.255.255.255 172.27.128.9
Mon Nov 07 19:43:55 2011 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Mon Nov 07 19:43:55 2011 add_route_ipv6(2000::/3 -> 2001:67c:1220:810::1 metric 0) dev Local Area Connection 3
Mon Nov 07 19:43:55 2011 C:\WINDOWS\system32\netsh.exe interface ipv6 add route 2000::/3 Local Area Connection 3 fe80::8 store=active
Mon Nov 07 19:43:55 2011 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Ok.
Mon Nov 07 19:43:56 2011 Initialization Sequence Completed
Mon Nov 07 19:43:56 2011 MANAGEMENT: >STATE:1320691436,CONNECTED,SUCCESS,172.27.128.10,147.229.9.81
tracert kazi
Tracing route to kazi [147.229.8.12]
over a maximum of 30 hops:
1 228 ms 230 ms 205 ms 172.27.128.1
2 257 ms 236 ms 242 ms bda-boz.fit.vutbr.cz [147.229.9.1]
3 176 ms 199 ms 349 ms kazi.fit.vutbr.cz [147.229.8.12]
tracert6 ipv6.google.com
Tracing route to ipv6.l.google.com [2a00:1450:8007::69]
from 2001:67c:1220:810::1:1 over a maximum of 30 hops:
1 * 88 ms 88 ms vpn-gw6.fit.vutbr.cz [2001:67c:1220:810::1]
2 77 ms 86 ms 86 ms bda-boz6.fit.vutbr.cz [2001:67c:1220:809::1]
3 75 ms 74 ms 73 ms hp-meo.net.vutbr.cz [2001:67c:1220:f521::aff:701]
4 82 ms 81 ms 90 ms hp-ant.net.vutbr.cz [2001:67c:1220:f559::aff:201]
5 79 ms 78 ms 77 ms hp-kou.net.vutbr.cz [2001:67c:1220:f529::aff:601]
6 76 ms 74 ms 73 ms gw-kou6.net.vutbr.cz [2001:67c:1220:f534::aff:605]
7 81 ms 80 ms 79 ms 2001:718:0:c003::1
8 97 ms 97 ms 97 ms pr61.ams04.net.google.com [2001:7f8:1::a501:5169:1]
9 97 ms 97 ms 97 ms pr61.ams04.net.google.com [2001:7f8:1::a501:5169:1]
10 96 ms * 118 ms 2001:4860::1:0:8
11 97 ms 96 ms 95 ms 2001:4860::8:0:2db0
12 94 ms 93 ms 93 ms 2001:4860::8:0:3016
13 102 ms 101 ms 100 ms 2001:4860::2:0:48d
14 109 ms 98 ms 97 ms 2001:4860:0:1::cb
15 96 ms 95 ms 94 ms fx-in-x69.1e100.net [2a00:1450:8007::69]
|