iptables or ip6tables services failed to start during booting in RHEL 7
Red Hat Lightspeed 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.serviceorip6tables.serviceis failing when both the service are enabled in RHEL 7. -
iptables.serviceorip6tables.serviceshows 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
iptablespackage toiptables-1.4.21-24.el7_4.x86_64as mentioned in errata RHEA-2018:0715
Root Cause
-
There was a known bug with
iptables-1.4.21-18.el7.x86_64package. The systemd service was running bothiptablesandip6tablesservices 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
--waitoption to theiptables-restoreandip6tables-restorecommands to make them wait until the lock becomes free, and the described problem no longer occurs.
Diagnostic Steps
-
Enable
iptables.serviceandip6tables.servicein RHEL 7. Make sure that thefirewalld.serviceis 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
rebootthe system and check the status ofiptables.serviceandip6tables.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