Puncte:1

Probleme între docker și firewalld/iptables

drapel co
dan

Utilizator OpenSUSE 15.3 aici. Am încălcat regulile implicite create de docker pe iptables și nu îmi pot da seama cum să repar asta. Am încercat deja să reinstalez docker. Iată ce se întâmplă:

vm-dev:~ # systemctl start docker

vm-dev:~ # tail /var/log/messages | grep firewalld
2022-04-21T00:53:25.607359-04:00 vm-dev firewalld[19494]: AVERTISMENT: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D OUTPUT -m addrtype --dst-type j DOCKER' a eșuat: iptables: Nu există lanț/țintă/potrivire cu acest nume.
2022-04-21T00:53:25.610567-04:00 vm-dev firewalld[19494]: AVERTISMENT: COMMAND_FAILED: „/usr/sbin/iptables -w10 -t nat -D PREROUTING” a eșuat: iptables: o regulă greșită există reguli de potrivire în acel lanț?).
2022-04-21T00:53:25.614009-04:00 vm-dev firewalld[19494]: AVERTISMENT: COMMAND_FAILED: „/usr/sbin/iptables -w10 -t nat -D OUTPUT” a eșuat: iptables: o regulă greșită există reguli de potrivire în acel lanț?).
2022-04-21T00:53:25.646315-04:00 vm-dev firewalld[19494]: AVERTISMENT: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -F DOCKER-ISOLATION' nu a reușit: iptables: țintă/potrivire cu acest nume.
2022-04-21T00:53:25.649905-04:00 vm-dev firewalld[19494]: AVERTISMENT: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOCKER-ISOLATION' nu a reușit: iptables: țintă/potrivire cu acest nume.
2022-04-21T00:53:25.705446-04:00 vm-dev firewalld[19494]: AVERTISMENT: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROPs: iptables eșuat' : Regulă proastă (există o regulă de potrivire în acel lanț?).
2022-04-21T00:53:25.890988-04:00 vm-dev firewalld[19494]: AVERTISMENT: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROPs: iptables eșuat' : Regulă proastă (există o regulă de potrivire în acel lanț?).

Apoi, de fiecare dată când o fac firewall-cmd --reîncărcare, Eu iau:

2022-04-21T00:53:35.536326-04:00 vm-dev firewalld[19494]: AVERTISMENT: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROPs: iptables eșuat' : Regulă proastă (există o regulă de potrivire în acel lanț?).

Iată câteva informații suplimentare din comentarii:

vm-dev:~ # iptables -t nat --list
PRERUUTARE în lanț (politica ACCEPT)
target prot opt ​​sursă destinație
DOCKER all -- oriunde oriunde ADDRTYPE se potrivește cu dst-type LOCAL

INTRARE în lanț (politica ACCEPT)
target prot opt ​​sursă destinație

Ieșire în lanț (politica ACCEPT)
target prot opt ​​sursă destinație
DOCKER all -- oriunde !127.0.0.0/8 ADDRTYPE se potrivește cu dst-type LOCAL

POSTOUTING în lanț (politica ACCEPTĂ)
target prot opt ​​sursă destinație
MASQUERADE toate -- 172.17.0.0/16 oriunde

Lanț DOCKER (2 referințe)
target prot opt ​​sursă destinație
RETURN all -- oriunde oriunde

Câteva informații suplimentare solicitate de @4snok:

vm-dev:~ # find /etc/firewalld/ -name „*.xml”
/etc/firewalld/lockdown-whitelist.xml
/etc/firewalld/zones/public.xml
/etc/firewalld/zones/trusted.xml
/etc/firewalld/zones/docker.xml

vm-dev:~ # cat /etc/firewalld/zones/docker.xml
<?xml version="1.0" encoding="utf-8"?>
<zone version="1.0" target="ACCEPT">
  <short>docker</short>
  <description>zonă pentru interfețele de rețea docker bridge</description>
  <interface name="docker0"/>
</zonă>

Nu am niciun docker care rulează în prezent. De fapt, am dezinstalat docker, l-am șters /var/lib/docker complet, apoi reinstalat și erorile sunt încă prezente. The docker0 interfața este în docher zona in firewalld. Nu văd nimic special acolo. Ce trebuie să fac pentru a remedia aceste erori? Orice ajutor ar fi apreciat.

Stephan Pieterse avatar
drapel ca
De la prima eroare, aveți un lanț în iptables numit DOCKER? `iptables -t nat --list` ar trebui să-l arate atunci când rulează cu `sudo`. Dacă nu este acolo, puteți încerca să îl adăugați cu `iptables -t nat -N DOCKER` și să încercați din nou.
dan avatar
drapel co
dan
@StephanPieterse `DOCKER` este acolo, am adăugat rezultatul la postarea principală.
drapel co
Ce eșecuri întâmpinați? Acestea sunt avertismente și m-aș întreba dacă avertizarea este probabil puțin prea excesivă pentru acel mesaj de jurnal. Informațiile ar fi probabil mai potrivite.
dan avatar
drapel co
dan
Avertismentele nu au existat după o nouă instalare. Totuși, nu întâmpin nicio eroare, ci doar avertismente în jurnalele care sunt monitorizate de Nagios...
4snok avatar
drapel es
Drapelele D F și X elimină regulile. În esență, docker încearcă să ștergă regulile inexistente :)
dan avatar
drapel co
dan
@4snok este momentul în care serviciul docker este lansat sau ori de câte ori firewall-ul este reîncărcat. Ce trebuie să editez în firewalld pentru a preveni încercarea de a șterge o regulă atunci când este reîncărcată?
4snok avatar
drapel es
verificați acest fișier /etc/firewalld/direct.xml, ar trebui să conțină regulile problemei dvs.
4snok avatar
drapel es
dacă este un server de dezvoltare, puteți elimina acest fișier și reinstalați docker
dan avatar
drapel co
dan
@4snok Mi-am editat mesajul original cu conținutul /etc/firewalld/, nu există direct.xml. De asemenea, am încercat să șterg docker.xml, dar nici asta nu a ajutat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.