Forum: PC Hard- und Software Problem mit Firewall für VPN auf OpenWRT


von Robert K. (mr_insanity)


Lesenswert?

Hallo zusammen,

ich habe mir nach dieser Anleitung VPN mit Strongswan auf meinem Netgear 
Router eingerichtet.
https://openwrt.org/docs/guide-user/services/vpn/ipsec/strongswan/roadwarrior

Die VPN-Verbindung mit Zertifikaten und so weiter funktioniert auch 
soweit. Allerdings komme ich bei bestehender VPN-Verbindung nur auf das 
Webinterface des Routers. Andere Geräte im Netzwerk sind nicht 
erreichbar. Laut der Anleitung sollte das aber gehen.

Auf dem Router läuft OpenWrt Chaos Calmer 15.05.
Welche Infos werden noch benötigt?

Vielen Dank für eure Hilfe.

Viele Grüße,
Robert

von ein G.a.s.t., wer sonst ;-) (Gast)


Lesenswert?

Robert K. schrieb:
> Hallo zusammen,
>
> ich habe mir nach dieser Anleitung VPN mit Strongswan auf meinem Netgear
> Router eingerichtet.
> https://openwrt.org/docs/guide-user/services/vpn/ipsec/strongswan/roadwarrior
>
> Die VPN-Verbindung mit Zertifikaten und so weiter funktioniert auch
> soweit. Allerdings komme ich bei bestehender VPN-Verbindung nur auf das
> Webinterface des Routers. Andere Geräte im Netzwerk sind nicht
> erreichbar. Laut der Anleitung sollte das aber gehen.
Ja, aber nur wenn die Firewall weiß, dass sie Pakete ins LAN durchlassen 
soll. Hast Du der VPN-Verbindung eine eigene Zone bzw. eine 
Forwarding-rule ins LAN in »/etc/config/firewall« spendiert?

von Robert K. (mr_insanity)


Lesenswert?

ein G.a.s.t., wer sonst ;-) schrieb:
> Ja, aber nur wenn die Firewall weiß, dass sie Pakete ins LAN durchlassen
> soll. Hast Du der VPN-Verbindung eine eigene Zone bzw. eine
> Forwarding-rule ins LAN in »/etc/config/firewall« spendiert?

Nein, bisher nicht. Ich hatte die Anleitung so verstanden, dass das 
nicht nötig ist.
> You can also create a custom zone called “VPN” if you want to get fancy.

Die iptables configs für die firewall.user sollten das doch erledigen. 
Oder nicht?

Hatte mal Forwarding von WAN nach LAN zugelassen. Das hatte aber auch 
nicht geholfen.

Kannst du mir sagen was ich genau einstellen muss? Ich beschäftige mich 
schon seit Wochen immer mal wieder damit, komme aber einfach nicht 
dahinter, wo genau das Problem ist.

: Bearbeitet durch User
von ein G.a.s.t., wer sonst ;-) (Gast)


Lesenswert?

Robert K. schrieb:
> ein G.a.s.t., wer sonst ;-) schrieb:
>> Ja, aber nur wenn die Firewall weiß, dass sie Pakete ins LAN durchlassen
>> soll. Hast Du der VPN-Verbindung eine eigene Zone bzw. eine
>> Forwarding-rule ins LAN in »/etc/config/firewall« spendiert?
>
> Nein, bisher nicht. Ich hatte die Anleitung so verstanden, dass das
> nicht nötig ist.
>> You can also create a custom zone called “VPN” if you want to get fancy.
>
> Die iptables configs für die firewall.user sollten das doch erledigen.
> Oder nicht?
Nein, die lassen nur IPsec-Pakete durch.
> Hatte mal Forwarding von WAN nach LAN zugelassen. Das hatte aber auch
> nicht geholfen.
Nein, dass kann nicht sinnvoll funktionieren.
> Kannst du mir sagen was ich genau einstellen muss? Ich beschäftige mich
> schon seit Wochen immer mal wieder damit, komme aber einfach nicht
> dahinter, wo genau das Problem ist.
Einfach der »/etc/config/firewall« eine Zone und ein Forwarding 
hinzufügen. Wobei hier ohne Einschränkungen zwischen LAN und VPN 
ausgetauscht werden (ggf. anpassen, wenn es restriktiver gewünscht ist).
1
...
2
# add new zone for virtual VPN interface vpn01
3
config zone
4
        option input 'REJECT'
5
        option output 'ACCEPT'              
