Hallo,
hannip hast du es mittlerweile gelöst? Ich bin zwar soweit, dass meine Container alle eine IPv6 Adresse erhalten, von außen jedoch nicht erreichbar sind. Mit dem Einsatz von neigh proxy funktioniert es zwar, ich würde es jedoch gerne so lösen wie oliver.g , klappt jedoch nicht.
Mein Vorgehen:
Schritt 1: Wie im netcup Wiki beschrieben IPv4+IPv6 für das Netzwerk Interface ens3 einstellen: https://www.netcup-wiki.de/wik…IP_Adresse_konfigurieren: /etc/network/interfaces
# The primary network interface
auto ens3
iface ens3 inet static
address 188.68.**.**
netmask 255.255.252.0
broadcast 188.68.51.255
gateway 188.68.48.1
iface ens3 inet6 static
address 2a03:4000:6:****::1
netmask 64
gateway fe80::1
Alles anzeigen
Schritt 2: https://docs.docker.com/engine…ing/default_network/ipv6/
Da habe ich mich an dem Absatz "Often servers or virtual machines get a /64 IPv6 subnet assigned [...]" orientiert.
In /etc/docker/daemon.json folgendes eingetragen:
{
"ipv6": true,
"fixed-cidr-v6": "2a03:4000:6:****:1::/80"
}
Folgende Befehle ausgeführt (wobei der erste nicht nötigt scheint, setzt Docker auch von selbst - siehe später ; die letzten 2 Befehle sind mittlerweile in /etc/sysctl.d/50-IPv6.confeingetragen):
$ ip -6 route add 2a03:4000:6:****:1::/80 dev docker0
$ sysctl net.ipv6.conf.default.forwarding=1
$ sysctl net.ipv6.conf.all.forwarding=1
Alle Docker Container ohne Netzwerk Angabe erhalten eine IPv6 aus dieser Range, z.B. 2a03:4000:6:****:1::2 (2a03:4000:6:****:1::1 hat docker0 als Gateway).
Lege ich mit docker-compose ( https://docs.docker.com/compos…ipv4_address-ipv6_address ) weitere Container mit einem Netzwerk mit eigenem Subnetz an...
networks:
mynetwork:
driver: bridge
enable_ipv6: true
ipam:
driver: default
config:
- subnet: 172.20.0.0/24
- subnet: 2a03:4000:6:****:2::/80
... erhalten die Container auch eine IP aus dem Subnetz und Docker richtet eine Route ein.
$ ip -6 r
2a03:4000:6:****:1::/80 dev docker0 proto kernel metric 256 pref medium
2a03:4000:6:****:1::/80 dev docker0 metric 1024 pref medium
2a03:4000:6:****:2::/80 dev br-4d0f56215b56 proto kernel metric 256 pref medium
2a03:4000:6:****:2::/80 dev br-4d0f56215b56 metric 1024 pref medium
2a03:4000:6:****::/64 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev docker0 proto kernel metric 256 pref medium
fe80::/64 dev vethb93fd0c proto kernel metric 256 pref medium
fe80::/64 dev br-4d0f56215b56 proto kernel metric 256 pref medium
fe80::/64 dev vethc0fd246 proto kernel metric 256 pref medium
fe80::/64 dev veth7e57aa8 proto kernel metric 256 pref medium
fe80::/64 dev veth2e712f6 proto kernel metric 256 pref medium
fe80::/64 dev vethd968967 proto kernel metric 256 pref medium
fe80::/64 dev vethe397721 proto kernel metric 256 pref medium
default via fe80::1 dev ens3 metric 1024 pref medium
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
95fcd21***** bridge bridge local #docker0
ee58001***** host host local
6a1e19d***** none null local
4d0f56215b56 mynetwork bridge local #br-4d0f56215b56
$ brctl show #(via bridge-utils)
bridge name bridge id STP enabled interfaces
br-4d0f56215b56 8000.0242b6 no veth2e712f6
veth7e57aa8
vethc0fd246
vethd968967
vethe397721
docker0 8000.02422d no vethb93fd0c
Alles anzeigen
Die Container sind aber wie schon geschrieben von extern nicht erreichbar. Firewall (iptables 4/6) ist (noch) nicht konfiguriert, lässt also alles durch. (Die Network ID bzw. bridge br-** und interfaces sind dynamisch generiert.)
Was übersehe ich bzw. hat jemand einen Tipp? Hab schon das ein oder andere erfolglos versucht. oliver.g wie sieht den deine Netzwerkkonfig. (/etc/network/interfaces) aus?