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.
networking
centos
iptables
systemd
Meiblorn
quelle
quelle
Antworten:
Mit RHEL 7 / CentOS 7 wurde firewalld zur Verwaltung von iptables eingeführt. Meiner Meinung nach eignet sich firewalld eher für Workstations als für Serverumgebungen.
Es ist möglich, zu einem klassischeren Iptables-Setup zurückzukehren. Beenden und maskieren Sie zunächst den Firewall-Dienst:
Installieren Sie dann das iptables-services-Paket:
Aktivieren Sie den Dienst beim Booten:
Verwalten des Dienstes
Das Speichern Ihrer Firewall-Regeln kann wie folgt erfolgen:
oder
quelle
RHEL und CentOS 7 verwenden Firewall-cmd anstelle von iptables . Sie sollten diese Art von Befehl verwenden:
Anschließend können Sie Regeln neu laden, um sicherzustellen, dass alles in Ordnung ist
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, die der Befehl iptable-save auffordert. Wenn Sie das Ergebnis speichern, haben Sie viele Regeln, die NICHT gespeichert werden sollten. Weil Docker-Container ihre IP-Adressen beim nächsten Neustart ändern können.
Firewall-cmd mit permanenter Option ist dafür besser geeignet.
Überprüfen Sie "man firewall-cmd" oder die offiziellen Firewalld-Dokumente , um Optionen . Es gibt viele Optionen, um Zonen, Konfiguration und Funktionsweise zu überprüfen. Die Manpage ist wirklich vollständig.
Ich empfehle dringend, den iptables-Service seit Centos 7 nicht mehr zu verwenden
quelle
Ich hatte das Problem, dass ein Neustart iptables nicht starten würde.
Dies hat es behoben:
quelle
# systemctl start iptables
gibtFailed to start iptables.service: Unit not found.
und# systemctl start ip6tables
gibtFailed to start ip6tables.service: Unit not found.
Versuchen Sie den folgenden Befehl
iptables-save
.quelle
iptables-save > /etc/sysconfig/iptables
Ich habe die
/etc/sysconfig/ip6tables-config
Datei geändert :Zu:
Und das:
Zu:
Dies schien die Änderungen zu speichern, die ich mit den Befehlen iptables durch einen Neustart vorgenommen hatte.
quelle
Fügen Sie die IPtables-Konfiguration in die herkömmliche Datei ein und sie wird nach dem Start geladen:
/ etc / sysconfig / iptables
quelle
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 für mich, es zum Laufen zu bringen, bestand darin, den folgenden Befehl auszuführen:
quelle
Und um hinzuzufügen, sollten Sie in der Lage sein, dasselbe für ip6tables zu tun, nachdem Sie den
systemctl mask firewalld
Befehl ausgeführt haben:quelle
Wenn Sie dies tun und fail2ban verwenden, müssen Sie die richtigen Filter / Aktionen aktivieren:
Fügen Sie die folgenden Zeilen ein
/etc/fail2ban/jail.d/sshd.local
Aktivieren und starten Sie fail2ban:
Referenz: http://blog.iopsl.com/fail2ban-on-centos-7-to-protect-ssh-part-ii/
quelle