6
        option forward 'REJECT'
7
        option name 'ipsecvpn'
8
        option network 'vpn01'
9
10
# allow traffic from LAN to VPN
11
config forwarding
12
        option src 'lan'
13
        option dest 'ipsecvpn'
14
15
# allow traffic from VPN to LAN
16
config forwarding
17
        option src 'ipsecvpn'
18
        option dest 'lan'
19
...

Ggf. musst Du noch ein virtuelles Interface für das VPN-Device XXXX 
(»ifconfig« oder »ip addr show« ist Dein Freund) der 
»/etc/config/network« hinzufügen.
1
...
2
config interface 'vpn01'          
3
        option ifname 'XXXX' 
4
        option _orig_ifname 'XXXX'
5
        option _orig_bridge 'false'
6
        option proto 'none'
7
...

von Stephan (Gast)


Lesenswert?

Nunja es steht ja nur der Tunnel. Die PC müssen dann noch wissen wie sie 
in das andere Segment kommen (ich hoffe es gibt ein 2. Segment).  Beide 
Netze müssen verschieden sein. Also Route prüfen. Forwardings 
dergleichen werden nicht gemacht und nicht benötigt. Wenn die Verbindung 
steht muss ein Ping gehen. Bitte die IP pingen, DNS geht nicht mit jedem 
VPN. Wenn DNS unterstützt wird ist gut, sonst muss noch die lmhost 
angepasst werden, wenn das nicht der DNS Server macht.

von tmomas (Gast)


Lesenswert?

Frag doch einfach im OpenWrt Forum nach, da wird dir geholfen.

https://forum.openwrt.org/

von ein G.a.s.t., wer sonst ;-) (Gast)


Lesenswert?

Stephan schrieb:
> Nunja es steht ja nur der Tunnel. Die PC müssen dann noch wissen wie sie
> in das andere Segment kommen (ich hoffe es gibt ein 2. Segment).
Ja, in der Tat ist dies hilfreich, dass der Client weiss, wie er das 
entfernte Netz erreichen kann. Das wird Robert ja beachtet haben.
> Beide Netze müssen verschieden sein. Also Route prüfen.
Jawohl.
> Forwardings dergleichen werden nicht gemacht und nicht benötigt.
Wieso werden diese nicht benötigt? Die Interfaces des Routers stehen ja 
hoffentlich nicht »nackt« herum.
> Wenn die Verbindung steht muss ein Ping gehen.
Ja, die Frage ist welche IP meinst Du?
> Bitte die IP pingen, DNS geht nicht mit jedem VPN. Wenn DNS unterstützt wird ist 
gut, sonst muss noch die lmhost angepasst werden, wenn das nicht der DNS Server 
macht.
Warum sollte DNS nicht funktionieren? Wieso muss man lmhost anpassen?

tmomas schrieb:
> Frag doch einfach im OpenWrt Forum nach, da wird dir geholfen.
>
> https://forum.openwrt.org/
Das ist sicher der einfachste und bequemste Weg, aber eigentlich nicht 
mehr notwendig, da Robert schon fast am Ziel ist.

von Robert K. (mr_insanity)


Angehängte Dateien:

Lesenswert?

Vielen Dank für die ausführlichen Antworten!
Allerdings verstehe ich das irgendwie noch nicht.
Ich habe zwei Zonen. Die Pakete kommen über die Zone WAN in den Router.
Dafür sind ja diese Portfreigaben:
1
config rule
2
        option src 'wan'
3
        option name 'IPSec ESP'
4
        option proto 'esp'
5
        option target 'ACCEPT'
6
7
config rule
8
        option src 'wan'
9
        option name 'IPSec IKE'
10
        option proto 'udp'
11
        option dest_port '500'
12
        option target 'ACCEPT'
13
14
config rule
15
        option src 'wan'
16
        option name 'IPSec NAT-T'
17
        option proto 'udp'
18
        option dest_port '4500'
19
        option target 'ACCEPT'
20
21
config rule
22
        option src 'wan'
23
        option name 'Auth Header'
24
        option proto 'ah'
25
        option target 'ACCEPT'

Dann noch die Regeln in der firewall.user:
1
iptables -I INPUT  -m policy --dir in --pol ipsec --proto esp -j ACCEPT
2
iptables -I FORWARD  -m policy --dir in --pol ipsec --proto esp -j ACCEPT
3
iptables -I FORWARD  -m policy --dir out --pol ipsec --proto esp -j ACCEPT
4
iptables -I OUTPUT   -m policy --dir out --pol ipsec --proto esp -j ACCEPT
Ich dachte die wären auch für das Forwarding auf andere Geräte.

