Der komplette Prozess der iptables-Regeln in Docker geht nach dem Neustart von iptables verloren

Der komplette Prozess der iptables-Regeln in Docker geht nach dem Neustart von iptables verloren

Ursachen und Folgen

1. Wenn Sie den Ansible-Befehl verwenden, um Maschine B auf dem Jump-Server zu testen, wird der folgende Fehler gemeldet. Daher wird vermutet, dass die Netzwerk-Firewall das Problem ist

10.10.0.86 | FEHLGESCHLAGEN >> {
 "fehlgeschlagen": wahr, 
 "msg": "/bin/sh: /usr/bin/python: Keine solche Datei oder kein solches Verzeichnis\r\nOpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7. Dez. 2017\r\ndebug1: Konfigurationsdaten werden gelesen /etc/ssh/ssh_config\r\ndebug1: /etc/ssh/ssh_config Zeile 19: Optionen für * werden angewendet\r\ndebug1: auto-mux: Vorhandenen Master ausprobieren\r\ndebug1: mux_client_request_session: Master-Sitzungs-ID: 2\r\nGemeinsame Verbindung zu 10.10.0.86 geschlossen.\r\n", 
 "analysiert": falsch
}

2. Melden Sie sich bei Maschine B an, einer Online-Maschine, auf der ein Docker-Container läuft. Wenn es ein Problem mit der Netzwerk-Firewall gibt,

iptables -F
systemctl stoppt iptables 
systemctl stoppe Firewall

3. Dann dachte ich, dass dies den Container nicht beeinträchtigen sollte, also schaute ich mir die Containerprotokolle an. Unerwarteterweise meldeten mehr als 10 von ihnen Fehler und alle konnten keine Verbindung herstellen. Ich geriet ein wenig in Panik ... Ich startete den Container neu, aber er startete überhaupt nicht. Der Fehler war wie folgt

Docker: Fehlerantwort vom Daemon: Treiber konnte externe Konnektivität am Endpunkt happy_ptolemy nicht programmieren (9cedc114be35eb86cd6f7f7bb4f11f93b5f8d2c0745afc72664cef8e96aad439): iptables ist fehlgeschlagen: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 10.10.0.86 --dport 3000 -j ACCEPT: iptables: Keine Kette/Ziel/Übereinstimmung mit diesem Namen.

(Beendigungsstatus 1).

4. Lösung: Docker neu starten

systemctl Neustart Docker

Wissenspunkte

1. Die Beziehung zwischen Netfilter und Iptables

Netfilter ist ein Firewall-Framework im Linux-Kernel, das zur Verwaltung von Netzwerkpaketen verwendet wird. Es verfügt nicht nur über die Funktion der Network Address Translation (NAT), sondern auch über Firewall-Funktionen wie Paketinhaltsänderung und Paketfilterung. Verwenden Sie die Anwendungssoftware iptables im Benutzerbereich, um Netfilter zu steuern (iptables ist nur eine Anwendungssoftware, ein Tool).

2. Die Beziehung zwischen iptables und firewalld

Firewalld ist wie iptables eine Anwendungssoftware und ein Tool, die zugrunde liegende Schicht durchläuft jedoch immer noch zuerst iptables.

3. Die Beziehung zwischen Docker, Firewall und Iptables

1) Nachdem Docker installiert wurde, übernimmt es automatisch iptables oder Firewalld. Wenn Docker ausgeführt wird, fügt es automatisch Regeln zu iptables hinzu. Wenn iptables daher neu gestartet wird, geht es verloren und kann nur durch einen Neustart von Docker behoben werden.

2) Wenn Sie Systemd verwenden, wird Firewalld vor Docker gestartet. Wenn Sie Firewalld jedoch nach dem Start von Docker starten oder neu starten, müssen Sie den Docker-Prozess neu starten.

Zusammenfassen

1. Respekt vor der Produktionsumgebung

2. Mangelndes Verständnis der Wissenspunkte, Unwissenheit darüber, welche Szenarien verwendet werden können und welche nicht

3. Später müssen Sie die Firewall-Regeln besser verstehen

Dies ist das Ende dieses Artikels über iptables-Regeln in Docker, die nach einem Neustart von iptables verloren gehen. Weitere Informationen zu iptables-Regeln in Docker, die nach einem Neustart verloren gehen, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So aktivieren Sie Mindestberechtigungen bei der Verwendung von iptables in einem Docker-Container
  • Detaillierte Erläuterung von Docker unter Verwendung von Linux iptables und Schnittstellen zur Verwaltung von Containernetzwerken

<<:  Vue implementiert eine kleine Wettervorhersageanwendung

>>:  Verständnis und Anwendungsanalyse der pessimistischen und optimistischen Sperre von MySQL

Artikel empfehlen

So zeigen Sie alle laufenden Prozesse in Linux an

Sie können den Befehl ps verwenden. Es kann relev...

So installieren und verwenden Sie Cockpit unter CentOS 8/RHEL 8

Cockpit ist ein webbasiertes Serververwaltungstoo...

Zusammenfassung der HTML-Wissenspunkte für das Frontend (empfohlen)

1. HTML-Übersicht htyper Textauszeichnungssprache...

Detaillierte Erklärung zu Javascript-Dateien und Blobs

Inhaltsverzeichnis Datei() Grammatik Parameter Be...

So vergleichen Sie zwei Datenbanktabellenstrukturen in MySQL

Während des Entwicklungs- und Debugging-Prozesses...

In einem Artikel erfahren Sie, wie Sie ein Vue-Plugin schreiben

Inhaltsverzeichnis Was ist ein Plugin Plugins sch...

So betten Sie Dateien im Flash-Videoformat (FLV, SWF) in HTML-Dateien ein

Flash-Dateiformate: .FLV und .SWF Für das Flash-Vi...

Führen Sie die Schritte aus, um mit Samba Ordner in CentOS 7 freizugeben

Vorwort Samba ist eine kostenlose Software, die d...

Realisierung baumförmiger Sekundärtabellen auf Basis von Angular

Erster Blick auf die Wirkung: Code: 1.html <di...

Mysql speichert Baumstruktur durch Adjazenzliste (Adjazenzliste)

Der folgende Inhalt stellt den Prozess und die Lö...

Lösung für das Verschwinden des MySql-Dienstes aus unbekannten Gründen

Lösung für das Verschwinden des MySql-Dienstes au...