IPv6 Link Local in Interface Status
-
My ISP uses separate PPPoE sessions for IPv4 and IPv6.
I configured the em0, pppoe0, and WAN interfaces for IPv4 and the em0, pppoe1, and OPT1 interfaces for IPv6. (2.8.0-RELEASE)
In the OPT1 interface status, IPv6 Link Local displayed "fe80::XXXX:XXXX:XXXX:XXXX%pppoe1". However, in the WAN interface status, IPv6 Link Local displayed "fe80::XXXX:XXXX:XXXX:XXXX%em0".
"fe80::XXXX:XXXX:XXXX:XXXX%em0" is the IPv6 Link Local for the em0 interface.
In WAN Interface Status, shouldn't IPv6 Link Local show "fe80::XXXX:XXXX:XXXX:XXXX%pppoe0"?
-
@azalea You can read more about the specific notation you're asking about, the zone index, in this Wikipedia subsection of the "IPv6 address" article.
-
@tinfoilmatt I understand the logic behind the link.
The WAN interface (IPv4) is configured on the logical interface of pppoe0, not on the physical interface of the em0 device. Therefore, the zone index of the WAN interface is "pppoe0", and the IPv6 Link Local in the WAN interface status should display "fe80::XXXX:XXXX:XXXX:XXXX%pppoe0".
In fact, the NDP table shows that the WAN interface is linked to "fe80::XXXX:XXXX:XXXX:XXXX%pppoe0", and the results of executing the ifconfig command also show that the WAN interface is linked to "fe80::XXXX:XXXX:XXXX:XXXX%pppoe0".
On the other hand, the OPT1 interface status display, NDP table display, and ifconfig execution results all show that the OPT1 interface (IPv6) is linked to "fe80::XXXX:XXXX:XXXX:XXXX%pppoe1", so there is no problem here.
However, only the WAN interface status IPv6 Link Local uses the zone index (em0) of the physical interface of the em0 device.
-
@azalea said in IPv6 Link Local in Interface Status:
On the other hand, the OPT1 interface status display, NDP table display, and ifconfig execution results all show that the OPT1 interface (IPv6) is linked to "fe80::XXXX:XXXX:XXXX:XXXX%pppoe1
From the Wikipedia article:
Even if a single address is not in use in different zones, the address prefixes for addresses in those zones may still be identical, which makes the operating system unable to select an outgoing interface based on the information in the routing table (which is prefix-based). [In this specific case, your WAN interface's link-local address of
fe80::[EUI-64]/128
is the 'prefix' being referred to here]In order to resolve the ambiguity in textual addresses, a zone index must be appended to the address.
[ . . . ]
As multiple interfaces may belong to the same zone (e.g. when connected to the same network), in practice two addresses with different zone identifiers may actually be equivalent, and refer to the same host on the same link.
fe80::[identical EUI-64]%ppoe0
andfe80::[identical EUI-64]%em0
are obviously not mutually exclusive addresses, even if both or neither are active at any given time on a given link. And the zone index in general can obviously refer to both, a physical or a logical network interface. The same goes forfe80::[identical EUI-64]%ppoe1
andfe80::[identical EUI-64]%em1
on the OPT1 interface.Agreed no problem here, just thought-provoking discussion (at least for me!) of an interesting IPv6 feature.
-
I am not denying that fe80::[identical EUI-64]%em0 and fe80::[identical EUI-64]%ppoe0 exist at the same time. I am simply pointing out the error in linking the WAN interface and fe80::[identical EUI-64]%em0 in the interface status.
On a WAN interface with only IPv4 configured, users will not refer fe80::[identical EUI-64]%ppoe0, but that is no reason to accept for the incorrect display.
The same goes for fe80::[identical EUI-64]%ppoe1 and fe80::[identical EUI-64]%em1 on the OPT1 interface.
The OPT1 interface does not use the em1 device. The WAN interface and the OPT1 interface share the em0 device.
I have a related question. My ISP uses separate PPPoE sessions for IPv4 and IPv6, so I don't have the typical environment where IPv4 and IPv6 share one PPPoE session.
In an environment where IPv4 and IPv6 share the WAN interface (pppoe0/em0), what does the IPv6 Link Local in the WAN interface status display? (b) should be correct, but judging from the display in my environment, is it (c)?
(a) fe80::[identical EUI-64]%em0 only
(b) fe80::[identical EUI-64]%pppoe0 only
(c) Both fe80::[identical EUI-64]%em0 and fe80::[identical EUI-64]%ppoe0 -
It should be (b) as you say because the 'WAN' is assigned as the pppoe0 interface but looking at a test device here it can be (a) if the ISP doesn't supply an IPv6 address
I have never seen it show both, (c). -
I will report any additional related issues.
Although it's unconventional and less practical, my ISP can also configure the following for common em0 devices:
WAN interface: IPv4 over PPPoE
OPT1 interface: DHCPv6 over IPoEBecause DHCPv6 differs from DHCPv6-PD, the IPv6 address is assigned to the OPT1 interface instead of the LAN interface.
In this configuration, the IPv6 Address is displayed in the OPT1 interface status, and the same IPv6 Address is also displayed in the WAN interface status. Additionally, the IPv6 Link Local of the OPT1 interface displays fe80::[identical EUI-64]%em0, and the IPv6 Link Local of the WAN interface also displays fe80::[identical EUI-64]%em0. (The IPv4 address is displayed correctly on the WAN interface.)
So for IPv4-only PPPoE interfaces, I seem that pfSense does not correctly distinguish between physical and logical interfaces in the interface status.
-
Hmm, what do you have OPT1 assigned to in that configuration?
-
Hmm, what do you have OPT1 assigned to in that configuration?
OPT1 is assigned to the em0 device, which is common to the WAN.
There is additional information.
When I close the PPPoE session using the Disconnect icon in the WAN interface status, the WAN interface status no longer displays any information, but the Interfaces Widget continues to display the IPv6 Address fore WAN interface, and the WAN interface in the console also continues to display the IPv6 Address.
-
Like in the output of
ifconfig pppoe0
?