Hier noch meine ipsec.conf:
1
config setup
2
    #charondebug="all"
3
4
conn roadwarrior
5
    keyexchange=ikev2
6
    ike=aes128-sha1-modp1024,aes128-sha1-modp1536,aes128-sha1-modp2048,aes128-sha256-ecp256,aes128-sha256-modp1024,aes128-sha256-modp1536,aes128-sha256-modp2048,aes256-aes128-sha256-sha1-modp2048-modp4096-modp1024,aes256-sha1-modp1024,aes256-sha256-modp1024,aes256-sha256-modp1536,aes256-sha256-modp2048,aes256-sha256-modp4096,aes256-sha384-ecp384,aes256-sha384-modp1024,aes256-sha384-modp1536,aes256-sha384-modp2048,aes256-sha384-modp4096,aes256gcm16-aes256gcm12-aes128gcm16-aes128gcm12-sha256-sha1-modp2048-modp4096-modp1024,3des-sha1-modp1024!
7
    esp=aes128-aes256-sha1-sha256-modp2048-modp4096-modp1024,aes128-sha1,aes128-sha1-modp1024,aes128-sha1-modp1536,aes128-sha1-modp2048,aes128-sha256,aes128-sha256-ecp256,aes128-sha256-modp1024,aes128-sha256-modp1536,aes128-sha256-modp2048,aes128gcm12-aes128gcm16-aes256gcm12-aes256gcm16-modp2048-modp4096-modp1024,aes128gcm16,aes128gcm16-ecp256,aes256-sha1,aes256-sha256,aes256-sha256-modp1024,aes256-sha256-modp1536,aes256-sha256-modp2048,aes256-sha256-modp4096,aes256-sha384,aes256-sha384-ecp384,aes256-sha384-modp1024,aes256-sha384-modp1536,aes256-sha384-modp2048,aes256-sha384-modp4096,aes256gcm16,aes256gcm16-ecp384,3des-sha1!
8
    dpdaction=clear
9
    dpddelay=60s
10
    left=%any
11
    leftid=OpenWRT
12
    leftsubnet=192.168.1.0/24
13
    leftcert=cert-vpn-server.der
14
    leftsendcert=always
15
    right=%any
16
    rightauth=eap-tls
17
    rightsourceip=%dhcp
18
    rightdns=192.168.1.1
19
    eap_identity=%identity
20
    auto=add

Mein Handy bekommt per DHCP eine IP aus meinem LAN zugewiesen, aus dem 
selben Adressbereich wie alle lokalen Geräte.

Nach meiner Vorstellung fehlt jetzt das Forwarding aus der Zone WAN in 
die Zone LAN. Wofür brauche ich denn jetzt noch ein Zone VPN?
Sorry, aber irgendwie habe ich dieses Firewallkonzept von OpenWRT wohl 
noch nicht ganz verstanden.

von ein G.a.s.t., wer sonst ;-) (Gast)


Lesenswert?

Robert K. schrieb:
> Mein Handy bekommt per DHCP eine IP aus meinem LAN zugewiesen, aus dem
> selben Adressbereich wie alle lokalen Geräte.
>
> Nach meiner Vorstellung fehlt jetzt das Forwarding aus der Zone WAN in
> die Zone LAN.
> Wofür brauche ich denn jetzt noch ein Zone VPN?
> Sorry, aber irgendwie habe ich dieses Firewallkonzept von OpenWRT wohl
> noch nicht ganz verstanden.

Poste mal (anonymisiert) die Ausgabe von »ifconfig« und »route -n«.

von Robert K. (mr_insanity)


Lesenswert?

ein G.a.s.t., wer sonst ;-) schrieb:
> Poste mal (anonymisiert) die Ausgabe von »ifconfig« und »route -n«.

Hier ifconfig:
1
br-lan    Link encap:Ethernet  HWaddr 02:24:B2:DF:7C:FF  
2
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
3
          inet6 addr: fd9f:5bdb:3a7f::1/60 Scope:Global
4
          inet6 addr: fe80::24:b2ff:fedf:7cff/64 Scope:Link
5
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
6
          RX packets:3025576 errors:0 dropped:0 overruns:0 frame:0
