Hallo Tweakers,
Ik ben nieuw met openwrt en heb er de afgelopen week fulltime mee gepuzzeld. Einddoel is om een MultipathTCP-verbinding op te zetten tussen twee routers (TP-Link WDR3600, ar71xx) en daarover een VPN tunnel te plaatsen.
Om dit te bereiken heb ik eerst dit wiki-artikel gevolgd. Ik heb een virtuele machine geïnstalleerd, de 'build-guide' gevolgd en zo mijn eigen versie van openwrt gecompileerd inclusief mptcp support in de kernel. Ik merkte na installatie op de routers op dat de kernel versie 3.10.49 is, wat me doet geloven dat het 'Barrier Breaker' is, maar ik word als ik inlog via ssh begroet met een welkomstboodschap waarin 'Chaos Control' wordt genoemd...
Ik heb de opkg source-url's geupdate naar de Barrier Breaker bronbestanden (was voorheen /snapshots/trunk) omdat de kernel-versie van de packages anders verschilde van de versie van mijn kernel.
Vervolgens heb ik kmod-tun geïnstalleerd, ik kreeg nog steeds een dependency error omdat de kernel-versie zou verschillen, maar als dat zo is is dat alleen in het gedeelte na de streep. Het nummer komt nml overeen. Ik las ergens dat je deze melding altijd krijgt als je een eigen gecompileerde versie van openwrt gebruikt, dus ik heb de melding met -force-depends genegeerd.
Toen kmod-tun op die manier geïnstalleerd was kon ik openvpn-openssl installeren. Met behulp van bovengenoemde wiki en de 'openvpn for beginners' wiki heb ik uiteindelijk een correct geconfigureerde openvpn server draaiend gekregen op een van beide routers. Ook op de client-router heb ik een m.i. correct geconfigureerde client gebouwd.
Helaas: Probleem: als ik de server draai en dan vervolgens ook op de client openvpn opstart, crashen beide routers (zowel server als client) en komen ze in een soort van half-werkende staat terecht. WiFi valt bijvoorbeeld uit, of als het wel aanblijft is er niet mee te verbinden. Als ik de routers dan aan en uit zet werken ze weer prima. (OpenVPN is dan standaard nog niet ingeschakeld).
Ik heb de output van OpenVPN gelogd en op een permanente locatie opgeslagen zodat ik ze na reboot kan inzien, maar ik kan niets vreemds ontdekken in de logs. Ziet er m.i. prima uit. Ik las ergens dat dit soort OpenVPN-crashes (zodra de eerste pakketten over de tunnel verzonden worden) vaak voorkomen door incompatibiliteiten met kernel moduls (zoals kmod-tun). Ik zoek het zelf dus vooral in die hoek, maar zou dan echt niet weten welke versie van kmod-tun ik wel nodig heb.
Als iemand me verder zou kunnen helpen met bovenstaande zou dat fantastisch zijn. Ik ben hiermee bezig voor mijn bachelor-eindopdracht en de deadline komt steeds dichterbij...
Alvast bedankt,
Remco
Bijlagen::
OpenVPN Config Server:
OpenVPN Log Server:
OpenVPN Config Client:
OpenVPN Log Client:
Ik ben nieuw met openwrt en heb er de afgelopen week fulltime mee gepuzzeld. Einddoel is om een MultipathTCP-verbinding op te zetten tussen twee routers (TP-Link WDR3600, ar71xx) en daarover een VPN tunnel te plaatsen.
Om dit te bereiken heb ik eerst dit wiki-artikel gevolgd. Ik heb een virtuele machine geïnstalleerd, de 'build-guide' gevolgd en zo mijn eigen versie van openwrt gecompileerd inclusief mptcp support in de kernel. Ik merkte na installatie op de routers op dat de kernel versie 3.10.49 is, wat me doet geloven dat het 'Barrier Breaker' is, maar ik word als ik inlog via ssh begroet met een welkomstboodschap waarin 'Chaos Control' wordt genoemd...
Ik heb de opkg source-url's geupdate naar de Barrier Breaker bronbestanden (was voorheen /snapshots/trunk) omdat de kernel-versie van de packages anders verschilde van de versie van mijn kernel.
Vervolgens heb ik kmod-tun geïnstalleerd, ik kreeg nog steeds een dependency error omdat de kernel-versie zou verschillen, maar als dat zo is is dat alleen in het gedeelte na de streep. Het nummer komt nml overeen. Ik las ergens dat je deze melding altijd krijgt als je een eigen gecompileerde versie van openwrt gebruikt, dus ik heb de melding met -force-depends genegeerd.
Toen kmod-tun op die manier geïnstalleerd was kon ik openvpn-openssl installeren. Met behulp van bovengenoemde wiki en de 'openvpn for beginners' wiki heb ik uiteindelijk een correct geconfigureerde openvpn server draaiend gekregen op een van beide routers. Ook op de client-router heb ik een m.i. correct geconfigureerde client gebouwd.
Helaas: Probleem: als ik de server draai en dan vervolgens ook op de client openvpn opstart, crashen beide routers (zowel server als client) en komen ze in een soort van half-werkende staat terecht. WiFi valt bijvoorbeeld uit, of als het wel aanblijft is er niet mee te verbinden. Als ik de routers dan aan en uit zet werken ze weer prima. (OpenVPN is dan standaard nog niet ingeschakeld).
Ik heb de output van OpenVPN gelogd en op een permanente locatie opgeslagen zodat ik ze na reboot kan inzien, maar ik kan niets vreemds ontdekken in de logs. Ziet er m.i. prima uit. Ik las ergens dat dit soort OpenVPN-crashes (zodra de eerste pakketten over de tunnel verzonden worden) vaak voorkomen door incompatibiliteiten met kernel moduls (zoals kmod-tun). Ik zoek het zelf dus vooral in die hoek, maar zou dan echt niet weten welke versie van kmod-tun ik wel nodig heb.
Als iemand me verder zou kunnen helpen met bovenstaande zou dat fantastisch zijn. Ik ben hiermee bezig voor mijn bachelor-eindopdracht en de deadline komt steeds dichterbij...
Alvast bedankt,
Remco
Bijlagen::
OpenVPN Config Server:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| config openvpn 'mptcp'
option enabled '1'
option dev 'tun'
option port '1194'
option proto 'tcp'
option log '/etc/openvpn/openvpn.log'
option server '10.9.8.0 255.255.255.0'
option keepalive '10 120'
option verb '3'
option persist_key '1'
option persist_tun '1'
option comp_lzo 'yes'
option cipher 'none'
option ca '/etc/openvpn/ca.crt'
option cert '/etc/openvpn/my-server.crt'
option key '/etc/openvpn/my-server.key'
option dh '/etc/openvpn/dh2048.pem'
option up '/etc/openvpn/up.sh' #currently does nothing: echo up
option script_security '2'
option push 'redirect-gateway def1 local' |
OpenVPN Log Server:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| Tue May 26 13:54:51 2015 OpenVPN 2.3.6 mips-openwrt-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Jan 6 2015 Tue May 26 13:54:51 2015 library versions: OpenSSL 1.0.1i 6 Aug 2014, LZO 2.08 Tue May 26 13:54:51 2015 NOTE: your local LAN uses the extremely common subnet address 192.168.0.x or 192.168.1.x. Be aware that this might create routing conflicts if you connect to the VPN server from public locations such as internet cafes that use the same subnet. Tue May 26 13:54:51 2015 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts Tue May 26 13:54:51 2015 Diffie-Hellman initialized with 2048 bit key Tue May 26 13:54:51 2015 ******* WARNING *******: null cipher specified, no encryption will be used Tue May 26 13:54:51 2015 Socket Buffers: R=[87380->131072] S=[16384->131072] Tue May 26 13:54:52 2015 TUN/TAP device tun0 opened Tue May 26 13:54:52 2015 TUN/TAP TX queue length set to 100 Tue May 26 13:54:52 2015 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0 Tue May 26 13:54:52 2015 /sbin/ifconfig tun0 10.9.8.1 pointopoint 10.9.8.2 mtu 1500 Tue May 26 13:54:52 2015 /etc/openvpn/up.sh tun0 1500 1528 10.9.8.1 10.9.8.2 init up Tue May 26 13:54:52 2015 /sbin/route add -net 10.9.8.0 netmask 255.255.255.0 gw 10.9.8.2 Tue May 26 13:54:52 2015 Listening for incoming TCP connection on [undef] Tue May 26 13:54:52 2015 TCPv4_SERVER link local (bound): [undef] Tue May 26 13:54:52 2015 TCPv4_SERVER link remote: [undef] Tue May 26 13:54:52 2015 MULTI: multi_init called, r=256 v=256 Tue May 26 13:54:52 2015 IFCONFIG POOL: base=10.9.8.4 size=62, ipv6=0 Tue May 26 13:54:52 2015 MULTI: TCP INIT maxclients=1024 maxevents=1028 Tue May 26 13:54:52 2015 Initialization Sequence Completed Tue May 26 13:55:51 2015 TCP connection established with [AF_INET]192.168.2.132:60320 Tue May 26 13:55:52 2015 192.168.2.132:60320 TLS: Initial packet from [AF_INET]192.168.2.132:60320, sid=b0dafe7a faa64e73 Tue May 26 13:55:54 2015 192.168.2.132:60320 VERIFY OK: depth=1, C=NL, ST=NL, L=Epe, O=Remco, OU=MyOrganizationalUnit, CN=Fort-Funston CA, name=RemcoRSA, emailAddress=dummy@mail.com Tue May 26 13:55:54 2015 192.168.2.132:60320 VERIFY OK: depth=0, C=US, ST=CA, L=SanFrancisco, O=Fort-Funston, OU=MyOrganizationalUnit, CN=my-client, name=EasyRSA, emailAddress=me@myhost.mydomain Tue May 26 13:55:55 2015 192.168.2.132:60320 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Tue May 26 13:55:55 2015 192.168.2.132:60320 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Tue May 26 13:55:55 2015 192.168.2.132:60320 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA Tue May 26 13:55:55 2015 192.168.2.132:60320 [my-client] Peer Connection Initiated with [AF_INET]192.168.2.132:60320 Tue May 26 13:55:55 2015 my-client/192.168.2.132:60320 MULTI_sva: pool returned IPv4=10.9.8.6, IPv6=(Not enabled) Tue May 26 13:55:55 2015 my-client/192.168.2.132:60320 MULTI: Learn: 10.9.8.6 -> my-client/192.168.2.132:60320 Tue May 26 13:55:55 2015 my-client/192.168.2.132:60320 MULTI: primary virtual IP for my-client/192.168.2.132:60320: 10.9.8.6 Tue May 26 13:55:57 2015 my-client/192.168.2.132:60320 PUSH: Received control message: 'PUSH_REQUEST' Tue May 26 13:55:57 2015 my-client/192.168.2.132:60320 send_push_reply(): safe_cap=940 Tue May 26 13:55:57 2015 my-client/192.168.2.132:60320 SENT CONTROL [my-client]: 'PUSH_REPLY,redirect-gateway def1 local,route 10.9.8.1,topology net30,ping 10,ping-restart 120,ifconfig 10.9.8.6 10.9.8.5' (status=1) |
OpenVPN Config Client:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| config openvpn 'mptcp'
option enabled '1'
option client '1'
option log '/etc/openvpn/openvpn.log'
option dev 'tun'
option proto 'tcp'
option remote '192.168.2.1 1194'
option resolv_retry 'infinite'
option persist_key '1'
option persist_tun '1'
option cipher 'none'
option verb '3'
option comp_lzo 'yes'
option script_security '2'
option ca '/etc/openvpn/ca.crt'
option cert '/etc/openvpn/my-client.crt'
option key '/etc/openvpn/my-client.key' |
OpenVPN Log Client:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| Tue May 26 13:44:40 2015 OpenVPN 2.3.6 mips-openwrt-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Jan 6 2015 Tue May 26 13:44:40 2015 library versions: OpenSSL 1.0.1i 6 Aug 2014, LZO 2.08 Tue May 26 13:44:40 2015 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info. Tue May 26 13:44:40 2015 WARNING: file '/etc/openvpn/my-client.key' is group or others accessible Tue May 26 13:44:40 2015 ******* WARNING *******: null cipher specified, no encryption will be used Tue May 26 13:44:40 2015 Socket Buffers: R=[87380->131072] S=[16384->131072] Tue May 26 13:44:40 2015 Attempting to establish TCP connection with [AF_INET]192.168.2.1:1194 [nonblock] Tue May 26 13:44:41 2015 TCP connection established with [AF_INET]192.168.2.1:1194 Tue May 26 13:44:41 2015 TCPv4_CLIENT link local: [undef] Tue May 26 13:44:41 2015 TCPv4_CLIENT link remote: [AF_INET]192.168.2.1:1194 Tue May 26 13:44:41 2015 TLS: Initial packet from [AF_INET]192.168.2.1:1194, sid=dd6c8309 f99d3c36 Tue May 26 13:44:42 2015 VERIFY OK: depth=1, C=NL, ST=NL, L=Epe, O=Remco, OU=MyOrganizationalUnit, CN=Fort-Funston CA, name=RemcoRSA, emailAddress=dummy@mail.com Tue May 26 13:44:42 2015 VERIFY OK: depth=0, C=US, ST=CA, L=SanFrancisco, O=Fort-Funston, OU=MyOrganizationalUnit, CN=my-server, name=EasyRSA, emailAddress=me@myhost.mydomain Tue May 26 13:44:44 2015 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Tue May 26 13:44:44 2015 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Tue May 26 13:44:44 2015 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA Tue May 26 13:44:44 2015 [my-server] Peer Connection Initiated with [AF_INET]192.168.2.1:1194 Tue May 26 13:44:46 2015 SENT CONTROL [my-server]: 'PUSH_REQUEST' (status=1) Tue May 26 13:44:46 2015 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1 local,route 10.9.8.1,topology net30,ping 10,ping-restart 120,ifconfig 10.9.8.6 10.9.8.5' Tue May 26 13:44:46 2015 OPTIONS IMPORT: timers and/or timeouts modified Tue May 26 13:44:46 2015 OPTIONS IMPORT: --ifconfig/up options modified Tue May 26 13:44:46 2015 OPTIONS IMPORT: route options modified Tue May 26 13:44:46 2015 TUN/TAP device tun0 opened Tue May 26 13:44:46 2015 TUN/TAP TX queue length set to 100 Tue May 26 13:44:46 2015 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0 Tue May 26 13:44:46 2015 /sbin/ifconfig tun0 10.9.8.6 pointopoint 10.9.8.5 mtu 1500 Tue May 26 13:44:46 2015 /sbin/route add -net 0.0.0.0 netmask 128.0.0.0 gw 10.9.8.5 Tue May 26 13:44:46 2015 /sbin/route add -net 128.0.0.0 netmask 128.0.0.0 gw 10.9.8.5 Tue May 26 13:44:46 2015 /sbin/route add -net 10.9.8.1 netmask 255.255.255.255 gw 10.9.8.5 Tue May 26 13:44:46 2015 Initialization Sequence Completed |
[ Voor 100% gewijzigd door Torrentus op 26-05-2015 17:17 ]