iptables-Regeln werden beim Neustart nicht angewendet, obwohl netfilter-persistent ein aktivierter Dienst ist

iptables-Regeln werden beim Neustart nicht angewendet, obwohl netfilter-persistent ein aktivierter Dienst ist

Mein Ziel ist es, eine Sammlung von iptablesRegeln beim Start zu laden. Ich verwende Ubuntu 20.04.1.

Ich habe eine Sammlung von iptablesRegeln, die in definiert sind /etc/iptables/rules.v4. Ich habe iptables-persistentund netfilter-persistentinstalliert. Letzterer ist ein aktivierter systemdDienst und läuft nach einem Neustart erfolgreich, wie systemctl status netfilter-persistentangegeben, aber die in definierten Regeln /etc/iptables/rules.v4sindnichtnach einem Neustart angewendet.

Entscheidend ist: Ein manueller Neustart des Dienstes ( systemctl restart netfilter-persistent) führt dazu, dass die Regeln geladen werden. Der Dienst funktioniert und die Regeln sind gültig. Es ist, als ob nach dem Ausführen und Beenden ein anderer Dienst hinzukommt und netfilter-persistentdie Regeln löscht.

Hat jemand eine Idee? Ich weiß nicht, wie ich weiter vorgehen soll, da anscheinend niemand sonst dieses Problem hat.

Wenn weitere Einzelheiten hilfreich wären, lassen Sie es mich bitte wissen. Ich habe das Gefühl, als würde ich den Verstand verlieren.

Bearbeiten:Die Inhalte /etc/iptables/rules.v4sind:

*nat
:PREROUTING ACCEPT [29:8848]
:INPUT ACCEPT [29:8848]
:OUTPUT ACCEPT [6720:404317]
:POSTROUTING ACCEPT [96:8382]
:DOCKER - [0:0]
-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 POSTROUTING -o enp39s0 -j MASQUERADE
-A DOCKER -i docker0 -j RETURN
COMMIT
*filter
:INPUT ACCEPT [9418:3194873]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [17003:1327822]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
-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
COMMIT

Nach dem Booten iptables --list -vwird Folgendes zurückgegeben:

Chain INPUT (policy ACCEPT 5587 packets, 1329K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DOCKER-USER  all  --  any    any     anywhere             anywhere            
    0     0 DOCKER-ISOLATION-STAGE-1  all  --  any    any     anywhere             anywhere            
    0     0 ACCEPT     all  --  any    docker0  anywhere             anywhere             ctstate RELATED,ESTABLISHED
    0     0 DOCKER     all  --  any    docker0  anywhere             anywhere            
    0     0 ACCEPT     all  --  docker0 !docker0  anywhere             anywhere            
    0     0 ACCEPT     all  --  docker0 docker0  anywhere             anywhere            
    0     0 ACCEPT     all  --  wg0    any     anywhere             anywhere            

Chain OUTPUT (policy ACCEPT 6845 packets, 956K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain DOCKER (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DOCKER-ISOLATION-STAGE-2  all  --  docker0 !docker0  anywhere             anywhere            
    0     0 RETURN     all  --  any    any     anywhere             anywhere            

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  any    docker0  anywhere             anywhere            
    0     0 RETURN     all  --  any    any     anywhere             anywhere            

Chain DOCKER-USER (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 RETURN     all  --  any    any     anywhere             anywhere            

Beachten Sie insbesondere, dass die FORWARD-Richtlinie DROP und nicht ACCEPT ist und dass WireGuard( wg0)-Regeln hinzugefügt werden.

verwandte Informationen