7
          TX packets:3298950 errors:0 dropped:0 overruns:0 carrier:0
8
          collisions:0 txqueuelen:0 
9
          RX bytes:332494996 (317.0 MiB)  TX bytes:2788155760 (2.5 GiB)
10
11
eth0      Link encap:Ethernet  HWaddr 02:24:B2:DF:7C:FF  
12
          inet6 addr: fe80::24:b2ff:fedf:7cff/64 Scope:Link
13
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
14
          RX packets:3134654 errors:0 dropped:0 overruns:4 frame:0
15
          TX packets:3289279 errors:0 dropped:0 overruns:0 carrier:0
16
          collisions:0 txqueuelen:1000 
17
          RX bytes:424912966 (405.2 MiB)  TX bytes:2792877156 (2.6 GiB)
18
          Interrupt:4 
19
20
eth0.1    Link encap:Ethernet  HWaddr 02:24:B2:DF:7C:FF  
21
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
22
          RX packets:3134558 errors:0 dropped:0 overruns:0 frame:0
23
          TX packets:3289232 errors:0 dropped:0 overruns:0 carrier:0
24
          collisions:0 txqueuelen:0 
25
          RX bytes:368478795 (351.4 MiB)  TX bytes:2779714384 (2.5 GiB)
26
27
eth1      Link encap:Ethernet  HWaddr 00:24:B2:DF:7D:00  
28
          inet addr:1234  Bcast:1234  Mask:255.255.255.0
29
          inet6 addr: 1234 Scope:Link
30
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
31
          RX packets:5246174 errors:0 dropped:0 overruns:0 frame:0
32
          TX packets:2907048 errors:0 dropped:0 overruns:0 carrier:0
33
          collisions:0 txqueuelen:1000 
34
          RX bytes:2904388472 (2.7 GiB)  TX bytes:355594957 (339.1 MiB)
35
          Interrupt:5 
36
37
lo        Link encap:Local Loopback  
38
          inet addr:127.0.0.1  Mask:255.0.0.0
39
          inet6 addr: ::1/128 Scope:Host
40
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
41
          RX packets:1124 errors:0 dropped:0 overruns:0 frame:0
42
          TX packets:1124 errors:0 dropped:0 overruns:0 carrier:0
43
          collisions:0 txqueuelen:0 
44
          RX bytes:99238 (96.9 KiB)  TX bytes:99238 (96.9 KiB)
45
46
wlan0     Link encap:Ethernet  HWaddr 00:24:B2:DF:7C:FF  
47
          inet6 addr: fe80::224:b2ff:fedf:7cff/64 Scope:Link
48
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
49
          RX packets:14242 errors:0 dropped:0 overruns:0 frame:0
50
          TX packets:131314 errors:0 dropped:0 overruns:0 carrier:0
51
          collisions:0 txqueuelen:1000 
52
          RX bytes:1718751 (1.6 MiB)  TX bytes:30976531 (29.5 MiB)
53
54
wlan1     Link encap:Ethernet  HWaddr 00:24:B2:DF:7D:01  
55
          inet6 addr: fe80::224:b2ff:fedf:7d01/64 Scope:Link
56
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
57
          RX packets:423 errors:0 dropped:0 overruns:0 frame:0
58
          TX packets:118148 errors:0 dropped:0 overruns:0 carrier:0
59
          collisions:0 txqueuelen:1000 
60
          RX bytes:117924 (115.1 KiB)  TX bytes:21672275 (20.6 MiB)

und route -n:
1
Kernel IP routing table
2
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
3
0.0.0.0         1234.           0.0.0.0         UG    0      0        0 eth1
4
1234.           0.0.0.0         255.255.255.0   U     0      0        0 eth1
5
1234.           0.0.0.0         255.255.255.255 UH    0      0        0 eth1
6
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan

Ist alles unverändert, so wie es bei der Installation konfiguriert 
wurde.

von ein G.a.s.t., wer sonst ;-) (Gast)


Lesenswert?

