Site icon bintorosoft.com

Docker und nftables: Netzwerke ohne Chaos konfigurieren

Dissident social justice crusaders doing online activism, wearing anonymous masks and filming video in underground bunker, blackmailing government after stealing secret military documents

Docker nutzt standardmäßig iptables zur Steuerung von Container-Netzwerken, doch viele moderne Linux-Distributionen setzen zunehmend auf nftables. Dieses leistungsfähige Framework ermöglicht fein granulare Kontrolle über Netzwerktraffic, NAT und Firewall-Regeln. In diesem Tutorial erfahren Sie, wie Sie Docker-Netzwerke sauber mit nftables konfigurieren, typische Fallen vermeiden und eine sichere, wartbare Container-Infrastruktur aufbauen.

Warum nftables für Docker?

nftables ersetzt das traditionelle iptables und bietet Vorteile:

Docker-Netzwerke verstehen

Docker erstellt beim Start von Containern automatisch Bridges und NAT-Regeln:

Typische Fallstricke

Docker mit nftables statt iptables

Um Konflikte zu vermeiden, können Sie Docker starten, ohne dass es Regeln selbst verwaltet:

sudo dockerd --iptables=false

nftables Grundkonfiguration für Docker

Ein einfaches Setup umfasst die Definition von Tabellen, Chains und NAT:

sudo nft add table inet docker
sudo nft add chain inet docker input { type filter hook input priority 0 ; policy drop ; }
sudo nft add chain inet docker forward { type filter hook forward priority 0 ; policy drop ; }
sudo nft add chain inet docker output { type filter hook output priority 0 ; policy accept ; }

Port-Forwarding für Container

sudo nft add rule inet docker input tcp dport 80 accept
sudo nft add rule inet docker input tcp dport 443 accept
sudo nft add rule inet docker forward iif "eth0" oif "docker0" tcp dport 80 accept
sudo nft add rule inet docker forward iif "eth0" oif "docker0" tcp dport 443 accept

Interne Container-Kommunikation

Um Container auf derselben Bridge miteinander kommunizieren zu lassen:

sudo nft add rule inet docker forward iif "docker0" oif "docker0" accept

NAT für ausgehenden Traffic

Damit Container das Internet erreichen:

sudo nft add table ip nat
sudo nft add chain ip nat postrouting { type nat hook postrouting priority 100 ; }
sudo nft add rule ip nat postrouting oif "eth0" ip saddr 172.17.0.0/16 masquerade

Persistenz und Best Practices

Debugging und Monitoring

Verwenden Sie folgende Befehle, um Regeln und Traffic zu prüfen:

sudo nft list ruleset
docker network ls
docker ps --format '{{.Names}} {{.Ports}}'
sudo nft monitor

Zusammenfassung

nftables ermöglicht eine klare und leistungsfähige Firewall-Konfiguration für Docker-Container. Durch Deaktivierung der Docker-iptables, gezielte Forwarding- und NAT-Regeln, sowie Isolierung von Container-Netzwerken lassen sich Container sicher betreiben. Persistenz, Monitoring, Least Privilege und regelmäßige Updates ergänzen die Sicherheitsstrategie und sorgen für eine stabile, wartbare Infrastruktur.

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:

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

Exit mobile version