-Nuke-
Well-Known Member
Heyho.
Ich muss gleich mal sagen, dass ich mich mit IPv6 nicht sonderlich auskenne und das will ich damit auch ändern. Also ich habe ein Server von Hetzner und darauf läuft auch eigentlich alles ziemlich gut (es ist noch FreeBSD 10.3 falls relevant. Update auf 11.0 folgt noch). IPv6 auf dem Host direkt ist wohl schon durch die Hetzner-Config gut eingerichtet. Ich erreichte Dienste direkt auf dem Host (was im Endeffekt nur SSH ist) über IPv4 und IPv6. Dienste in Jails leite ich mittels pf vom Host an die Jails weiter. Über IPv6 erreiche ich die Jail-Dienste NICHT. Also z.B. telnet <ip4addr> 80 geht. telnet <ipv6addr> 80 geht nicht.
Da dort keinerlei IPv6 relevanten Daten drin stehen oder Konfigurationen vorgenommen wurden, ist das auch nicht weiter verwunderlich.
Ping an IPv4 Adressen geht in raw_socket Jails. Ping6 wiederum nicht, weil IPv6 nicht unterstützt ist. Ping4 und Ping6 funktionieren auf dem Host normal.
Die Config in der rc.conf von Hetzner sieht da so aus (Adressen mal entfernt und in <ipv4addr> und <ipv6addr> gepackt):
Jails binde ich an ein lokales lo Interface und kriegen da ihre IP:
Meine (gekürzte) pf.conf sieht da im großen und ganzen so aus (hat halt nur mehr rdr Einträge die alle so aussehen:
Jetzt würde ich gerne alles noch mal für IPv6 haben. Aber wie und welche Adressen gebe ich den Jails da und muss da was in der pf geändert werden?
Ich muss gleich mal sagen, dass ich mich mit IPv6 nicht sonderlich auskenne und das will ich damit auch ändern. Also ich habe ein Server von Hetzner und darauf läuft auch eigentlich alles ziemlich gut (es ist noch FreeBSD 10.3 falls relevant. Update auf 11.0 folgt noch). IPv6 auf dem Host direkt ist wohl schon durch die Hetzner-Config gut eingerichtet. Ich erreichte Dienste direkt auf dem Host (was im Endeffekt nur SSH ist) über IPv4 und IPv6. Dienste in Jails leite ich mittels pf vom Host an die Jails weiter. Über IPv6 erreiche ich die Jail-Dienste NICHT. Also z.B. telnet <ip4addr> 80 geht. telnet <ipv6addr> 80 geht nicht.
Da dort keinerlei IPv6 relevanten Daten drin stehen oder Konfigurationen vorgenommen wurden, ist das auch nicht weiter verwunderlich.
Ping an IPv4 Adressen geht in raw_socket Jails. Ping6 wiederum nicht, weil IPv6 nicht unterstützt ist. Ping4 und Ping6 funktionieren auf dem Host normal.
Die Config in der rc.conf von Hetzner sieht da so aus (Adressen mal entfernt und in <ipv4addr> und <ipv6addr> gepackt):
Code:
ifconfig_re0="inet <ipv4addr> netmask 0xffffffe0 broadcast <ipv4addr>"
gateway_if="re0"
gateway_ip="<ipv4addr>"
static_routes="gateway default"
route_gateway="-host $gateway_ip -interface $gateway_if"
route_default="default $gateway_ip"
ipv6_default_interface="re0"
ifconfig_re0_ipv6="<ipv6addr>"
ipv6_defaultrouter="fe80::1%re0"
Jails binde ich an ein lokales lo Interface und kriegen da ihre IP:
Code:
cloned_interfaces="lo1"
ifconfig_lo1_name="jail0"
ipv4_addrs_jail0="10.0.0.1/24 10.0.0.1-20/32"
Meine (gekürzte) pf.conf sieht da im großen und ganzen so aus (hat halt nur mehr rdr Einträge die alle so aussehen:
Code:
ALLIF = "{ jail0, re0 }"
PUBIF="re0"
JAILIF="jail0"
PUBIP="<ipv4addr>"
JAILNET="10.0.0.0/24"
REVERSEJAIL="10.0.0.1"
scrub in all
set skip on lo0
# Rules
nat pass on $PUBIF from $JAILNET to any -> $PUBIP
rdr pass on $PUBIF proto tcp from any to $PUBIP port {http, https} -> $REVERSEJAIL
pass out on $ALLIF all keep state
pass in on $ALLIF all keep state
Jetzt würde ich gerne alles noch mal für IPv6 haben. Aber wie und welche Adressen gebe ich den Jails da und muss da was in der pf geändert werden?