IPv6 von einer Jail nach draußen?

SolarCatcher

Well-Known Member
Weil ich es leichter finde, IPv4 und IPv6 gleich zu behandeln, NAT'te ich beide für meine VNET-Jails, die auf privaten IP-Adressen laufen.

IPv4 läuft problemlos. Bei IPv6 gibt es aber ein kleines Problem: IPv6 von der Jail nach außen funktioniert erst, wenn mind. 1x IPv6 Traffic reingekommen ist. Vermutlich muss die Adresse oder Route erst noch irgendwo bekannt gemacht werden. Ich weiß aber nicht wie oder wo. Ich kann ja nicht nach jedem Neustart erstmal in den Host gehen und die IPv6-Adresse jeder Jail per ping6 anpingen, damit es auch in umgekehrter Richtung klappt.

Hat jemand eine Idee, wonach ich suchen muss? Muss die Bridge router advertisement machen oder ähnliches?
 

datasmurf

Well-Known Member
Hi SolarCatcher,

weil ich diese Woche vor demselben Problem stand habe letztendlich dann rtadvd(8) auf dem Host konfiguriert und die VNET-Jails via SLAAC. Damit klappt es.

Jail /etc/rc.conf

Code:
ipv6_activate_all_interfaces="YES"
ifconfig_vnet0_ipv6="inet6 accept_rtadv autoconf auto_linklocal"
rtsold_enable="YES"

Host /etc/rtadvd.conf

Code:
vtnet0:\
    :addrs#1:addr="2001:db8::1"\
    :prefixlen#64\
    :tc=default\
    :chlim=1\
    :rdnss="2620:fe::fe,2620:fe::9":

Host /etc/rc.conf
Code:
ipv6_activate_all_interfaces="YES"
ipv6_default_interface="vtnet0"
ipv6_prefix_vtnet0="2001:db8::1"
ifconfig_vtnet0_ipv6="inet6 -accept_rtadv autoconf auto_linklocal"
ipv6_defaultrouter="fe80::1%vtnet0"

Host /etc/sysctl.conf

Code:
net.inet6.ip6.forwarding=1   
net.link.bridge.pfil_onlyip=0  # Only pass IP packets when pfil is enabled
net.link.bridge.pfil_bridge=0  # Packet filter on the bridge interface
net.link.bridge.pfil_member=0  # Packet filter on the member interface
 

SolarCatcher

Well-Known Member
Danke @datasmurf ! Allerdings hatte ich dann später doch noch eine Lösung gefunden und nur vergessen, dies hier zu posten. Es hatte in meinem Fall doch nicht mit den Routes zu tun, sondern mit meiner PF-Konfiguration.

Ich kann es gerade nicht mehr ganz rekonstruieren. Aber in einer NAT oder RDR rule von /etc/pf.conf wurde eine IP-Adresse nur als (vtnet0) angegeben. Und das klappte offenbar mit den mehreren auf dem externen Interface konfigurierten IPv4- und IPv6-Adressen nicht zuverlässig. Ich habe dann jeweils die eine gewünschte Adresse direkt (bzw. als Makro) reingeschrieben und dann klappte es.
 
Oben