Skip to content

Instantly share code, notes, and snippets.

@paulc
Last active October 12, 2023 16:44
Show Gist options
  • Save paulc/74bafce70c10549c9d39ed35ea296cde to your computer and use it in GitHub Desktop.
Save paulc/74bafce70c10549c9d39ed35ea296cde to your computer and use it in GitHub Desktop.
FreeBSD VNET inet6 (Hetzner Cloud)

Ensure bridge inherits mac addresses

echo if_bridge_load=YES >> /boot/loader.conf
echo net.link.bridge.inherit_mac=1 >> /etc/sysctl.conf

Configure external IPv6 address on bridge0

sysrc ifconfig_vtnet0="up"
sysrc cloned_interfaces="bridge0"
sysrc ifconfig_bridge0="addm vtnet0"
sysrc ifconfig_bridge0_ipv6="inet6 <HOST_IPV6> prefixlen 64 auto_linklocal"
sysrc ipv6_defaultrouter="fe80::1%bridge0"

sysrc gateway_enable="YES"
sysrc ipv6_gateway_enable="YES"
sysrc ip6addrctl_policy="ipv6_prefer"

Set static NDP entry for getaway in Jail

exec.prestart += "sysrc -R \"${root}\" ifconfig_${id}b_ipv6=\"inet6 ${prefix}:${suffix} mtu 1420\"";
exec.prestart += "sysrc -R \"${root}\" ipv6_defaultrouter=fe80::1%${id}b";
exec.prestart += "sysrc -R \"${root}\" static_ndp_pairs=gw";
exec.prestart += "
    MAC=$(ndp -an | awk '/fe80::1%bridge0/ { print $2 }')
    sysrc -R \"${root}\" static_ndp_gw=\"fe80::1%${id}b \${MAC}\"
";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment