Since last package update, iptables (under SystemD, at least) doesn't restore both rules-save files if iptables-restore.service and ip6tables-restore.service are enabled at same time, where one of them will fail with following message: ● iptables-restore.service - Restore iptables firewall rules Loaded: loaded (/lib/systemd/system/iptables-restore.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Tue 2018-02-06 14:07:56 CET; 7min ago Process: 202 ExecStart=/sbin/iptables-restore /var/lib/iptables/rules-save (code=exited, status=4) Main PID: 202 (code=exited, status=4) Feb 06 14:07:56 pb4330s systemd[1]: Starting Restore iptables firewall rules... Feb 06 14:07:56 pb4330s iptables-restore[202]: Another app is currently holding the xtables lock. Perhaps you want to use the -w option? Feb 06 14:07:56 pb4330s systemd[1]: iptables-restore.service: Main process exited, code=exited, status=4/NOPERMISSION Feb 06 14:07:56 pb4330s systemd[1]: iptables-restore.service: Failed with result 'exit-code'. Feb 06 14:07:56 pb4330s systemd[1]: Failed to start Restore iptables firewall rules. With few reboots, this could cause loss of all iptables and ip6tables rules, everything would be set to ACCEPT. Issue is easily fixed by adding mentioned "-w" option (I set it to 60, but smaller value could be fine too, I suppose): pb4330s ~ # diff /lib/systemd/system/iptables-restore.service /usr/portage/net-firewall/iptables/files/systemd/iptables-restore.service 11c11 < ExecStart=/sbin/iptables-restore -w 60 /var/lib/iptables/rules-save --- > ExecStart=/sbin/iptables-restore /var/lib/iptables/rules-save pb4330s ~ # diff /lib/systemd/system/ip6tables-restore.service /usr/portage/net-firewall/iptables/files/systemd/ip6tables-restore.service 11c11 < ExecStart=/sbin/ip6tables-restore -w 60 /var/lib/ip6tables/rules-save --- > ExecStart=/sbin/ip6tables-restore /var/lib/ip6tables/rules-save pb4330s ~ # Reproducible: Always Steps to Reproduce: 1. configure and save both iptables and ip6tables rules 2. enable both iptables-[store,restore] and ip6tables-[store,restore] services 3. reboot Actual Results: Either iptables or ip6tables rules are not restored due to xtables lock. Expected Results: Both iptables and ip6tables rules are restored after reboot.
Created attachment 518072 [details] emerge -p iptables
Created attachment 518074 [details] emerge --info
Fixed: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1dbbd48205516f3d2e14dad349c06f23b182de40