OpenWRT: OpenVPN routeringsproblemen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 18:14
Ik ben thuis bezig met security hardening en één van de dingen waar ik mee bezig ben is het creëren van de mogelijkheid dat mijn telefoon, wanneer ik niet thuis ben, met mijn thuisnetwerk verbinding maakt. Een VPN dus.

Thuis heb ik een router die direct achter mijn kabelmodem zit. De router zit dus rechtstreeks op internet. Op de router draait de nieuwste versie van OpenWRT. Op de router is ook het OpenVPN package geïnstalleerd. Bijhorende certificaten etc. zijn gemaakt.

Op de telefoon (Android) gebruik ik OpenVPN Connect. Ik heb een .ovpn bestandje gemaakt met daarin de CA public key, het certificaat zelf en de private key. Die ingeladen op de mobiel en resultaat is dat ik verbinding kan maken. Kortom, er komt een connectie tot stand.

Maar dan... als de connectie er eenmaal is, kan ik niets bereiken. Ik heb ook geen internet meer en de router kan ik ook niet bereiken.

Ik heb al verschillende dingen geprobeerd, zoals forwarding rules en redirect-gateway aanzetten. Ook geprobeerd te pingen, maar dat lukt eveneens niet. Ik kom er daarom niet meer helemaal uit en hoop dat iemand wat hulp kan bieden.

Ik plaats hier nog wat relevante bestanden die misschien nodig zijn om het probleem te begrijpen. Leek me wat handiger dan screenshots ;). Iedereen alvast heel erg bedankt voor het meedenken!

/etc/config/openvpn:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
config openvpn 'test'
        option enabled '1'
        option dev 'tun'
        option proto 'udp'
        option log '/tmp/openvpn.log'
        option verb '3'
        option ca '/etc/openvpn/ca.crt'
        option cert '/etc/openvpn/test.crt'
        option key '/etc/openvpn/test.key'
        option server '10.8.0.0 255.255.255.0'
        option port '1194'
        option keepalive '10 120'
        option dh '/etc/openvpn/dh1024.pem'

push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"


/etc/config/firewall (niet gehele bestand):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
config rule
    option target 'ACCEPT'
    option _name 'VPN'
    option src 'wan'
    option proto 'all'
    option dest_ip '127.0.0.1'
    option family 'ipv4'

config rule
    option name 'Allow-OpenVPN-Inbound'
    option target 'ACCEPT'
    option src '*'
    option proto 'udp'
    option dest_port '1194'

config zone
    option name 'vpn'
    option input 'ACCEPT'
    option forward 'ACCEPT'
    option output 'ACCEPT'
    option network 'vpn0'


/etc/config/network (niet gehele bestand):
code:
1
2
3
config interface 'vpn0'
    option ifname 'tun0'
    option proto 'none'


/etc/firewall.user:
code:
1
2
3
4
iptables -I INPUT -i tun+ -j ACCEPT 
iptables -I FORWARD -i tun+ -j ACCEPT 
iptables -I OUTPUT -o tun+ -j ACCEPT 
iptables -I FORWARD -o tun+ -j ACCEPT


[edit]
.ovpn file:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#Configuration
dev tun
tls-client
remote 213.93.***.*** 1194
proto udp

redirect-gateway
script-security 2

resolv-retry infinite
verb 3

pull

reneg-sec 3600

[ Voor 4% gewijzigd door Dennis op 15-12-2014 13:05 ]


Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 18:14
Het heeft me niet losgelaten en 105 open tabbladen in Firefox verder heb ik 't werkend :9.

Allereerst heb ik in de firewall configuratie masquerading aangezet voor de zone 'vpn'. Ook heb ik toegestaan om verkeer te routeren van vpn naar wan en lan en vice versa. Toch betrekkelijk simpel, hierna was het mogelijk om het internetverkeer om te leiden en kon ik internetten via mijn thuisrouter als ik op mijn telefoon met 3G was verbonden (en de tunnel dus aan stond).

Ik kon ook keurig de interne IP-adressen pingen, ook van mijn lan. Alleen DNS kreeg ik maar niet werkend. Uiteindelijk gekeken en ik kwam erachter dat de DNS-adressen in mijn configuratie niet werden meegegeven aan de client. En dus bleef Android de 3G-DNS-adressen (T-Mobile) gebruiken. Internetten lukt wel, maar ik kon mijn lokale computers niet resolven.

Daarna heb ik één voor één de opties uitgesloten en uiteindelijk bleek dat ik het woordje 'list' vergeten was in mijn config file. Dat opgelost en nu werkt alles zoals het moet :*).

Voor de volledigheid hier nog mijn /etc/config/openvpn:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
config openvpn 'test'
    option enabled '1'
    option dev 'tun'
    option proto 'udp'
    option log '/tmp/openvpn.log'
    option verb '3'
    option ca '/etc/openvpn/ca.crt'
    option cert '/etc/openvpn/test.crt'
    option key '/etc/openvpn/test.key'
    option server '10.8.0.0 255.255.255.0'
    option port '1194'
    option keepalive '10 120'
    option dh '/etc/openvpn/dh1024.pem'
    list push "dhcp-option DNS 172.16.1.200"
    list push "dhcp-option DNS 8.8.8.8"