Hallo!
ich habe einige IPv6 Routing Probleme ...
meine OPNsense sitzt hinter einer Fritz!Box, die IP-Verbindung kommt von einem VDSL250 Anschluss der Telekom, IPv4 und natives IPv6:
die OPNsense Box ist als "exposed host" konfiguriert (d.h. die Fritz!Box filtert nichts, sondern leitet alles ankommende an OPNsense weiter
Auf der Fritz!Box ist IPv6 aktiviert:
DNS-Server/DHCPv6 Server, prefix (IA_PD) and IPv6 addresses are assigned (IA_NA) to clients
OPNsense
die WAN-Schnittstelle von OPNsense ist mit der LAN-Schnittstelle der Fritz!Box verbunden
die WAN-Schnittstelle verwendet DHCPv6 mit "Basic"-Konfiguration
die Schnittstelle erhält eine IPv6-Adresse
WAN 1000baseT <full-duplex> 192.168.178.3
xxxx:xx:xxxx:xxxx:2a8:2cff:fe68:e3e7
Die LAN-Schnittstelle ist auf "track interface" für IPv6 eingestellt (Tracking der WAN-Schnittstelle)
sie bekommt auch eine IPv6-Adresse
igb0: flags=8b63<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> metric 0 mtu 1500
description: LAN
options=4900028<VLAN_MTU,JUMBO_MTU,NETMAP,NOMAP>
ether 00:a8:2c:68:e3:e6
inet6 fe80::2a8:2cff:fe68:e3e6%igb0 prefixlen 64 scopeid 0x1
inet6 xxxx:xx:xxxx:be81:2a8:2cff:fe68:e3e6 prefixlen 64
inet 192.168.80.2 netmask 0xffffff00 broadcast 192.168.80.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Manuelle Einstellung von DHCPv6 und Router Advertisements zulassen ist aktiviert
der Router-Advertisement-Daemon läuft im LAN, ich habe versucht
"Unmanaged" und "Assisted", mit dem gleichen Routing-Problem
bei der Einstellung "Unmanaged" erhalten die Hosts im LAN-Netzwerk IPv6-Adressen:
z.B..
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:a0:98:0c:5c:d5 brd ff:ff:ff:ff:ff:ff:ff
altname enp0s3
inet 192.168.80.29/24 brd 192.168.80.255 scope global dynamisch noprefixroute ens3
gültig_lft 6608sec bevorzugt_lft 6608sec
inet6 xxxx:xx:773c:be81:ccbe:498f:b967:91d9/64 scope global temporary deprecated dynamic
gültig_lft 6821sec bevorzugt_lft 0sec
inet6 xxxx:xx:773c:be81:2a0:98ff:fe0c:5cd5/64 scope global deprecated dynamic mngtmpaddr noprefixroute
valid_lft 6821sec preferred_lft 0sec
inet6 fe80::2a0:98ff:fe0c:5cd5/64 Geltungsbereich link noprefixroute
valid_lft für immer preferred_lft für immer
sie können die LAN-Seite der OPNsense anpingen
aber:
sie können die WAN Seite der OPNsense Box nicht anpingenund natürlich
können sie die Fritz!Box oder irgendeinen anderen externen Host anpingendie DNS-Auflösung funktioniert aber
christian@debmatic:~$ ping -6 www.heise.de
PING www.heise.de(www.heise.de (2a02:2e0:3fe:1001:7777:772e:2:85)) 56 Datenbytes
christian@debmatic:~$ traceroute -6 www.heise.de
traceroute to www.heise.de (2a02:2e0:3fe:1001:7777:772e:2:85), 30 hops max, 80 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
Routing auf dem Host im LAN ist:
christian@debmatic:~$ ip -6 r
xxxx:xx:773c:be81::/64 dev ens3 proto ra metric 100 pref medium
fe80::/64 dev ens3 proto kernel metric 100 pref medium
default via fe80::2a8:2cff:fe68:e3e6 dev ens3 proto ra metric 100 pref high
Es ist also offensichtlich, dass mit der OPNsense-Box etwas nicht stimmt.
Aber was?
Die Firewall-Regeln auf der LAN-Schnittstelle besagen, dass der gesamte ausgehende IPv6-Verkehr erlaubt ist.
Firewall -> Rules -> LAN
IPv6 * LAN net * * * * * Default allow LAN IPv6 to any rule
IPv6 * LAN address * * * * * Default allow LAN IPv6 to any rule
netstat -r -n auf OPNsense:
Internet6:
Destination Gateway Flags Netif Expire
default fe80::9a9b:cbff:fe08:3ca0%igb1 UG igb1
::1 link#7 UHS lo0
2003:ce:773c:be00::/64 link#2 U igb1
2003:ce:773c:be00:2a8:2cff:fe68:e3e7 link#2 UHS lo0
2003:ce:773c:be80::/64 link#3 U igb2
2003:ce:773c:be80:2a8:2cff:fe68:e3e8 link#3 UHS lo0
2003:ce:773c:be81::/64 link#1 U igb0
2003:ce:773c:be81:2a8:2cff:fe68:e3e6 link#1 UHS lo0
2003:ce:773c:be82::/64 link#11 U run0_wla
2003:ce:773c:be82:1e4b:d6ff:fe7d:81e0 link#11 UHS lo0
2a01:4f8:161:83d1::/64 link#18 US ovpnc4
2a01:4f8:161:83d1:cccc::/112 link#18 U ovpnc4
2a01:4f8:161:83d1:cccc::2 link#18 UHS lo0
fd10::/64 link#19 U ovpns2
fd10::1 link#19 UHS lo0
fd11::/64 link#17 U ovpns3
fd11::1 link#17 UHS lo0
fe80::%igb0/64 link#1 U igb0
fe80::2a8:2cff:fe68:e3e6%igb0 link#1 UHS lo0
fe80::%igb1/64 link#2 U igb1
fe80::2a8:2cff:fe68:e3e7%igb1 link#2 UHS lo0
fe80::%igb2/64 link#3 U igb2
fe80::2a8:2cff:fe68:e3e8%igb2 link#3 UHS lo0
fe80::%lo0/64 link#7 U lo0
fe80::1%lo0 link#7 UHS lo0
fe80::%run0_wlan1/64 link#11 U run0_wla
fe80::1e4b:d6ff:fe7d:81e0%run0_wlan1 link#11 UHS lo0
fe80::%ovpns3/64 link#17 U ovpns3
fe80::2a8:2cff:fe68:e3e6%ovpns3 link#17 UHS lo0
fe80::%ovpnc4/64 link#18 U ovpnc4
fe80::2a8:2cff:fe68:e3e6%ovpnc4 link#18 UHS lo0
fe80::%ovpns2/64 link#19 U ovpns2
fe80::2a8:2cff:fe68:e3e6%ovpns2 link#19 UHS lo0
igb1 ist das WAN interface
die OPNsense Maschine selbst kann IPv6 Hosts außen erreichen:
[cbadmin@OPNsense ~]$ ping -6 www.heise.de
PING6(56=40+8+8 bytes) 2003:ce:773c:be00:2a8:2cff:fe68:e3e7 --> 2a02:2e0:3fe:1001:7777:772e:2:85
16 bytes from 2a02:2e0:3fe:1001:7777:772e:2:85, icmp_seq=0 hlim=57 time=9.083 ms
16 bytes from 2a02:2e0:3fe:1001:7777:772e:2:85, icmp_seq=1 hlim=57 time=8.620 ms
16 bytes from 2a02:2e0:3fe:1001:7777:772e:2:85, icmp_seq=2 hlim=57 time=8.865 ms
16 bytes from 2a02:2e0:3fe:1001:7777:772e:2:85, icmp_seq=3 hlim=57 time=9.097 ms
16 bytes from 2a02:2e0:3fe:1001:7777:772e:2:85, icmp_seq=4 hlim=57 time=8.651 ms
^C
--- www.heise.de ping6 statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 8.620/8.863/9.097/0.204 ms
Was mache ich falsch?
Was übersehe ich hier?
Setup is
VDSL250 (Dt. Telekom) --> Fritz!Box 7530 as DSL-Modem/Router with
1. Link ("exposed host", everything is forwarded IPv4 , /64 subnet IPv6 ->
OPNsense2. Link -> WLAN (if activated) -> /64 subnet IPv6
3. Link -> guest WLAN, (if activated) /64 IPv6
- router advertisment aktive
fritzbox is default gateway to the internet
preference-value in router advirtisment: high
DNSv6 via router advertisment (RFC 5006): yes
DHCPv6 server active: yes
DNS-Server, Präfix (IA_PD) und IPv6-Adresse (IA_NA)
preference value DHCPv6 server: 255
Verwendete IPv6 Präfixe:
- OPNSense: 2003:ce:773c:be00::/64
Guest-net 2003:ce:773c:be01::/64
WAN 2003:ce:77ff:3cef::/64
Ich habe die Einstellungen überprüft ... und ... es tut nicht, was es tun sollte;
Fritzbox:
Internet, IPv6
verbunden seit 18.09.2022, 04:13 Uhr, Telekom, Geschwindigkeit des Internetzugangs (verfügbare Bitrate): ↓ 251,6 Mbit/s ↑ 41,5 Mbit/s,
IPv6-Adresse: 2003:ce:77ff:3cef:9a9b:cbff:fe08:3c9d, Gültigkeit: 13891/1291s,
IPv6-Präfix: 2003:ce:773c:[b]be00[/b]::[b]/56[/b], Gültigkeit: 13685/1085s
Verwendete IPv6 Präfixe:
Heimnetz2003:ce:7731:[i]a300[/i]::/64
Gastnetz2003:ce:7731:a301::/64
WAN2003:ce:77ff:31d2::/64
Portfreigabe
aktiv, 1 Portfreigabe eingerichtet
Exposed Host '192.168.178.3, ::2a8:2cff:fe68:e3e7' aktiviert
WAN on OPNsense is set to DHCPV6
Prefix delegation size is set to 62
Send IPv6 prefix hint is activated
on LAN, Track interface is on WAN, PrefixID = 1
on WLAN (OPT1): Track interface is on WAN , Prefix ID = 3
on AP TRack Interface is on WAN, ID = 2
WAN interface on OPNsense:
igb1: flags=8b63<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> metric 0 mtu 1500
description: WAN
options=4800028<VLAN_MTU,JUMBO_MTU,NOMAP>
ether 00:a8:2c:68:e3:e7
inet6 fe80::2a8:2cff:fe68:e3e7%igb1 prefixlen 64 scopeid 0x2
inet6 2003:ce:773c:[b]be00[/b]:2a8:2cff:fe68:e3e7 prefixlen 128
inet6 fd00::2a8:2cff:fe68:e3e7 prefixlen 64 deprecated autoconf
inet6 2003:ce:7731:[i]a300[/i]:2a8:2cff:fe68:e3e7 prefixlen 64 autoconf
inet 192.168.178.3 netmask 0xffffff00 broadcast 192.168.178.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
LAN interface
igb0: flags=8b63<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> metric 0 mtu 1500
description: LAN
options=4900028<VLAN_MTU,JUMBO_MTU,NETMAP,NOMAP>
ether 00:a8:2c:68:e3:e6
inet6 fe80::2a8:2cff:fe68:e3e6%igb0 prefixlen 64 scopeid 0x1
inet6 2003:ce:773c:[b]be81[/b]:2a8:2cff:fe68:e3e6 prefixlen 64
inet 192.168.80.2 netmask 0xffffff00 broadcast 192.168.80.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
WLAN interface
igb2: flags=8b63<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> metric 0 mtu 1500
description: WLAN
options=4900028<VLAN_MTU,JUMBO_MTU,NETMAP,NOMAP>
ether 00:a8:2c:68:e3:e8
inet6 fe80::2a8:2cff:fe68:e3e8%igb2 prefixlen 64 scopeid 0x3
inet6 2003:ce:773c:[code]be80
:2a8:2cff:fe68:e3e8 prefixlen 64
inet 192.168.81.2 netmask 0xffffff00 broadcast 192.168.81.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
[/code]
in der GUI interface Übersicht:
WAN
IPv6 link-local fe80::2a8:2cff:fe68:e3e7/64
IPv6 address 2003:ce:773c:[b]be00[/b]:2a8:2cff:fe68:e3e7/128
fd00::2a8:2cff:fe68:e3e7/64 deprecated
2003:ce:7731:[i]a300[/i]:2a8:2cff:fe68:e3e7/64
LAN:
IPv6 link-local fe80::2a8:2cff:fe68:e3e6/64
IPv6 address 2003:ce:773c:[b]be81[/b]:2a8:2cff:fe68:e3e6/64
WLAN
IPv6 link-local fe80::2a8:2cff:fe68:e3e8/64
IPv6 address 2003:ce:773c:[b]be80[/b]:2a8:2cff:fe68:e3e8/64
AP
IPv6 address 2003:ce:773c:[b]be82[/b]:1e4b:d6ff:fe7d:81e0/64
example PC in LAN:
ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:a0:98:0c:5c:d5 brd ff:ff:ff:ff:ff:ff
altname enp0s3
inet 192.168.80.29/24 brd 192.168.80.255 scope global dynamic noprefixroute ens3
valid_lft 6541sec preferred_lft 6541sec
inet6 2003:ce:773c:[b]be81[/b]:c199:8655:41bf:6729/64 scope global temporary dynamic
valid_lft 86158sec preferred_lft 2626sec
inet6 2003:ce:773c:[b]be81[/b]:670:91e:68d0:9fa/64 scope global temporary deprecated dynamic
valid_lft 86158sec preferred_lft 0sec
inet6 2003:ce:773c:[b]be81[/b]:133c:75e4:3833:e383/64 scope global temporary deprecated dynamic
valid_lft 86158sec preferred_lft 0sec
inet6 2003:ce:773c:[b]be81[/b]:2a0:98ff:fe0c:5cd5/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 86158sec preferred_lft 14158sec
inet6 fe80::2a0:98ff:fe0c:5cd5/64 scope link noprefixroute
valid_lft forever preferred_lft forever
für mich sieht das richtig aus?
Fritzbox gets a /56 from the ISP
- OPNsense requests a /62
- OPNsense WAN has an address in the "homenet" of Fritzbox and a different /64 net
- LAN, WLAN and AP have their own PrefixID and all of them get their own /64 net which is different from the Fritzbox "homenet"
- PC in the LAN net gets adresses from the /64 net of the LAN interface
trotzdem kann kein Host im LAN einen externen Host erreichen, nur das LAN Interface der OPNsense
christian@debmatic:~$ ping -6 www.heise.de
PING www.heise.de(www.heise.de (2a02:2e0:3fe:1001:7777:772e:2:85)) 56 data bytes
^C
--- www.heise.de ping statistics ---
44 packets transmitted, 0 received, 100% packet loss, time 44042ms
christian@debmatic:~$
router advertisment daemon läuft auf OPNsense:
routing auf dem Host im LAN:
christian@debmatic:~$ ip -6 r
2003:ce:773c:be81::/64 dev ens3 proto ra metric 100 pref medium
fe80::/64 dev ens3 proto kernel metric 100 pref medium
default via fe80::2a8:2cff:fe68:e3e6 dev ens3 proto ra metric 100 pref high
christian@debmatic:~$
die default route ist das LAN interface der OPNsense
inet6 fe80::2a8:2cff:fe68:e3e6%igb0 prefixlen 64 scopeid 0x1
- was richtig aussieht, oder?
routing auf OPNsense ist:
[cbadmin@OPNsense ~]$ netstat -r -6 -n
Routing tables
Internet6:
Destination Gateway Flags Netif Expire
[b]default fe80::9a9b:cbff:fe08:3ca0%igb1 UG igb1[/b]
::1 link#7 UHS lo0
2003:ce:7731:a300::/64 link#2 U igb1
2003:ce:7731:a300:2a8:2cff:fe68:e3e7 link#2 UHS lo0
2003:ce:773c:be00::/64 link#2 U igb1
2003:ce:773c:be00:2a8:2cff:fe68:e3e7 link#2 UHS lo0
2003:ce:773c:be80::/64 link#3 U igb2
2003:ce:773c:be80:2a8:2cff:fe68:e3e8 link#3 UHS lo0
2003:ce:773c:be81::/64 link#1 U igb0
2003:ce:773c:be81:2a8:2cff:fe68:e3e6 link#1 UHS lo0
2003:ce:773c:be82::/64 link#11 U run0_wla
2003:ce:773c:be82:1e4b:d6ff:fe7d:81e0 link#11 UHS lo0
2a01:4f8:161:83d1::/64 link#18 US ovpnc4
2a01:4f8:161:83d1:cccc::/112 link#18 U ovpnc4
2a01:4f8:161:83d1:cccc::2 link#18 UHS lo0
fd00::/64 link#2 U igb1
fd00::2a8:2cff:fe68:e3e7 link#2 UHS lo0
fd10::/64 link#19 U ovpns2
fd10::1 link#19 UHS lo0
fd11::/64 link#17 U ovpns3
fd11::1 link#17 UHS lo0
fe80::%igb0/64 link#1 U igb0
fe80::2a8:2cff:fe68:e3e6%igb0 link#1 UHS lo0
fe80::%igb1/64 link#2 U igb1
fe80::2a8:2cff:fe68:e3e7%igb1 link#2 UHS lo0
fe80::%igb2/64 link#3 U igb2
fe80::2a8:2cff:fe68:e3e8%igb2 link#3 UHS lo0
fe80::%lo0/64 link#7 U lo0
fe80::1%lo0 link#7 UHS lo0
fe80::%run0_wlan1/64 link#11 U run0_wla
fe80::1e4b:d6ff:fe7d:81e0%run0_wlan1 link#11 UHS lo0
fe80::%ovpns3/64 link#17 U ovpns3
fe80::2a8:2cff:fe68:e3e6%ovpns3 link#17 UHS lo0
fe80::%ovpnc4/64 link#18 U ovpnc4
fe80::2a8:2cff:fe68:e3e6%ovpnc4 link#18 UHS lo0
fe80::%ovpns2/64 link#19 U ovpns2
fe80::2a8:2cff:fe68:e3e6%ovpns2 link#19 UHS lo0
[cbadmin@OPNsense ~]$
was auch richtig aussieht?
default route ist:
fe80::9a9b:cbff:fe08:3ca0
which is the link local address of the Fritz!Box as seen from OPNsense:
Unique Local Address Ihrer FRITZ!Box: fd00::9a9b:cbff:fe08:3ca0/64
die Firewall-Protokolle zeigen keine reject/block
Was ist also los?
Ich kann nichts finden :-(
Delegation size auf dem WAN Interface der OPNsense ist /62 - was ja auch stimmen sollte .
:( :o ??? ::) :-\
anscheinend übersehe ich irgendwas triviales - oder an den Firewall Regeln ist doch was falsch?
Bei mir in einem ähnlichen Setup dauert es einige Zeit (ca. 1-2 Stunden), bis die Downstream-Geräte nach der OPNsense-Box das richtige Präfix erhalten. Wenn das Präfix sich ändert, erhalten die Downstream-Geräte noch eine Weile das deprecated-Präfix, dann funktioniert IPv6 nicht richtig. Vielleicht ist das ja bei Dir auch der Fall? Bei ens3
steht jedenfalls bei den Global-IPv6-Adressen "deprecated"...
Siehe auch: https://forum.opnsense.org/index.php?topic=32313.0 (https://forum.opnsense.org/index.php?topic=32313.0)