Específicamente
Tengo un conjunto de reglas de iptables definido en un servidor que ejecuta CentOS. ¿Estoy garantizado / puedo garantizar / cómo puedo garantizar que cuando la red se conecte (ya sea en el arranque de la máquina o después de reiniciar el servicio de red) el conjunto de reglas de iptables ya está aplicado (y si iptables no se inició o no pudo aplicar el conjunto de reglas la interfaz de red no podrá aparecer)?
(Sé que esta es una pregunta novata, pero nunca he ejecutado un servidor en otra cosa que no sea redes confiables detrás de un DHCP NAT enmascarado y un firewall, así que ... espere preguntas novatas de los novatos).
Respuestas:
Fuera de la caja, tiene la garantía de que iptables se iniciará antes de que aparezca la interfaz por orden de los scripts de inicio. Mire la línea "chkconfig" en cada script de inicio y verá los niveles de ejecución en los que está "activado" cuando está activo, el orden de inicio y el orden de detención.
No se garantiza que la interfaz no se abrirá si el conjunto de reglas de iptables no se aplicó correctamente (o no se aplicó).
Ejemplo:
chkconfig: 2345 08 92
esta línea indica que el servicio en cuestión estará activo en los niveles de ejecución 2, 3, 4 y 5, y comenzará en 8 y se detendrá en 92. Cualquier cosa con un mayor valor de "inicio" comenzará solo después de que este script se complete, pero este error de secuencia de comandos se considera una finalización y no impedirá que se ejecuten secuencias de comandos posteriores.
Tenga en cuenta que esta respuesta se aplica a CentOS 6 y versiones anteriores, no necesariamente a CentOS 7. No he investigado personalmente 7 lo suficiente como para responder a esta pregunta para 7.
fuente
systemctl list-dependencies --all
(acabo de mirar la página del manual de hace 30 segundos)initscripts
paquete se actualiza alguna vez (por ejemplo, una versión de erratas). Realmente no recomiendo hacer eso.También puede usar la opción ifup-post en centos:
Este script se ejecuta y después de lo anterior (ifup-route y ifup-aliases) busca ifup-local
Entonces puede crear este archivo y asegurarse de que vuelva a llamar a iptables, por ejemplo, usando iptables-restore:
fuente
Un pequeño apéndice: para asegurarse de que las reglas necesarias estarán allí la próxima vez que inicie el servidor, guárdelo con
fuente