Docker-Container können bei laufender FirewallD keine DNS-Abfragen durchführen

568
ollien

Während FirewallD ausgeführt wird, schlagen alle DNS-Abfragen fehl und werden von der Firewall blockiert. Laufen, tcpdump -i docker0während ping google.comich in einem Container renne, zeigt mir

21:27:02.683342 IP 172.17.0.2.35118 > google-public-dns-a.google.com.domain: 54430+ AAAA? google.com. (28) 21:27:02.683399 IP 172.17.0.1 > 172.17.0.2: ICMP host google-public-dns-a.google.com unreachable - admin prohibited filter, length 64 

Pinging 8.8.8.8zum Beispiel oder eine andere absolute IP- Adresse funktioniert einwandfrei .

Wenn ich explizit docker0oder 172.17.0.0/16zur trustedZone hinzufüge, gehen die Anforderungen durch. Ein anderer meiner Maschinen auf derselben Distribution (openSUSE Tumbleweed) funktioniert jedoch einwandfrei.

Ich habe meine FirewallD-Konfiguration durchgerissen und weder dieses Subnetz noch die docker0Schnittstelle wird erwähnt. Ich bin mir nicht sicher, was los ist oder wo ich suchen muss. Meine aktiven FirewallD-Regeln finden Sie unten.

sudo firewall-cmd --get-active-zones public  sudo firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: wlp4s0 sources:  services: dhcpv6-client ports:  protocols:  masquerade: no forward-ports:  source-ports:  icmp-blocks:  rich rules:  
3
Haben Sie sich [this] (https://opsech.io/posts/2017/May/23/docker-dns-with-firewalld-on-fedora.html) oder [this] (https: //unix.stackexchange) angesehen .com / questions / 199966 / how-to-configure-centos-7-firewalld-to-allow-docker-container-free-access-to-th)? JakeGould vor 6 Jahren 0
Ja. Beide schlagen vor, die Schnittstelle zu Trusted hinzuzufügen, was jedoch im OP funktionieren sollte, aber ich versuche, die Ursache herauszufinden, anstatt sie nur als vertrauenswürdige Schnittstelle hinzuzufügen. Meine andere Maschine funktioniert ohne das, also bin ich sicherlich verblüfft. ollien vor 6 Jahren 0
Sie sollten dann die Konfiguration zwischen den beiden Maschinen vergleichen. Sie haben hier die aktive Zone geschrieben ("Aktive Zonen sind Zonen, die an ein Interface oder eine Quelle gebunden sind"). Dies bedeutet nicht, dass in anderen Zonen keine anderen Regeln gelten, die auf Port 53 wirken, oder dass Interaktionen mit iptables des Dockers hinzugefügt werden Regeln A.B vor 6 Jahren 0
Ich habe sie so viel wie möglich verglichen, aber ich finde anscheinend nichts. Gibt es irgendwo eine bestimmte, die hilfreich sein könnte? Ich habe hoch und niedrig ohne Erfolg gesucht. ollien vor 6 Jahren 0
Sie können die iptables-Ergebnisse mit "iptables-save -c" weiterhin auf beiden Ebenen speichern und manuell versuchen, Unterschiede zu finden. Aber sowohl Firewall als auch Docker fügen wahrscheinlich viele Ketten und Regeln hinzu (wahrscheinlich mit Bridges, deren Name eine andere eingebettete ID hat), was dies schwierig macht. Ich denke nicht an eine einfachere Methode (die möglicherweise noch darauf wartet, gefunden zu werden) A.B vor 6 Jahren 0

0 Antworten auf die Frage