I don't really need IPV6 on my home network but since my ISP offers both IPV4 and native IPV6 addresses and provides a router that supports IPV6 I decided to give it a try in order to acquire a bit of IPV6 experience.
I was able get it working with just one initial 'show stopping' problem which I managed to workaround but am wondering if there is a better solution.
My router is a Fritzbox 3490 which provides LAN clients with global addresses in a 2a02:8010:6418::/48 subnet. I've left the IPV4 configuration unchanged with fixed addresses for the desktop PCs and DHCP addressesr in the range 192.168.1.200 to 192,168,1,254 allocated by the router for mobile devices.
The relevant lines in /etc/rc.conf for my FreeBSD 11.1 box are:
On first booting with these settings I lost the ability to do any DNS lookups. The reason for this was that /etc/resolv.conf had been replaced with the following:
The problem was that there is no route to fd00::7eff:4dff:fe20:ffe1 which is the unique local address for the router.
As a workaround I was able to do DNS lookups after replacing the nameserver address with either the IPV4 version 192.168.1.1 or its global address 2a02:8010:6418:0:7eff:4dff:fe20:ffe1 and adding
Having now achieved what appears to be a working IPV6 there's one further oddity which I haven't managed to resolve. None of the link-local addresses on the LAN appear to be accessible from my FreeBSD box.
And here's details of the network interfaces and routing
Although this isn't causing any real problems I'm curious to know if this behaviour is normal or if I've missed something in my FreeBSD configuration because I can ping all the link-local addresses from a Windows 7 box
I was able get it working with just one initial 'show stopping' problem which I managed to workaround but am wondering if there is a better solution.
My router is a Fritzbox 3490 which provides LAN clients with global addresses in a 2a02:8010:6418::/48 subnet. I've left the IPV4 configuration unchanged with fixed addresses for the desktop PCs and DHCP addressesr in the range 192.168.1.200 to 192,168,1,254 allocated by the router for mobile devices.
The relevant lines in /etc/rc.conf for my FreeBSD 11.1 box are:
Code:
defaultrouter="192.168.1.1"
ifconfig_re0="inet 192.168.1.13 netmask 255.255.255.0"
ipv6_activate_all_interfaces="YES"
ifconfig_re0_ipv6="inet6 accept_rtadv"
ipv6_privacy="YES"
On first booting with these settings I lost the ability to do any DNS lookups. The reason for this was that /etc/resolv.conf had been replaced with the following:
Code:
# Generated by resolvconf
nameserver fd00::7eff:4dff:fe20:ffe1
The problem was that there is no route to fd00::7eff:4dff:fe20:ffe1 which is the unique local address for the router.
Code:
curlew:/home/mike% ping6 fe80::7eff:4dff:fe20:ffe1
ping6: UDP connect: Network is unreachable
resolvconf=NO
to /etc/resolvconf.conf. But is this workaround the correct solution or should I be trying to fix the issue of fe80::7eff:4dff:fe20:ffe1 being unreachable? I'm assuming that it should be possible to use fd00::7eff:4dff:fe20:ffe1 as the nameserver, that value is working fine on a couple of Windows7 boxes.Having now achieved what appears to be a working IPV6 there's one further oddity which I haven't managed to resolve. None of the link-local addresses on the LAN appear to be accessible from my FreeBSD box.
Code:
curlew:/home/mike% sh ipv6test
#**************** Fritz,box ****************"
+ ping6 -oq 2a02:8010:6418:0:7eff:4dff:fe20:ffe1
PING6(56=40+8+8 bytes) 2a02:8010:6418:0:79df:8dcf:21d1:3f06 --> 2a02:8010:6418:0:7eff:4dff:fe20:ffe1
--- 2a02:8010:6418:0:7eff:4dff:fe20:ffe1 ping6 statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.356/0.356/0.356/0.000 ms
+ ping6 -oq fe80::7eff:4dff:fe20:ffe1
ping6: UDP connect: Network is unreachable
#**************** Curlew - FreeBSD ****************
+ ping6 -oq 2a02:8010:6418:0:428d:5cff:fe84:3d74
PING6(56=40+8+8 bytes) 2a02:8010:6418:0:428d:5cff:fe84:3d74 --> 2a02:8010:6418:0:428d:5cff:fe84:3d74
--- 2a02:8010:6418:0:428d:5cff:fe84:3d74 ping6 statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.121/0.121/0.121/0.000 ms
+ ping6 -oq fe80::428d:5cff:fe84:3d74
ping6: UDP connect: Network is unreachable
#**************** Otter - Win7 ****************
+ ping6 -oq 2a02:8010:6418:0:6d9f:3843:6c40:d025
PING6(56=40+8+8 bytes) 2a02:8010:6418:0:79df:8dcf:21d1:3f06 --> 2a02:8010:6418:0:6d9f:3843:6c40:d025
--- 2a02:8010:6418:0:6d9f:3843:6c40:d025 ping6 statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.371/0.371/0.371/0.000 ms
+ ping6 -oq fe80::6d9f:3843:6c40:d025
ping6: UDP connect: Network is unreachable
#**************** Hedgehog - Win7 ***************
+ ping6 -oq 2a02:8010:6418:0:a59f:973:bcc1:9e74
PING6(56=40+8+8 bytes) 2a02:8010:6418:0:79df:8dcf:21d1:3f06 --> 2a02:8010:6418:0:a59f:973:bcc1:9e74
--- 2a02:8010:6418:0:a59f:973:bcc1:9e74 ping6 statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.508/0.508/0.508/0.000 ms
+ ping6 -oq fe80::a59f:973:bcc1:9e74
ping6: UDP connect: Network is unreachable
And here's details of the network interfaces and routing
Code:
curlew:/home/mike% ifconfig
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
ether 40:8d:5c:84:3d:74
hwaddr 40:8d:5c:84:3d:74
inet 192.168.1.13 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::428d:5cff:fe84:3d74%re0 prefixlen 64 scopeid 0x1
inet6 2a02:8010:6418:0:428d:5cff:fe84:3d74 prefixlen 64 autoconf
inet6 2a02:8010:6418:0:79df:8dcf:21d1:3f06 prefixlen 64 autoconf temporary
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
groups: lo
curlew:/home/mike% netstat -rWn
Routing tables
Internet:
Destination Gateway Flags Use Mtu Netif Expire
default 192.168.1.1 UGS 3722 1500 re0
127.0.0.1 link#2 UH 865 16384 lo0
192.168.1.0/24 link#1 U 229834 1500 re0
192.168.1.13 link#1 UHS 40982 16384 lo0
Internet6:
Destination Gateway Flags Use Mtu Netif Expire
::/96 ::1 UGRS 0 16384 lo0
default fe80::7eff:4dff:fe20:ffe1%re0 UG 7966 1500 re0
::1 link#2 UH 13 16384 lo0
::ffff:0.0.0.0/96 ::1 UGRS 0 16384 lo0
2a02:8010:6418::/64 link#1 U 507 1500 re0
2a02:8010:6418:0:428d:5cff:fe84:3d74 link#1 UHS 50 16384 lo0
2a02:8010:6418:0:79df:8dcf:21d1:3f06 link#1 UHS 7 16384 lo0
fe80::/10 ::1 UGRS 0 16384 lo0
fe80::%re0/64 link#1 U 220 1500 re0
fe80::428d:5cff:fe84:3d74%re0 link#1 UHS 0 16384 lo0
fe80::%lo0/64 link#2 U 0 16384 lo0
fe80::1%lo0 link#2 UHS 0 16384 lo0
ff02::/16 ::1 UGRS 0 16384 lo0
Although this isn't causing any real problems I'm curious to know if this behaviour is normal or if I've missed something in my FreeBSD configuration because I can ping all the link-local addresses from a Windows 7 box
Code:
C:\Users\mike>.\ipv6test.bat
**************** Fritz,box router ****************
Pinging 2a02:8010:6418:0:7eff:4dff:fe20:ffe1 with 32 bytes of data:
Reply from 2a02:8010:6418:0:7eff:4dff:fe20:ffe1: time=1ms
Ping statistics for 2a02:8010:6418:0:7eff:4dff:fe20:ffe1:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms
Pinging fe80::7eff:4dff:fe20:ffe1 with 32 bytes of data:
Reply from fe80::7eff:4dff:fe20:ffe1: time<1ms
Ping statistics for fe80::7eff:4dff:fe20:ffe1:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
.
**************** Curlew - FreeBSD ****************
Pinging 2a02:8010:6418:0:428d:5cff:fe84:3d74 with 32 bytes of data:
Reply from 2a02:8010:6418:0:428d:5cff:fe84:3d74: time=1ms
Ping statistics for 2a02:8010:6418:0:428d:5cff:fe84:3d74:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms
Pinging fe80::428d:5cff:fe84:3d74 with 32 bytes of data:
Reply from fe80::428d:5cff:fe84:3d74: time<1ms
Ping statistics for fe80::428d:5cff:fe84:3d74:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
.
**************** Otter - Win7 ****************
Pinging 2a02:8010:6418:0:6d9f:3843:6c40:d025 with 32 bytes of data:
Reply from 2a02:8010:6418:0:6d9f:3843:6c40:d025: time<1ms
Ping statistics for 2a02:8010:6418:0:6d9f:3843:6c40:d025:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Pinging fe80::6d9f:3843:6c40:d025 with 32 bytes of data:
Reply from fe80::6d9f:3843:6c40:d025: time<1ms
Ping statistics for fe80::6d9f:3843:6c40:d025:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
.
**************** Hedgehog - Win7 ****************
Pinging 2a02:8010:6418:0:a59f:973:bcc1:9e74 with 32 bytes of data:
Reply from 2a02:8010:6418:0:a59f:973:bcc1:9e74: time=3ms
Ping statistics for 2a02:8010:6418:0:a59f:973:bcc1:9e74:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 3ms, Maximum = 3ms, Average = 3ms
Pinging fe80::a59f:973:bcc1:9e74 with 32 bytes of data:
Reply from fe80::a59f:973:bcc1:9e74: time=1ms
Ping statistics for fe80::a59f:973:bcc1:9e74:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms