Problem mit iptables nach Installation von Docker 18.06 auf jessie *gelöst*

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
weedy
Beiträge: 585
Registriert: 02.11.2002 21:47:49
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Problem mit iptables nach Installation von Docker 18.06 auf jessie *gelöst*

Beitrag von weedy » 06.01.2020 22:51:16

Hi,

Ich habe unter debian jessie das Dockerimage

docker-ce_18.06.3~ce~3-0~debian_amd64.deb

von den docker Repositories installiert, welches Änderungen an den iptables Einstellungen vornimmt.

Das Hauptproblem dabei ist, dass die Default Einstellung der Forward chain geändert wurde:

:FORWARD ACCEPT => :FORWARD DROP

(ich weiß im übrigen nicht, wo das geändert wurde, in /etc ist dazu nichts zu finden, ich schaue gerade im paketcontent nach und vermute, dass der Dockerdaemon die Einstellungen durchführt)

Ich will das ansich nicht ändern, da dann vieleicht ein Problem mit Docker auftauchen könnte - aber andererseits, wenn ein anderes Paket eine andere Vorstellung davon hat, wie eine Default Einstellung bei iptables auszusehen hat, dann hätten wir hier einen handfesten Konflikt.

Lange Rege, kurzer Sinn, ich will eigentlich nur mal eine grobe Empfehlung haben, wie ich meine eigenen Einstellungen bzgl den [ip]tables "filter" und "nat" so ändern muss, dass das masquerading auch ohne Änderungen an den Docker Regeln wieder funktioniert.

Im Moment stehen meine Regeln direkt in den chains der tables nat und filter drin, es wäre natürlich besser, wenn sich diese in einer eigenen chain befinden würden. Kann ich die einfach anlegen und meine Regeln dahin umbiegen oder ist da etwas zu beachten?

Docker selbst geht ja so vor, dass es die Chains einfach zusammenfasst:

Code: Alles auswählen

*nat
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
-A DOCKER -i docker0 -j RETURN

*filter
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
Kann ich das mit meinen Regeln (die ich jetzt nicht unbedinge hier abbilden will) auch so machen oder gibt es da etwas zu beachten?

Gruß
Zuletzt geändert von weedy am 07.01.2020 04:04:53, insgesamt 1-mal geändert.

Benutzeravatar
weedy
Beiträge: 585
Registriert: 02.11.2002 21:47:49
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Problem mit iptables nach Installation von Docker 18.06 auf jessie

Beitrag von weedy » 07.01.2020 04:04:22

Ich brauche an entsprechender Stelle nur:

Code: Alles auswählen

 
 iptables -t filter -A FORWARD -s 192.168.0.0/16 -j ACCEPT
 iptables -t filter -A FORWARD -d 192.168.0.0/16 -j ACCEPT
Es kann so einfach sein.

Wenn man nicht täglich eine iptables rule entwirft, kommt man hier echt aus dem Tritt.

Wenn die Kisten zu lange problemlos funktionieren, verliert der Besitzer den Expertenstatus im Laufe der Zeit durch die naturgegebene Erosion.

Gruß

Antworten