iptables or ip6tables services failed to start during booting in RHEL 7
Red Hat Insights can detect this issue
Environment
- Red Hat Enterprise Linux 7 (RHEL 7).
- iptables-services-1.4.21-18.el7.x86_64
- iptables-1.4.21-18.el7.x86_64
Issue
-
iptables.service
orip6tables.service
is failing when both the service are enabled in RHEL 7. -
iptables.service
orip6tables.service
shows the error:systemd[1]: Starting IPv6 firewall with ip6tables... ip6tables.init[546]: ip6tables: Applying firewall rules: Another app is currently holding the xtables lock. Perhaps you want to use the -w option? ip6tables.init[546]: [FAILED] systemd[1]: ip6tables.service: main process exited, code=exited, status=1/FAILURE systemd[1]: Failed to start IPv6 firewall with ip6tables. systemd[1]: Unit ip6tables.service entered failed state. systemd[1]: ip6tables.service failed.
Resolution
- Update the
iptables
package toiptables-1.4.21-24.el7_4.x86_64
as mentioned in errata RHEA-2018:0715
Root Cause
-
There was a known bug with
iptables-1.4.21-18.el7.x86_64
package. The systemd service was running bothiptables
andip6tables
services in parallel. Due to the internal locking mechanism that prevented concurrent updates, one of the two services failed to start. -
The ERRATA update adds the
--wait
option to theiptables-restore
andip6tables-restore
commands to make them wait until the lock becomes free, and the described problem no longer occurs.
Diagnostic Steps
-
Enable
iptables.service
andip6tables.service
in RHEL 7. Make sure that thefirewalld.service
is stopped and disabled!# systemctl enable iptables # systemctl enable ip6tables # systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) # # rpm -qa | grep iptables iptables-services-1.4.21-18.el7.x86_64 iptables-1.4.21-18.el7.x86_64
-
Now
reboot
the system and check the status ofiptables.service
andip6tables.service
:# systemctl status ip6tables ● ip6tables.service - IPv6 firewall with ip6tables Loaded: loaded (/usr/lib/systemd/system/ip6tables.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2017-08-03 18:36:01 IST; 1min 32s ago Process: 546 ExecStart=/usr/libexec/iptables/ip6tables.init start (code=exited, status=1/FAILURE) Main PID: 546 (code=exited, status=1/FAILURE) Aug 03 18:36:01 HOSTNAME systemd[1]: Starting IPv6 firewall with ip6tables... Aug 03 18:36:01 HOSTNAME ip6tables.init[546]: ip6tables: Applying firewall rules: Another app is currently holding the xtables lock. Perhaps you want to use the -w option? Aug 03 18:36:01 HOSTNAME ip6tables.init[546]: [FAILED] Aug 03 18:36:01 HOSTNAME systemd[1]: ip6tables.service: main process exited, code=exited, status=1/FAILURE Aug 03 18:36:01 HOSTNAME systemd[1]: Failed to start IPv6 firewall with ip6tables. Aug 03 18:36:01 HOSTNAME systemd[1]: Unit ip6tables.service entered failed state. Aug 03 18:36:01 HOSTNAME systemd[1]: ip6tables.service failed. # systemctl status iptables ● iptables.service - IPv4 firewall with iptables Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2017-08-03 18:28:58 IST; 1min 53s ago Process: 549 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=1/FAILURE) Main PID: 549 (code=exited, status=1/FAILURE) Aug 03 18:28:58 HOSTNAME systemd[1]: Starting IPv4 firewall with iptables... Aug 03 18:28:58 HOSTNAME iptables.init[549]: iptables: Applying firewall rules: Another app is currently holding the xtables lock. Perhaps you want to use the -w option? Aug 03 18:28:58 HOSTNAME iptables.init[549]: [FAILED] Aug 03 18:28:58 HOSTNAME systemd[1]: iptables.service: main process exited, code=exited, status=1/FAILURE Aug 03 18:28:58 HOSTNAME systemd[1]: Failed to start IPv4 firewall with iptables. Aug 03 18:28:58 HOSTNAME systemd[1]: Unit iptables.service entered failed state. Aug 03 18:28:58 HOSTNAME systemd[1]: iptables.service failed.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments