Problem

Auf einem CentOS 7 bzw. Red Hat Enterprise Linux 7 Server (mit OpenVZ / Virtuozzo) konnte die Firewall iptables  nicht gestartet werden. Der entsprechende iptables service hatte den Status "failed":

systemctl
# ...
iptables.service                                   loaded failed     failed          IPv4 firewall with iptables
# ...

systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2019-12-30 00:04:44 CET; 4s ago
  Process: 13547 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=1/FAILURE)
 Main PID: 13547 (code=exited, status=1/FAILURE)
BASH

Hat man nun versucht die vorhandenen Firewall-Regeln  folgt zu starten, erhielt man immer den Fehler:

iptables-restore < /etc/sysconfig/iptables
iptables-restore: line 14 failed
BASH

Schaut man sich nun Zeile 14 der Datei an, steht dort jedoch nur COMMIT 

cat /etc/sysconfig/iptables

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
BASH


Lösung

Achtung, die Lösung setzt alle vorherigen Regeln der Firewall zurück. Ein neuer Regelsatz (z.B. via fail2ban) muss dann erneut aufgebaut werden.

service iptables save
systemctl restart iptables.service

# Prüfung des iptables Service
systemctl status iptables.service 
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
   Active: active (exited) since Mon 2019-12-30 00:09:18 CET; 21s ago
  Process: 13936 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
 Main PID: 13936 (code=exited, status=0/SUCCESS)

Dec 30 00:09:18 web-vision.de iptables.init[13936]: iptables: Applying firewall rules: [  OK  ]

BASH

Verwandte Artikel