SitetoSite VPN met Wireguard tussen Unifi Express en pfSense

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • mfkne
  • Registratie: November 2011
  • Laatst online: 14-05 19:58
Hoi allemaal,

dit is weer zo'n probleem waar ik vrijwel zeker weet dat ik iets over het hoofd zie en er 99% al ben, maar voor dat laatste % zou ik dus hulp van jullie kunnen gebruiken.

Ik wil twee sites ("Nederland" en "Brazilië") via VPN middels Wireguard verbinden met als doel dat er een transparant site-to-site verbinding bestaat, dwz dat ik vanuit iedere site alle diensten op de andere site kan benaderen. Helaas ondersteund Unifi voor Site-to-Site nog geen Wireguard via de UI, maar het moet ook anders kunnen.
Sites
Nederland
Het "hoofdnetwerk" is 192.168.1.0/24.
Nederland draait een pfSense 2.7.2 op een VM, WAN IP van de pfSense is 192.168.1.233, LAN IP van de pfSense is 192.168.5.6 (dit is een VLAN) en Wireguard heeft heeft het netwerk 192.168.200.0/24.

Er zijn al bestaande clients en andere site-to-site VPNs tussen Nederland en andere sites, en die werken allemaal vlekkeloos.

Brazilië
Het enige netwerk daar is 192.168.99.0/24.
Daar draait een Unifi Express met de laatste versie van Unifi Network.
Er is een Wireguard client configuratie naar Nederland aangemaakt, en de verbinding komt ook tot stand. Die heeft de tunnel IP 192.168.200.10/24.
Het Probleem
De verbinding met Wireguard komt tot stand, en vanuit Nederland (dus achter de pfSense) kan ik in Brazilië bereiken en alles op 192.168.99.0/24 benaderen. Dus de tunnel op zicht werkt prima.

Echter, de andere kant op lukt het niet zo goed, ik kan vanuit Brazilië niks in Nederland bereiken, nog niet eens de IP van de Wireguard server op de pfSense (192.168.200.1), pings leiden allemaal tot timeout met 100% packet loss, ook vanuit de Unifi Express zelf.

Ik heb voor de lol al de firewall op de pfSense geheel uitgezet (met pfctl -d), maar dat maakt ook geen verschil. Aangezien er vanuit Nederland naar Brazilië alles werkt maar andersom niet ben ik geneigd te denken dat het probleem aan de Nederlandse kant zit (op de pfSense dus), maar zeker ben ik er zeker niet van.

Detail nog, mocht het uitmaken: Brazilië zit achter CG-NAT.

code:
1
2
3
4
5
6
7
8
root@UniFi-Express:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
100.71.0.0      0.0.0.0         255.255.224.0   U     0      0        0 eth1
192.168.3.0     0.0.0.0         255.255.255.0   U     0      0        0 wgsrv1
192.168.3.2     0.0.0.0         255.255.255.255 UH    0      0        0 wgsrv1
192.168.99.0    0.0.0.0         255.255.255.0   U     0      0        0 br0
192.168.200.0   0.0.0.0         255.255.255.0   U     0      0        0 wgclt1


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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
root@UniFi-Express:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 96:2a:6f:10:86:97 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 36:28:96:6b:7c:9b brd ff:ff:ff:ff:ff:ff
3: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN group default qlen 1
    link/gre 0.0.0.0 brd 0.0.0.0
4: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
5: ip_vti0@NONE: <NOARP> mtu 1332 qdisc noop state DOWN group default qlen 1
    link/ipip 0.0.0.0 brd 0.0.0.0
6: ip6_vti0@NONE: <NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1
    link/tunnel6 :: brd ::
7: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1
    link/sit 0.0.0.0 brd 0.0.0.0
8: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1
    link/tunnel6 :: brd ::
9: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br0 state DOWN group default qlen 1000
    link/ether 94:2a:6f:10:86:97 brd ff:ff:ff:ff:ff:ff
10: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 94:2a:6f:10:86:98 brd ff:ff:ff:ff:ff:ff
    inet 100.71.6.61/19 scope global dynamic eth1
       valid_lft 8998sec preferred_lft 8998sec
    inet6 fe80::962a:6fff:fe10:8698/64 scope link
       valid_lft forever preferred_lft forever
