it-swarm.com.de

Wie kann ich iptables auf Centos 7 verwenden?

Ich habe CentOS 7 mit minimaler Konfiguration installiert (os + dev tools). Ich versuche, den 80-Port für den httpd -Dienst zu öffnen, aber mit meinem iptables-Dienst stimmt etwas nicht ... was ist daran falsch? Was mache ich falsch?

# ifconfig/sbin/service iptables save
bash: ifconfig/sbin/service: No such file or directory


# /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

# Sudo service iptables status
Redirecting to /bin/systemctl status  iptables.service
iptables.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

# /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

# Sudo service iptables start
Redirecting to /bin/systemctl start  iptables.service
Failed to issue method call: Unit iptables.service failed to load: No such file or directory.
141
Meiblorn

Mit RHEL 7/CentOS 7 wurde firewalld eingeführt, um iptables zu verwalten. Firewalld eignet sich meiner Meinung nach eher für Workstations als für Serverumgebungen.

Es ist möglich, zu einem klassischeren iptables-Setup zurückzukehren. Stoppen und maskieren Sie zunächst den Firewall-Dienst:

systemctl stop firewalld
systemctl mask firewalld

Dann installieren Sie das Paket iptables-services:

yum install iptables-services

Aktivieren Sie den Dienst beim Booten:

systemctl enable iptables

Verwalten des Dienstes

systemctl [stop|start|restart] iptables

Das Speichern Ihrer Firewall-Regeln kann folgendermaßen erfolgen:

service iptables save

oder

/usr/libexec/iptables/iptables.init save
321
Sgaduuw

RHEL und CentOS 7 verwenden firewall-cmd anstelle von iptables . Sie sollten diese Art von Befehl verwenden:

# add ssh port as permanent opened port
firewall-cmd --zone=public --add-port=22/tcp --permanent

Anschließend können Sie die Regeln neu laden, um sicherzustellen, dass alles in Ordnung ist

firewall-cmd --reload

Dies ist besser als die Verwendung von iptable-save, insbesondere wenn Sie lxc- oder docker-Container verwenden möchten. Durch das Starten der Docker-Dienste werden einige Regeln hinzugefügt, nach denen der Befehl iptable-save auffordert. Wenn Sie das Ergebnis speichern, werden Sie viele Regeln haben, die NICHT gespeichert werden sollten. Weil Docker-Container diese IP-Adressen beim nächsten Neustart ändern können.

Besser dafür ist Firewall-cmd mit permanenter Option.

Aktivieren Sie "man firewall-cmd" oder überprüfen Sie die offiziellen firewalld-Dokumente , um die Optionen anzuzeigen. Es gibt viele Optionen, um Zonen, Konfiguration und Funktionsweise zu überprüfen. Die Manpage ist wirklich vollständig.

Ich empfehle dringend, iptables-service seit Centos 7 nicht mehr zu verwenden

92
Metal3d

Ich hatte das Problem, dass ein Neustart iptables nicht starten würde.

Das hat es behoben:

yum install iptables-services
systemctl mask firewalld
systemctl enable iptables
systemctl enable ip6tables
systemctl stop firewalld
systemctl start iptables
systemctl start ip6tables
16
par

Versuchen Sie den folgenden Befehl iptables-save.

11
João Chambel

Ich habe die /etc/sysconfig/ip6tables-config -Datei geändert:

IP6TABLES_SAVE_ON_STOP="no"

Zu:

IP6TABLES_SAVE_ON_STOP="yes"

Und das:

IP6TABLES_SAVE_ON_RESTART="no"

Zu:

IP6TABLES_SAVE_ON_RESTART="yes"

Dies schien die Änderungen zu speichern, die ich mit den iptables-Befehlen durch einen Neustart vorgenommen hatte.

4
Dug

Letzten Monat habe ich versucht, iptables auf einem LXC VM -Container zu konfigurieren, aber jedes Mal nach dem Neustart wurde die iptables-Konfiguration nicht automatisch geladen.

Die einzige Möglichkeit, es zum Laufen zu bringen, bestand darin, folgenden Befehl auszuführen:

yum -y installiere iptables-services; systemctl deaktiviere firewalld; systemctl mask firewalld; Neustart der Service-Iptables; Service Iptables speichern

1
BVB Media

Fügen Sie die IPtables-Konfiguration in die herkömmliche Datei ein und sie wird nach dem Start geladen:

/ etc/sysconfig/iptables

1
BVB Media

Außerdem sollten Sie in der Lage sein, dasselbe für ip6tables zu tun, nachdem Sie den Befehl systemctl mask firewalld ausgeführt haben:

    systemctl start ip6tables.service
    systemctl enable ip6tables.service
0
jman594

Wenn Sie dies tun und fail2ban verwenden, müssen Sie die richtigen Filter/Aktionen aktivieren:

Setzen Sie die folgenden Zeilen in /etc/fail2ban/jail.d/sshd.local

[ssh-iptables]
enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
logpath  = /var/log/secure
maxretry = 5
bantime = 86400

Aktivieren und starten Sie fail2ban:

systemctl enable fail2ban
systemctl start fail2ban

Referenz: http://blog.iopsl.com/fail2ban-on-centos-7-to-protect-ssh-part-ii/

0
Sebas