For a couple of VNET jails, I used private subnets (IPv4 and IPv6) so far, and pf for NAT. Switching to public IPv6 addresses has proven surprisingly difficult. My setup looks like this:
After testing many things, I finally found the following advice (which leads to a working configuration):
However, a Wiki entry by Lennert van Alboom advises against this, suggesting to assign the whole /64 subnet to the bridge instead, and to change the
- VPS with a
/64IPv6 subnet - A bridge interface with an IP address from a
/120subnet (2a0a:4cc0:c1:5ba9::100/120) - 4 VNET jails with interfaces linked to the same
/120subnet (2a0a:4cc0:c1:5ba9::101/120etc)
After testing many things, I finally found the following advice (which leads to a working configuration):
Code:
sysctl net.inet6.icmp6.nd6_onlink_ns_rfc4861=1
ndp -s 2a0a:4cc0:c1:5ba9::110 58:9c:fc:10:1c:83 proxy
However, a Wiki entry by Lennert van Alboom advises against this, suggesting to assign the whole /64 subnet to the bridge instead, and to change the
ipv6_defaultrouter from fe80::1%vtnet0 to fe80::1%bridge0. I am a little afraid this might break my access to the VPS, so I would like to understand the suggestion better:- Why is it helpful to assign the /64 subnet (instead of a smaller subnet) to the bridge? How would you configure a setup with multiple subnets, each linked to a different bridge interface?
- Why is disabling TCP segmentation offloading for the physical interface important (according to Lennert)?
- What are the effects from setting the bridge interface as default router instead of the "physical" interface on the host (specifically: What happens to the current primary IPv6 address of the host when assigning the /64 subnet containing this IP to the bridge?)