11: ifb0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 32
    link/ether 32:b5:7e:61:be:60 brd ff:ff:ff:ff:ff:ff
12: ifb1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 32
    link/ether 56:2e:fe:09:7e:54 brd ff:ff:ff:ff:ff:ff
13: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 94:2a:6f:10:86:97 brd ff:ff:ff:ff:ff:ff
    inet 192.168.99.1/24 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::962a:6fff:fe10:8697/64 scope link
       valid_lft forever preferred_lft forever
14: wifi0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 8191
    link/ieee802.11 94:2a:6f:10:86:99 brd ff:ff:ff:ff:ff:ff
15: soc0: <> mtu 0 qdisc noop state DOWN group default qlen 1
    link/ieee802.11
16: wifi1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 8191
    link/ieee802.11 94:2a:6f:10:86:9a brd ff:ff:ff:ff:ff:ff
17: soc1: <> mtu 0 qdisc noop state DOWN group default qlen 1
    link/ieee802.11
18: ath0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default
    link/ether 94:2a:6f:10:86:99 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::962a:6fff:fe10:8699/64 scope link
       valid_lft forever preferred_lft forever
19: ath1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default
    link/ether 9a:2a:6f:10:86:99 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::982a:6fff:fe10:8699/64 scope link
       valid_lft forever preferred_lft forever
20: vwire2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default
    link/ether 9e:2a:6f:10:86:99 brd ff:ff:ff:ff:ff:ff
21: ath3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default
    link/ether 94:2a:6f:10:86:9a brd ff:ff:ff:ff:ff:ff
    inet6 fe80::962a:6fff:fe10:869a/64 scope link
       valid_lft forever preferred_lft forever
22: ath4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default
    link/ether 9a:2a:6f:10:86:9a brd ff:ff:ff:ff:ff:ff
    inet6 fe80::982a:6fff:fe10:869a/64 scope link
       valid_lft forever preferred_lft forever
23: vwire5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default
    link/ether 9e:2a:6f:10:86:9a brd ff:ff:ff:ff:ff:ff
24: wgclt1: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1
    link/none
    inet 192.168.200.10/24 scope global wgclt1
       valid_lft forever preferred_lft forever
25: wgsrv1: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1
    link/none
    inet 192.168.3.1/24 scope global wgsrv1
       valid_lft forever preferred_lft forever


code:
1
2
3
4
5
6
root@UniFi-Express:~# ip route show
100.71.0.0/19 dev eth1 proto kernel scope link src 100.71.6.61
192.168.3.0/24 dev wgsrv1 proto kernel scope link src 192.168.3.1
192.168.3.2 dev wgsrv1 proto kernel scope link
192.168.99.0/24 dev br0 proto kernel scope link src 192.168.99.1
192.168.200.0/24 dev wgclt1 proto kernel scope link src 192.168.200.10

Enig idee wat ik er over mijn hoofd zou kunnen hebben gezien?

[ Voor 56% gewijzigd door mfkne op 03-03-2024 18:54 ]


Acties:
  • 0 Henk 'm!

  • Frogmen
  • Registratie: Januari 2004
  • Niet online
Lijkt mij routerings probleem in Brazilie

Voor een Tweaker is de weg naar het resultaat net zo belangrijk als het resultaat.


Acties:
  • 0 Henk 'm!

  • mfkne
  • Registratie: November 2011
  • Laatst online: 14-05 19:58
Daar lijk je wel gelijk mee te hebben. Ik heb nog verder geknutseld en het opgelost gekregen.

Static Routes via UI toevoegen heeft niets geholpen, ik heb daarom handmatig de bestaande route weggehaald:

code:
1
ip route del 192.168.200.0/24 dev wgclt1 proto kernel scope link src 192.168.200.10


en handmatig nieuw toegevoegd:

code:
1
ip route add 192.168.200.0/24 dev wgclt1


en meteen werkt het. Hetzelfde met de overige netwerken herhaald en voila, het werkt als een trein. Dit gaat helaas geen reboot overleven, maar dat is niet te tragisch. Ik begrip alleen niet waarom dat nodig was.