Speziell
Ich habe einen Iptables-Regelsatz auf einem Server mit CentOS definiert. Bin ich garantiert / kann ich garantieren / wie kann ich garantieren, dass beim Einschalten des Netzwerks (entweder beim Systemstart oder nach dem Neustart des Netzwerkdienstes) der iptables-Regelsatz bereits angewendet wird (und wenn iptables nicht gestartet wurde oder den Regelsatz nicht anwendet)? die Netzwerkschnittstelle wird nicht gestartet)?
(Ich weiß, dass dies eine Noob-Frage ist, aber ich habe nie einen Server in einem vertrauenswürdigen Netzwerk hinter einem maskierenden DHCP-NAT und einer Firewall betrieben. Erwarten Sie also Noob-Fragen von Noobs.)
Antworten:
Im Auslieferungszustand wird garantiert, dass iptables gestartet wird, bevor die Schnittstelle in der Reihenfolge der Startskripte aufgerufen wird. Schauen Sie sich die "chkconfig" -Zeile in jedem Startskript an und Sie werden die Runlevel sehen, auf denen es "on" ist, wenn es aktiv ist, die Startreihenfolge und die Stopreihenfolge.
Es kann nicht garantiert werden, dass die Schnittstelle nicht aufgerufen wird, wenn der iptables-Regelsatz (oder überhaupt) nicht ordnungsgemäß angewendet wurde.
Beispiel: In
chkconfig: 2345 08 92
dieser Zeile wird angegeben, dass der betreffende Dienst in den Runlevels 2, 3, 4 und 5 aktiv ist und bei 8 beginnt und bei 92 endet. Alle mit einem höheren Wert für "start" werden erst gestartet, nachdem dieses Skript abgeschlossen wurde. Dieses fehlerhafte Skript wird jedoch als abgeschlossen betrachtet und verhindert nicht, dass nachfolgende Skripts ausgeführt werden.
Bitte beachten Sie, dass diese Antwort für CentOS 6 und früher gilt, nicht unbedingt für CentOS 7. Ich habe 7 nicht ausreichend recherchiert, um diese Frage für 7 zu beantworten.
quelle
systemctl list-dependencies --all
(ich habe mir vor 30 Sekunden die Manpage angesehen).initscripts
Paket jemals aktualisiert wird (z. B. eine Errata-Version). Ich empfehle das wirklich nicht.Sie können auch die Option ifup-post in Centos verwenden:
Dieses Skript wird ausgeführt und sucht nach den obigen Anweisungen (ifup-route und ifup-aliases) nach ifup-local
So können Sie diese Datei erstellen und sicherstellen, dass sie iptables erneut aufruft, beispielsweise mit iptables-restore:
quelle
Ein kleiner Nachtrag: Um sicherzustellen, dass die erforderlichen Regeln beim nächsten Start des Servers vorhanden sind, speichern Sie sie mit
quelle