Robert K. schrieb:
> ein G.a.s.t., wer sonst ;-) schrieb:
>> Poste mal (anonymisiert) die Ausgabe von »ifconfig« und »route -n«.
>
> Hier ifconfig:br-lan    Link encap:Ethernet  HWaddr 02:24:B2:DF:7C:FF
>           inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
>           inet6 addr: fd9f:5bdb:3a7f::1/60 Scope:Global
>           inet6 addr: fe80::24:b2ff:fedf:7cff/64 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:3025576 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:3298950 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:0
>           RX bytes:332494996 (317.0 MiB)  TX bytes:2788155760 (2.5 GiB)
>
> eth0      Link encap:Ethernet  HWaddr 02:24:B2:DF:7C:FF
>           inet6 addr: fe80::24:b2ff:fedf:7cff/64 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:3134654 errors:0 dropped:0 overruns:4 frame:0
>           TX packets:3289279 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:1000
>           RX bytes:424912966 (405.2 MiB)  TX bytes:2792877156 (2.6 GiB)
>           Interrupt:4
>
> eth0.1    Link encap:Ethernet  HWaddr 02:24:B2:DF:7C:FF
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:3134558 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:3289232 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:0
>           RX bytes:368478795 (351.4 MiB)  TX bytes:2779714384 (2.5 GiB)
>
> eth1      Link encap:Ethernet  HWaddr 00:24:B2:DF:7D:00
>           inet addr:1234  Bcast:1234  Mask:255.255.255.0
>           inet6 addr: 1234 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:5246174 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:2907048 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:1000
>           RX bytes:2904388472 (2.7 GiB)  TX bytes:355594957 (339.1 MiB)
>           Interrupt:5
>
> lo        Link encap:Local Loopback
>           inet addr:127.0.0.1  Mask:255.0.0.0
>           inet6 addr: ::1/128 Scope:Host
>           UP LOOPBACK RUNNING  MTU:65536  Metric:1
>           RX packets:1124 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:1124 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:0
>           RX bytes:99238 (96.9 KiB)  TX bytes:99238 (96.9 KiB)
>
> wlan0     Link encap:Ethernet  HWaddr 00:24:B2:DF:7C:FF
>           inet6 addr: fe80::224:b2ff:fedf:7cff/64 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:14242 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:131314 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:1000
>           RX bytes:1718751 (1.6 MiB)  TX bytes:30976531 (29.5 MiB)
>
> wlan1     Link encap:Ethernet  HWaddr 00:24:B2:DF:7D:01
>           inet6 addr: fe80::224:b2ff:fedf:7d01/64 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:423 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:118148 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:1000
>           RX bytes:117924 (115.1 KiB)  TX bytes:21672275 (20.6 MiB)
>
> und route -n:Kernel IP routing table
> Destination     Gateway         Genmask         Flags Metric Ref    Use
> Iface
> 0.0.0.0         1234.           0.0.0.0         UG    0      0        0
> eth1
> 1234.           0.0.0.0         255.255.255.0   U     0      0        0
> eth1
> 1234.           0.0.0.0         255.255.255.255 UH    0      0        0
> eth1
> 192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0
> br-lan
>
> Ist alles unverändert, so wie es bei der Installation konfiguriert
> wurde.
Du verwendest das für LAN und VPN den gleichen IP-Adressbereich, diese 
sollten jedoch verschiedene IP-Adressbereiche verwenden. Versuche dies 
mal anzupassen, siehe: 
https://openwrt.org/docs/guide-user/services/vpn/ipsec/strongswan/roadwarrior#ipsecconf
1
...
2
    dpdaction=clear
3
    dpddelay=60s
4
    left=%any
5
    leftid=OpenWRT
6
    leftsubnet=192.168.1.0/24
7
    leftcert=cert-vpn-server.der
8
    leftsendcert=always
9
    right=%any
10
    rightauth=eap-tls
11
    rightsourceip=*192.168.2.0/24*
12
    rightdns=*192.168.2.1*
13
    eap_identity=%identity
14
    auto=add
15
...

von Robert K. (mr_insanity)


Lesenswert?

ein G.a.s.t., wer sonst ;-) schrieb:
> Du verwendest das für LAN und VPN den gleichen IP-Adressbereich, diese
> sollten jedoch verschiedene IP-Adressbereiche verwenden.

Oh man, das wars schon. Ich dachte immer, da es mit dem Webinterface des 
Routers funktioniert, ist es ein Firewallproblem. Deshalb habe ich es 
auch nicht mit einem anderen Adressbereich versucht.

Vielen, vielen Dank für deine Hilfe!
Bin so froh, dass es endlich funktioniert :-)

Jetzt ist mir auch der Satz
> You may want to assign IPs from a subnet which doesn't overlap neither your > 
home nor your guest's LAN.
aufgefallen.

Manchmal sieht man halt den Wald vor lauter Bäumen nicht...
Bißchen peinlich eigentlich ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.