IPv6 in Docker: Dual Stack, NAT66 und Security

Mit der zunehmenden Verbreitung von IPv6 müssen auch Docker-Umgebungen auf modernen Netzwerktechnologien aufbauen. Standardmäßig ist Docker auf IPv4 fokussiert, doch Dual-Stack-Netzwerke, NAT66 und gezielte Security-Maßnahmen sind essenziell, um Container sowohl intern als auch extern sicher und performant zu betreiben. In diesem Artikel erklären wir praxisnah, wie man IPv6 in Docker aktiviert, Dual-Stack-Netzwerke konfiguriert und Sicherheitsaspekte berücksichtigt.

1. IPv6-Unterstützung in Docker aktivieren

Docker unterstützt IPv6 ab Version 1.12, muss jedoch explizit aktiviert werden. Dies geschieht in der Daemon-Konfiguration /etc/docker/daemon.json:

{
  "ipv6": true,
  "fixed-cidr-v6": "fd00:dead:beef::/48"
}

Hierbei definiert fixed-cidr-v6 den Adressbereich für Container. Nach der Änderung muss der Docker-Daemon neu gestartet werden:

sudo systemctl restart docker

2. Dual-Stack Netzwerke

Ein Dual-Stack-Netzwerk ermöglicht Containern, sowohl IPv4- als auch IPv6-Adressen zu verwenden. Dies ist insbesondere für Anwendungen nützlich, die in gemischten Umgebungen kommunizieren müssen.

Netzwerk mit Dual-Stack anlegen

docker network create 
  --driver bridge 
  --subnet 172.18.0.0/16 
  --ipv6 
  --subnet fd00:dead:beef::/48 
  dualstack-net

Container in diesem Netzwerk erhalten automatisch eine IPv4- und IPv6-Adresse:

docker run -d --name app --network dualstack-net nginx:latest
docker inspect app | grep -i "IPAddress"

3. NAT66 und IPv6-Routing

Im Gegensatz zu IPv4 ist NAT in IPv6 nicht standardmäßig nötig, da Adressen global eindeutig sind. Dennoch kann NAT66 für spezielle Szenarien oder Legacy-Integration verwendet werden.

IPv6 NAT mit ip6tables

sudo ip6tables -t nat -A POSTROUTING -s fd00:dead:beef::/48 -o eth0 -j MASQUERADE

Alternativ können Routing-Regeln konfiguriert werden, um Container direkt erreichbar zu machen, ohne NAT:

sudo sysctl -w net.ipv6.conf.all.forwarding=1

4. Security in IPv6-Netzen

IPv6 bringt neue Sicherheitsaspekte: ICMPv6 ist notwendig für Neighbor Discovery und Path MTU Discovery, darf aber nicht komplett blockiert werden. Ebenso müssen Firewalls Dual-Stack-fähig sein.

Firewall-Regeln für IPv6

sudo nft add table ip6 filter
sudo nft add chain ip6 filter input { type filter hook input priority 0 ; }
sudo nft add rule ip6 filter input icmpv6 type {neighbour-solicit, neighbour-advertisement, router-solicit, router-advertisement} accept
sudo nft add rule ip6 filter input tcp dport 22 accept
sudo nft add rule ip6 filter input drop

Damit werden notwendige ICMPv6-Nachrichten zugelassen, während unnötige Ports blockiert werden.

5. Debugging und Monitoring

IPv6 in Docker kann komplex sein, daher ist Monitoring unerlässlich. Die folgenden Befehle helfen bei der Fehlersuche:

  • Netzwerkstatus anzeigen:
    docker network inspect dualstack-net
  • IPv6-Konnektivität testen:
    docker exec app ping6 google.com
  • Firewall prüfen:
    sudo nft list ruleset

6. Best Practices

  • Docker-Daemon IPv6 explizit aktivieren und fixed-cidr-v6 setzen
  • Dual-Stack-Netzwerke für gemischte Umgebungen verwenden
  • NAT66 nur bei speziellen Anforderungen einsetzen, IPv6-Routing bevorzugen
  • ICMPv6 für ND und PMTU unbedingt erlauben
  • IPv6-fähige Firewall-Regeln nutzen
  • Monitoring für IPv6-Konnektivität regelmäßig durchführen

Fazit

Die Nutzung von IPv6 in Docker erfordert Planung und ein Verständnis der Unterschiede zu IPv4. Mit Dual-Stack, korrektem Routing oder optionalem NAT66 sowie angepassten Firewall-Regeln lässt sich eine sichere und performante Container-Umgebung aufbauen. Durch sorgfältige Konfiguration werden IPv6-Netzwerke transparent, wartbar und produktionsbereit.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles