Re: IPv6 accept_rtadv for default route and prefix but force host portion of /64 address?
Date: Wed, 01 Oct 2025 14:33:23 UTC
Hi You can use dhcpcd from ports for this, rather than the FreeBSD Kernel. https://man.freebsd.org/cgi/man.cgi?query=dhcpcd.conf Example configuration in dhcpcd.conf interface igb0 slaac token ::123 Now, dhcpcd will generate SLAAC addresses using the token instead of the hardware address. Fair warning, dhcpcd will take over some stuff on your router so you may want to limit it to some interfaces only and maybe some protocols only. See the fine man page for details. Good luck! Roy ---- On Mon, 29 Sep 2025 22:32:59 +0100 Tom Pusateri<pusateri@keehole.org> wrote ---- Is there a way to change the configuration in /etc/rc.conf to get the prefix from the router advertisement but fix the host portion to something like ::123 so that I can change network cards in the server and never have to worry about the IPv6 address changing? I have a DMZ interface on a FreeBSD router with a prefix delegation from my provider I assign to a downstream interface. I have another FreeBSD server on the DMZ network and would like it to have a fixed address allocated out of the assigned prefix from the router. The router (also FreeBSD) is running rtadvd providing SLAAC and router advertisements. The /etc/rc.conf for the DMZ server currently looks like this: ifconfig_igb0_ipv6="inet6 2605:1:2:3::123/64 accept_rtadv” This works fine and manually assigns the address out of the assigned prefix range as configured on the router. It also assigns a second IPv6 address via SLAAC that I don’t use. ifconfig output looks like this: igb0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500 options=4e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG> ether ac:1f:6b:1a:04:c0 inet 1.2.3.123 netmask 0xfffffff8 broadcast 1.2.3.127 inet6 fe80::ae1f:6bff:fe1a:4c0%igb0 prefixlen 64 scopeid 0x1 inet6 2605:1:2:3::123 prefixlen 64 inet6 2605:1:2:3:ae1f:6bff:fe1a:4c0 prefixlen 64 autoconf pltime 604800 vltime 2592000 media: Ethernet autoselect (1000baseT <full-duplex>) status: active nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> I get the correct upstream next hop for a default route: % netstat -nra6 Routing tables Internet6: Destination Gateway Flags Netif Expire ::/96 link#3 URS lo0 default fe80::207:43ff:fe31:7078%igb0 UG igb0 The problem with this is that the IPv6 prefix is configured on the router and configured on the server. Thanks, Tom