Configuración IPtable en RHEL/CentOS 7
IPtables es un programa de utilidad de espacio de usuario que permite al administrador del sistema configurar las reglas de filtro de paquetes IP del firewall del kernel de Linux, implementado como diferentes módulos de Netfilter. Los filtros están organizados en diferentes tablas, que contienen cadenas de reglas sobre cómo tratar los paquetes de tráfico de red. Actualmente se utilizan diferentes módulos y programas del núcleo para diferentes protocolos, iptables se aplica a IPv4, ip6tables a IPv6, arptables a ARP y ebtables a tramas Ethernet.
IPtables requiere privilegios elevados para funcionar y debe ser ejecutado por el usuario root de lo contrario no funciona. En la mayoría de los sistemas Linux iptables se instala en el directorio /usr/sbin/ iptables y se documenta en sus páginas man, que se pueden abrir usando man iptables cuando está instalado. También se puede encontrar en /sbin/iptables, pero dado que iptables se parece más a un servicio que a un "binario esencial", la ubicación preferida sigue siendo / usr / sbin.
IPtables reemplazó a ipchains; y el sucesor de iptables es nftables, que se lanzó el 19 de enero de 2014 y se fusionó con la línea principal del kernel de Linux en la versión 3.13 del kernel.
Primero vamos a comprobar que el estado de nuestro IPtable, podemos hacerlo ejecutando el siguiente comando:
# service iptables status
Redirecting to /bin/systemctl status iptables.service
Unit iptables.service could not be found.
La salida anterior nos indica que IPtable no se encuentra instalado en nuestro sistema, por lo que vamos a instalarlo.
1.Detenemos la ejecución de nuestro firewall.
# systemctl stop firewalld
2. Enmascaramos los servicios de nuestro firewall.
# systemctl mask firewalld
3. Instalación IPtable.
# yum install iptables-services
4. Habilitamos el inicio de IPtable en nuestro sistema con los siguientes comandos.
# systemctl enable iptables
# systemctl enable ip6tables
Iniciamos los servicios de IPtable.
# systemctl start iptables
Comprobamos nuevamente el estado de IPtable.
# systemctl status iptables
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Thu 2020-04-30 11:57:54 EDT; 2s ago
Process: 16191 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
Main PID: 16191 (code=exited, status=0/SUCCESS)
5. Para ver todas las reglas cargadas en IPtable, podemos hacerlo ejecutando el siguiente comando:
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Una de las partes más importante de nuestra configuración es la apertura de puertos en nuestro IPtable.
Para abrir un puerto en IPtable en RHEL/CentOS 7 para el protocolo (TCP).
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Para abrir un puerto en IPtable en RHEL/CentOS 7 para el protocolo (TCP).
# iptables -A INPUT -p udp --dport 80 -j ACCEPT
Comprobamos la apertura de nuestro puerto con el siguiente comando.
# iptables-save | grep 80
-A INPUT -p tcp -m tcp --dport 80 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p udp -m udp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
También podríamos comprobar los puertos activos en nuestro IPtable editando /etc/services.
Si tiene alguna pregunta, no dude en contactar con el equipo de soporte de Picaraza Domains Ltd 24/7/365.