From: Tom Eastep <[email protected]> Sent: Samstag, 22. Februar 2020 00:20 To: [email protected] Topic: Re: [Shorewall-users] Shorewall removes Docker iptable chain "DOCKER-ISOLATION-STAGE-1" on restart
> Did the firewall script get recompiled? The above output doesn't look like it
> did. Please try:
>
> /sbin/shorewall restart -c
>
> If that still doesn't work then please restart Docker then:
>
> sh -x /usr/lib/shorewall/firewall reload > trace 2>&1
>
> and send me
>
> /usr/lib/shorewall/firewall
> The 'trace' file
Hello Tom,
I tried a couple things and it looks to me as if it preserves everything with
"shorewall restart -c" and with "systemctl reload shorewall" but not with
"systemctl restart shorewall".
root@dk1:~# systemctl restart docker
root@dk1:~# iptables -L -v | grep -i docker
0 0 ~comb3 all -- docker+ any anywhere
anywhere
67 20688 DOCKER-USER all -- any any anywhere
anywhere
67 20688 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 DOCKER all -- any br-ac3db22b180b anywhere
anywhere
54 3220 DOCKER all -- any br-61206706fa14 anywhere
anywhere
0 0 ~comb0 all -- docker+ any anywhere
anywhere
1045 187K DOCKER all -- any any anywhere
anywhere
0 0 ACCEPT all -- any docker+ anywhere
anywhere
Chain DOCKER (4 references)
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
0 0 DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0
anywhere anywhere
0 0 DOCKER-ISOLATION-STAGE-2 all -- br-ac3db22b180b
!br-ac3db22b180b anywhere anywhere
30 5851 DOCKER-ISOLATION-STAGE-2 all -- br-61206706fa14
!br-61206706fa14 anywhere anywhere
Chain DOCKER-USER (1 references)
0 0 ACCEPT all -- any docker+ anywhere
anywhere
0 0 ~comb2 all -- any docker+ anywhere
anywhere
0 0 ~comb2 all -- any docker+ anywhere
anywhere
Chain DOCKER-ISOLATION-STAGE-2 (3 references)
0 0 DROP all -- any docker0 anywhere
anywhere
root@dk1:~# /sbin/shorewall restart -c
Compiling using Shorewall 5.2.3.2...
Processing /etc/shorewall/params ...
Processing /etc/shorewall/shorewall.conf...
Loading Modules...
Compiling /etc/shorewall/zones...
Compiling /etc/shorewall/interfaces...
Determining Hosts in Zones...
Locating Action Files...
Compiling /etc/shorewall/policy...
Compiling TCP Flags filtering...
Compiling Kernel Route Filtering...
Compiling Martian Logging...
Compiling MAC Filtration -- Phase 1...
Compiling /etc/shorewall/rules...
Compiling /etc/shorewall/conntrack...
Compiling MAC Filtration -- Phase 2...
Applying Policies...
Generating Rule Matrix...
Optimizing Ruleset...
Creating iptables-restore input...
Shorewall configuration compiled to /var/lib/shorewall/.restart
Stopping Shorewall....
Preparing iptables-restore input...
Running /sbin/iptables-restore --wait 60...
done.
Starting Shorewall....
Initializing...
Setting up Route Filtering...
Setting up Martian Logging...
Preparing iptables-restore input...
Running /sbin/iptables-restore --wait 60...
done.
It looks as if everything is fine after the "shorewall restart -c" command:
root@dk1:~# iptables -L -v | grep -i docker
0 0 ~comb3 all -- docker+ any anywhere
anywhere
132 56820 DOCKER-USER all -- any any anywhere
anywhere
132 56820 DOCKER-ISOLATION-STAGE-1 all -- any any anywhere
anywhere
0 0 DOCKER all -- any docker0 anywhere
anywhere
0 0 ACCEPT all -- any docker0 anywhere
anywhere ctstate RELATED,ESTABLISHED
0 0 ACCEPT all -- docker0 !docker0 anywhere
anywhere
0 0 ACCEPT all -- docker0 docker0 anywhere
anywhere
0 0 DOCKER all -- any br-ac3db22b180b anywhere
anywhere
4 240 DOCKER all -- any br-61206706fa14 anywhere
anywhere
0 0 ~comb0 all -- docker+ any anywhere
anywhere
33 3880 DOCKER all -- any any anywhere
anywhere
0 0 ACCEPT all -- any docker+ anywhere
anywhere
Chain DOCKER (4 references)
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
0 0 DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0
anywhere anywhere
0 0 DOCKER-ISOLATION-STAGE-2 all -- br-ac3db22b180b
!br-ac3db22b180b anywhere anywhere
10 2394 DOCKER-ISOLATION-STAGE-2 all -- br-61206706fa14
!br-61206706fa14 anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-2 (3 references)
0 0 DROP all -- any docker0 anywhere
anywhere
Chain DOCKER-USER (1 references)
0 0 ACCEPT all -- any docker+ anywhere
anywhere
0 0 ~comb2 all -- any docker+ anywhere
anywhere
0 0 ~comb2 all -- any docker+ anywhere
anywhere
If I restart the Shorewall service, then it still loses some things.
root@dk1:~# systemctl restart shorewall
root@dk1:~# iptables -L -v | grep -i docker
0 0 ~comb3 all -- docker+ any anywhere
anywhere
119 38979 DOCKER-USER all -- any any anywhere
anywhere
119 38979 DOCKER-ISOLATION-STAGE-1 all -- any any anywhere
anywhere
0 0 DOCKER all -- any docker0 anywhere
anywhere
0 0 ACCEPT all -- any docker0 anywhere
anywhere ctstate RELATED,ESTABLISHED
0 0 ACCEPT all -- docker0 !docker0 anywhere
anywhere
0 0 ACCEPT all -- docker0 docker0 anywhere
anywhere
0 0 ~comb0 all -- docker+ any anywhere
anywhere
7 808 DOCKER all -- any any anywhere
anywhere
0 0 ACCEPT all -- any docker+ anywhere
anywhere
Chain DOCKER (2 references)
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
Chain DOCKER-ISOLATION-STAGE-2 (0 references)
Chain DOCKER-USER (1 references)
0 0 ACCEPT all -- any docker+ anywhere
anywhere
0 0 ~comb2 all -- any docker+ anywhere
anywhere
0 0 ~comb2 all -- any docker+ anywhere
anywhere
root@dk1:~# systemctl restart docker
root@dk1:~# iptables -L -v | grep -i docker
0 0 ~comb3 all -- docker+ any anywhere
anywhere
392 163K DOCKER-USER all -- any any anywhere
anywhere
392 163K 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 DOCKER all -- any br-ac3db22b180b anywhere
anywhere
15 868 DOCKER all -- any br-61206706fa14 anywhere
anywhere
0 0 ~comb0 all -- docker+ any anywhere
anywhere
554 85844 DOCKER all -- any any anywhere
anywhere
0 0 ACCEPT all -- any docker+ anywhere
anywhere
Chain DOCKER (4 references)
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
0 0 DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0
anywhere anywhere
0 0 DOCKER-ISOLATION-STAGE-2 all -- br-ac3db22b180b
!br-ac3db22b180b anywhere anywhere
61 16558 DOCKER-ISOLATION-STAGE-2 all -- br-61206706fa14
!br-61206706fa14 anywhere anywhere
Chain DOCKER-USER (1 references)
0 0 ACCEPT all -- any docker+ anywhere
anywhere
0 0 ~comb2 all -- any docker+ anywhere
anywhere
0 0 ~comb2 all -- any docker+ anywhere
anywhere
Chain DOCKER-ISOLATION-STAGE-2 (3 references)
0 0 DROP all -- any docker0 anywhere
anywhere
It keeps it on a reload.
root@dk1:~# systemctl reload shorewall
root@dk1:~# iptables -L -v | grep -i docker
0 0 ~comb3 all -- docker+ any anywhere
anywhere
59 14486 DOCKER-USER all -- any any anywhere
anywhere
59 14486 DOCKER-ISOLATION-STAGE-1 all -- any any anywhere
anywhere
0 0 DOCKER all -- any docker0 anywhere
anywhere
0 0 ACCEPT all -- any docker0 anywhere
anywhere ctstate RELATED,ESTABLISHED
0 0 ACCEPT all -- docker0 !docker0 anywhere
anywhere
0 0 ACCEPT all -- docker0 docker0 anywhere
anywhere
0 0 DOCKER all -- any br-ac3db22b180b anywhere
anywhere
4 204 DOCKER all -- any br-61206706fa14 anywhere
anywhere
0 0 ~comb0 all -- docker+ any anywhere
anywhere
17 1888 DOCKER all -- any any anywhere
anywhere
0 0 ACCEPT all -- any docker+ anywhere
anywhere
Chain DOCKER (4 references)
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
0 0 DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0
anywhere anywhere
0 0 DOCKER-ISOLATION-STAGE-2 all -- br-ac3db22b180b
!br-ac3db22b180b anywhere anywhere
22 5605 DOCKER-ISOLATION-STAGE-2 all -- br-61206706fa14
!br-61206706fa14 anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-2 (3 references)
0 0 DROP all -- any docker0 anywhere
anywhere
Chain DOCKER-USER (1 references)
0 0 ACCEPT all -- any docker+ anywhere
anywhere
0 0 ~comb2 all -- any docker+ anywhere
anywhere
0 0 ~comb2 all -- any docker+ anywhere
anywhere
root@dk1:~# systemctl restart docker
root@dk1:~# /var/lib/shorewall/firewall reload > trace 2>&1
root@dk1:~# cat trace
Reloading Shorewall....
done.
Everything looks fine after reload.
root@dk1:~# iptables -L -v | grep -i docker
0 0 ~comb3 all -- docker+ any anywhere
anywhere
769 364K DOCKER-USER all -- any any anywhere
anywhere
769 364K DOCKER-ISOLATION-STAGE-1 all -- any any anywhere
anywhere
0 0 DOCKER all -- any docker0 anywhere
anywhere
0 0 ACCEPT all -- any docker0 anywhere
anywhere ctstate RELATED,ESTABLISHED
0 0 ACCEPT all -- docker0 !docker0 anywhere
anywhere
0 0 ACCEPT all -- docker0 docker0 anywhere
anywhere
0 0 DOCKER all -- any br-ac3db22b180b anywhere
anywhere
24 1424 DOCKER all -- any br-61206706fa14 anywhere
anywhere
0 0 ~comb0 all -- docker+ any anywhere
anywhere
77 10905 DOCKER all -- any any anywhere
anywhere
0 0 ACCEPT all -- any docker+ anywhere
anywhere
Chain DOCKER (4 references)
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
0 0 DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0
anywhere anywhere
0 0 DOCKER-ISOLATION-STAGE-2 all -- br-ac3db22b180b
!br-ac3db22b180b anywhere anywhere
68 29638 DOCKER-ISOLATION-STAGE-2 all -- br-61206706fa14
!br-61206706fa14 anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-2 (3 references)
0 0 DROP all -- any docker0 anywhere
anywhere
Chain DOCKER-USER (1 references)
0 0 ACCEPT all -- any docker+ anywhere
anywhere
0 0 ~comb2 all -- any docker+ anywhere
anywhere
0 0 ~comb2 all -- any docker+ anywhere
anywhere
root@dk1:~# systemctl restart docker
root@dk1:~# iptables-save > iptables.save.after.docker.restart
root@dk1:~# systemctl reload shorewall.service
root@dk1:~# iptables-save > iptables.save.after.shorewall.reload
root@dk1:~# systemctl restart shorewall.service
root@dk1:~# iptables-save > iptables.save.after.shorewall.restart
I am wondering how it comes to this different behavior on restart and reload.
Thank you for your effort,
Michael
iptables.tar.bz2
Description: iptables.tar.bz2
_______________________________________________ Shorewall-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/shorewall-users
