Hallo zusammen,
ich habe auf meinem RS 500 SAS G7 bereits mehrere Docker-Container laufen, welche wunderbar über IPv4 und IPv6 von außerhalb erreichbar sind, wenn die entsprechenden Ports auf den Host gemappt wurden. Leider funktioniert es noch nicht korrekt, dass Container eine IPv6-Adresse zugewiesen bekommen und über diese auch mit externen Hosts kommunizieren können.
Nun möchte ich innerhalb eines Containers Wireguard laufen lassen, wobei ich gerne auch IPv6 verwenden möchte. (Wireguard mit IPv4 funktioniert schon problemlos). Dabei bin ich auf die Problematik mit Docker und IPv6 sowie Netcup gestoßen und habe mich bereits durch diverse Threads gelesen [1],[2],[3]. Auf dem Root-Server habe ich IPv6 eingerichtet anhand des Wiki-Eintrags [4] und kann den Server von außerhalb erreichen, als auch Verbindungen vom Server zu z.B. Google aufbauen. Weiterhin habe ich nach [3] noch ndppd installiert, da dies in einem anderen Thread empfohlen wurde.
Meine Konfiguration sieht bisher so aus:
/etc/network/interfaces
# /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug ens3
# IPv4 Netcup static
iface ens3 inet static
address 37.120.178.XXX
gateway 37.120.176.1
netmask 255.255.252.0
dns-nameservers 46.38.225.230 46.38.252.230
# IPv6 Netcup static
iface ens3 inet6 static
address 2a03:4000:6:XXXX::1
netmask 64
gateway fe80::1
dns-nameservers 2a03:4000:0:1::e1e6 2a03:4000:8000::fce6
Display More
/etc/docker/daemon.json
/etc/ndppd.conf (Alternative Konfiguration als Kommentar noch enthalten.)
#proxy ens3 {
# rule 2a03:4000:6:XXXX:1::/80 {
# auto
# }
#}
route-ttl 30000
proxy ens3 {
router yes
timeout 500
ttl 30000
rule 2a03:4000:6:XXXX::1/64 {
static
}
}
Display More
/etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
# Netcup wiki: https://www.netcup-wiki.de/wiki/Zus%C3%A4tzliche_IP_Adresse_konfigurieren#IPv6
net.ipv6.conf.default.accept_ra = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.ens3.accept_ra = 0
net.ipv6.conf.ens3.autoconf = 0
Display More
Der aktuelle Status ist so, dass jeder neu erzeugte Docker-Container eine IPv6-Adresse aus dem Adressbereich zugeordnet bekommt, allerdings nicht zu externen Hosts pingen kann. Pingen zwischen Root-Server und Containern funkioniert allerdings:
root@4b78b4347d3e:/# ping6 <RS> # Container zu Root-Server
PING <RS>(<RS> (2a03:4000:6:XXXX::1)) 56 data bytes
64 bytes from <RS> (2a03:4000:6:XXXX::1): icmp_seq=1 ttl=64 time=0.186 ms
64 bytes from <RS> (2a03:4000:6:XXXX::1): icmp_seq=2 ttl=64 time=0.082 ms
64 bytes from <RS> (2a03:4000:6:XXXX::1): icmp_seq=3 ttl=64 time=0.106 ms
64 bytes from <RS> (2a03:4000:6:XXXX::1): icmp_seq=4 ttl=64 time=0.079 ms
^C
--- <RS> ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 45ms
rtt min/avg/max/mdev = 0.079/0.113/0.186/0.043 ms
root@watson:~# ping6 2a03:4000:6:XXXX:1:242:ac11:2 # Root-Server zu Container
PING 2a03:4000:6:XXXX:1:242:ac11:2(2a03:4000:6:XXXX:1:242:ac11:2) 56 data bytes
64 bytes from 2a03:4000:6:XXXX:1:242:ac11:2: icmp_seq=1 ttl=64 time=0.125 ms
64 bytes from 2a03:4000:6:XXXX:1:242:ac11:2: icmp_seq=2 ttl=64 time=0.167 ms
64 bytes from 2a03:4000:6:XXXX:1:242:ac11:2: icmp_seq=3 ttl=64 time=0.262 ms
64 bytes from 2a03:4000:6:XXXX:1:242:ac11:2: icmp_seq=4 ttl=64 time=0.123 ms
^C
--- 2a03:4000:6:XXXX:1:242:ac11:2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 76ms
rtt min/avg/max/mdev = 0.123/0.169/0.262/0.057 ms
Vielleicht kann mir ja jemand noch ein paar Denkanstöße geben oder sieht etwas, was ich schlicht übersehen habe! Vielen Dank .
[1] https://forum.netcup.de/admini…6-problem-auf-vps-system/
[2] https://forum.netcup.de/admini…2-docker-extern-nur-ipv6/
[3] https://forum.netcup.de/admini…ocker-container/?pageNo=1
[4] https://www.netcup-wiki.de/wik…dresse_konfigurieren#IPv6
Liebe Grüße
Max