Frage Centos 7 speichert iptables-Einstellungen


Problem: iptables wird nach dem Neustart des Servers auf die Standardeinstellungen zurückgesetzt.

Ich versuche, die Regel so zu setzen:

iptables -I INPUT -p tcp --dport 3000 -j ACCEPT

Danach mache ich:

service iptables save

und es schreibt so etwas zurück

iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

und danach lief ich einfach (das war einmal):

chkconfig iptables on (Ich habe gelesen, dass dies getan werden muss, um die Einstellungen nach dem Neustart wiederherzustellen)

Danach starte ich neu und führe diesen Befehl aus:

systemctl list-unit-files | grep iptables

und ich sehe, dass iptables.service aktiviert ist, jedoch funktioniert die Regel (um Port 3000 zu öffnen) nicht mehr.

Wie behalte ich diese Einstellungen?


52
2017-09-05 14:04


Ursprung


Warum hast du nicht einfach feuerswalld benutzt? Es läuft wahrscheinlich noch. - Michael Hampton♦
Wahrscheinlich weil Firewalld nicht für Serverumgebungen geeignet ist ... - Juan Jimenez


Antworten:


CentOS 7 benutzt FirewallD jetzt!

Beispiel:

firewall-cmd --zone=public --add-port=3000/tcp --permanent

Regeln neu laden:

firewall-cmd --reload

61
2017-09-05 14:13



Irgendeine Idee, warum centos7 Bild von AWS AMI firewallD nicht hat. - Saad Masood
ODER Sie können firewalld deaktivieren und das Paket "iptables-services" installieren, um eine nahezu native iptables-Kompatibilität zu erreichen :) - vagarwal
Ich habe versucht, die Portweiterleitung 80 -> 8180 für lo (--zone=trusted) mit firewalld-cmd aber es funktioniert nicht (es funktioniert in --zone=public) Tun Sie dies mit iptables sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8180 ; sudo /sbin/iptables -t nat -I OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8180 funktioniert (aber jeder firewalld --reload verliert das rückgängig) - djb
@saad: weil aws bereits einen Firewall-Dienst anbietet, kann der ami klein gehalten werden - roothahn
Es ist nicht! Ich habe ein Centos 7 VPS bestellt und es hat iptables standardmäßig! Die Betriebssystemversion: 7.5.1804 (Core) - codezombie


Deaktivieren Sie Firewall mit dem folgenden Befehl:

systemctl disable firewalld

Dann installiere iptables-service mit folgendem Befehl:

yum install iptables-services

Aktivieren Sie dann iptables als Dienste:

systemctl enable iptables

Jetzt können Sie Ihre iptable-Regeln speichern, indem Sie folgenden Befehl ausführen:

service iptables save

57
2017-11-28 12:58





Auf CentOS 7 Minimal müssen Sie möglicherweise das installieren iptables-services Paket (Danke an @RichieACC für die Vorschlag):

sudo yum install -y iptables-services

Aktivieren Sie dann den Dienst mit systemd:

sudo systemctl enable iptables.service

Und führen Sie das Initskript aus, um Ihre Firewall-Regeln zu speichern:

sudo /usr/libexec/iptables/iptables.init save

19
2018-01-04 17:19





Sie können die Datei / etc / sysconfig / iptables direkt ändern. Laden Sie den iptables-Dienst erneut, um die Regeln aus dieser Datei erneut zu laden. Wie bereits erwähnt, ist firewalld das neue Standard-Firewall-System für Centos, und das ist eine gute Gelegenheit, um zu lernen, wie man es benutzt, meinst du nicht?


0
2017-09-05 15:29



In CentOS7 gibt es keine Datei / etc / sysconfig / iptables mehr - roothahn
Sorry @roothahn, aber es existiert definitiv ... außer du vermisst natürlich einige Pakete. Von /usr/lib/systemd/system/iptables.service können Sie sehen, dass "/usr/libexec/iptables/iptables.init start", das übliche alte und liebe Skript, nach der üblichen alten Konfigurationsdatei sucht in / etc / sysconfig - stoned
Ja /etc/sysconfig/iptables existiert auch nicht für mich. Jedoch, /etc/sysconfig/iptables-config existiert. Aber es hat keine Firewall-Regeln drin wie es die iptables Datei hatte vorher. - Kentgrav
Ich habe festgestellt, dass die Datei bei einer Standardinstallation nicht vorhanden war. CentOS 7 installiert iptables.service standardmäßig nicht. "yum install -y iptables.service" hat den Dienst installiert und einen Standard / etc / sysconfig / iptables für mich erstellt. - RichieACC
Das sollte "yum install iptables-services" sein - qris