My firewall is running FreeBSD 14.1 and has the following configured for /etc/rtadvd.conf:
And rtadvd(8) is enabled in /etc/rc.conf with:
Now on my macos laptop I get my GUA from gw0, my ULA from wifi0 and most importantly it gets the route for my entire ULA: fdc5:972:cd8b::/48 as seen with
That is perfect. But on the workstation which is also running FreeBSD 14.1 I get GUA and ULA but it does not set the route, running
No amount of invoking
To be completely sure, I also have an adapter for my macos notebook and verified that plugged into the local area network it still gets this routet. I even rebooted the notebook with WiFi off to make sure I did not have stale config from the WiFi.
The interface on the FreeBSD workstation is configured with just 3 lines in /etc/rc.conf with:
I can work around this by adding:
Once that is in place notebook and workstation can ping(8) each other using ULA and have connectivity.
Is there a sysctl(8) or other config that prevents FreeBSD from accepting additional routes or is this missing functionality? rtadvd(8) is definitely sending the information. I would like routes to be managed on the firewall not each individual host.
Code:
gw0:\
lan0:\
:rtprefix="fdc5:972:cd8b::":rtplen#48:\
:rdnss="fdc5:972:cd8b:2::1":\
:dnssl="lan.XXX.net,wifi.XXX.net,XXX.net":
wifi0:\
:rtprefix="fdc5:972:cd8b::":rtplen#48:\
:rdnss="fdc5:972:cd8b:3::1":\
:dnssl="wifi.XXX.net,lan.XXX.net,XXX.net":
Code:
rtadvd_enable="YES"
rtadvd_interfaces="gw0 lan0 wifi0"
Now on my macos laptop I get my GUA from gw0, my ULA from wifi0 and most importantly it gets the route for my entire ULA: fdc5:972:cd8b::/48 as seen with
netstat -rn | grep fdc:
Code:
fdc5:972:cd8b::/48 fe80::5a9c:fcff:fe10:ff97%en0 UGc en0
fdc5:972:cd8b:3::/64 link#11 UC en0
fdc5:972:cd8b:3::1 58:9c:fc:10:ff:97 UHLWIi en0
fdc5:972:cd8b:3:8b3:b824:822:4e49 80:54:e3:84:c7:99 UHLWI en0
fdc5:972:cd8b:3:14d0:c95e:402:2158 8a:11:81:52:64:be UHL lo0
That is perfect. But on the workstation which is also running FreeBSD 14.1 I get GUA and ULA but it does not set the route, running
netstat -rn | grep fdc here only results in:
Code:
fdc5:972:cd8b:2::/64 link#4 U lan0
fdc5:972:cd8b:2:1cf3:8eff:fefe:aeaf link#2 UHS lo0
rtsold lan0 will pick it up either.To be completely sure, I also have an adapter for my macos notebook and verified that plugged into the local area network it still gets this routet. I even rebooted the notebook with WiFi off to make sure I did not have stale config from the WiFi.
The interface on the FreeBSD workstation is configured with just 3 lines in /etc/rc.conf with:
Code:
ifconfig_re0_name="lan0"
ifconfig_lan0="SYNCDHCP"
ifconfig_lan0_ipv6="inet6 accept_rtadv"
Code:
# should not be necessary (macos picks up route)
ipv6_static_routes="ula"
ipv6_route_ula="fdc5:972:cd8b::/48 fdc5:972:cd8b:2::1"
Once that is in place notebook and workstation can ping(8) each other using ULA and have connectivity.
Is there a sysctl(8) or other config that prevents FreeBSD from accepting additional routes or is this missing functionality? rtadvd(8) is definitely sending the information. I would like routes to be managed on the firewall not each individual host.