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

CSS3-Analyse der Schritte zur Erstellung des Douyin-LOGO

Auch „Tik Tok“ erfreut sich großer Beliebtheit un...

Warum verwendet der MySQL-Datenbankindex den B+-Baum?

Bevor wir weiter analysieren, warum der MySQL-Dat...

Beispielcode zum Erstellen eines minimierten Header-Effekts nur mit CSS

Zusammengeklappte Kopfzeilen sind eine großartige...

Detaillierter Prozess zur Implementierung des 2048-Minispiels im WeChat-Applet

Rendern Beispielcode Heute werden wir das WeChat-...

HTML+CSS zum Erzielen von Spezialeffekten durch Textfaltung – Beispiel

In diesem Artikel werden hauptsächlich Beispiele ...

Installieren Sie mehrere PHP-Versionen für Nginx unter Linux

Wenn wir die LNPM-Serverumgebung installieren und...

js zur Realisierung der Web-Message-Board-Funktion

In diesem Artikelbeispiel wird der spezifische JS...

Detaillierte Erklärung redundanter und doppelter Indizes in MySQL

MySQL ermöglicht das Erstellen mehrerer Indizes f...