Pregunta:¿Cómo iniciar o detener firewalld (iptables en una versión anterior) en CentOS/RHEL 7?
Solución:
El servicio iptables se reemplaza con firewalld servicio en Oracle Linux 7. El comando iptables -L mostrará una lista del conjunto de reglas que están vigentes en el nodo.
# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere INPUT_direct all -- anywhere anywhere INPUT_ZONES_SOURCE all -- anywhere anywhere INPUT_ZONES all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) target prot opt source destination DOCKER-ISOLATION all -- anywhere anywhere DOCKER all -- anywhere anywhere ....
El comando systemctl enumerará todos los servicios que se ejecutan en el nodo. Al verificar el servicio, "iptables" no revierte ninguna salida. El servicio iptables se reemplaza por el nombre “firewalld”
# systemctl | grep -i iptables # systemctl | grep -i firewall firewalld.service loaded active running firewalld - dynamic firewall daemon
Para verificar el estado del servicio puede usar el siguiente comando:
# systemctl status firewalld firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled) Active: active (running) since Sun 2016-05-29 03:33:25 EDT; 3h 12min ago Main PID: 830 (firewalld) CGroup: /system.slice/firewalld.service └─830 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid May 29 03:33:25 geeklab systemd[1]: Started firewalld - dynamic firewall daemon.
El servicio puede detenerse con el siguiente comando y puede volver a verificar el estado:
# systemctl stop firewalld # systemctl status firewalld firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled) Active: inactive (dead) since Sun 2016-05-29 06:47:03 EDT; 17s ago Process: 830 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS) Main PID: 830 (code=exited, status=0/SUCCESS) May 29 03:33:25 geeklab systemd[1]: Started firewalld - dynamic firewall daemon. May 29 06:47:03 geeklab systemd[1]: Stopping firewalld - dynamic firewall daemon... May 29 06:47:03 geeklab systemd[1]: Stopped firewalld - dynamic firewall daemon.
Para deshabilitar el servicio en el próximo arranque (chkconfig en RHEL6 y anteriores), puede ejecutar el siguiente comando. Al ejecutar el comando, los enlaces de archivos relacionados se eliminan y no se volverán a consultar la próxima vez.
# systemctl status firewalld firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled) Active: inactive (dead) since Sun 2016-05-29 06:47:03 EDT; 2min 26s ago Process: 830 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS) Main PID: 830 (code=exited, status=0/SUCCESS) May 29 03:33:25 geeklab systemd[1]: Started firewalld - dynamic firewall daemon. May 29 06:47:03 geeklab systemd[1]: Stopping firewalld - dynamic firewall daemon... May 29 06:47:03 geeklab systemd[1]: Stopped firewalld - dynamic firewall daemon.
Como se ve en el resultado anterior, el servicio firewalld está en modo habilitado, lo que significa que se iniciaría en nextboot. Para deshabilitar el inicio en el próximo arranque, use el siguiente comando:
# systemctl disable firewalld rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service' rm '/etc/systemd/system/basic.target.wants/firewalld.service'
Verifique el estado nuevamente para confirmar que el servicio está en modo deshabilitado.
# systemctl disable firewalld rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service' rm '/etc/systemd/system/basic.target.wants/firewalld.service' [root@geeklab ~]# systemctl status firewalld firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled) Active: inactive (dead) May 29 03:33:16 geeklab systemd[1]: Starting firewalld - dynamic firewall daemon... May 29 03:33:25 geeklab systemd[1]: Started firewalld - dynamic firewall daemon. May 29 06:47:03 geeklab systemd[1]: Stopping firewalld - dynamic firewall daemon... May 29 06:47:03 geeklab systemd[1]: Stopped firewalld - dynamic firewall daemon.