Probleme mit der Fedora-Firewall mit Docker

982
alex-phillips

Ich habe einen Dienst innerhalb des Dockers, der Port 8081 überwacht. Ich kann auf diesen Dienst auf dem Fedora-Server selbst zugreifen, aber alles andere im Netzwerk erhält ein Timeout. Wenn ich firewalld ausschalte, wird das Problem von selbst gelöst.

Ich habe den folgenden XML-Service zur Hauptnetzwerkschnittstelle der Fedora-Box hinzugefügt sowie die Docker0-Schnittstelle zur "vertrauenswürdigen" Zone ohne Erfolg hinzugefügt

XML-Dienst, den ich hinzugefügt habe:

<?xml version="1.0" encoding="utf-8"?> <service> <short>My test service</short> <description>Custom service</description> <port protocol="tcp" port="8081"/> <port protocol="udp" port="8081"/> </service> 

Networking war schon immer mein schwächster Wissensstandpunkt, es tut mir leid, wenn es sich um eine (hoffentlich) einfache Frage handelt.

-1

2 Antworten auf die Frage

0
Aeyoun

Sie haben eine neue Service-Definition erstellt, sie jedoch nicht Ihrer Firewall-Konfiguration hinzugefügt. Das wird dir nicht gut tun. Verwenden Sie stattdessen nur die Administrationsoberfläche.

firewall-cmd --permanent --add-port="8081/tcp" --add-port="8081/udp" 

Das macht jetzt nichts. Das permanente Flag bedeutet, dass es in die permanente Konfiguration geschrieben wurde, aber noch nicht auf die Laufzeitkonfiguration angewendet wurde. Sie müssen auch die Laufzeitkonfiguration der Firewall aus Ihrer permanenten Konfiguration neu laden :

firewall-cmd --reload 

Das ist alles, was Sie tun müssen.

-3
J.JOSEPH

Haben Sie sichergestellt, dass Sie auch die Firewall deaktiviert haben? Wenn Sie dies nicht tun, wird es sich immer wieder einschalten.

Lauf: systemctl disable firewalld

Ich kann das, aber ich möchte nicht, dass die Firewall deaktiviert ist. Ich habe es deaktiviert, um zu überprüfen, ob das Problem vorliegt. Ich möchte lieber alle erforderlichen Anpassungen vornehmen, damit der Dienst über das Netzwerk kommunizieren kann, während die Firewall eingeschaltet bleibt. alex-phillips vor 7 Jahren 0
Haben Sie versucht, $ sudo firewall-cmd --zone = public --add-port = 80 / tcp --permanent $ sudo firewall-cmd --reload` zu verwenden - das Tag "--permanent" sorgt dafür, dass die Änderung auch nach Neustarts bestehen bleibt. J.JOSEPH vor 7 Jahren 0
Ich habe. Soweit ich weiß, sollte das als Service hinzugefügte XML (`firewall-cmd --zone = public - add-service = custom --permanent`) dasselbe tun. Aber keine Würfel. alex-phillips vor 7 Jahren 0
können Sie die Ausgabe von sudo firewall-cmd -list-ports und Sudo firewall-cmd -list-services sowie eventuelle Fehler von firewalld | Docker werfen, wie von auditd oder journalctl -u firewalld | docker gemeldet? linuxdev2013 vor 7 Jahren 0