Nombre del servicio
iptables
Descripción
Las iptables La utilidad controla el código de filtrado de paquetes de red en el kernel de Linux. Si necesita configurar cortafuegos y/o enmascaramiento de IP, debe instalar esta herramienta. El /sbin/iptables application es el programa de línea de comandos del espacio de usuario que se utiliza para configurar las reglas de filtrado de paquetes IPv4 de Linux. Dado que la traducción de direcciones de red (NAT) también se configura a partir de las reglas de filtrado de paquetes, también se usa /sbin/iptables para esto. Existe una herramienta similar para redes IPv6, también conocida como iptables-ipv6. .
La función iptables se utiliza para configurar, mantener e inspeccionar las tablas de reglas de filtrado de paquetes IP en el kernel de Linux. Se pueden definir varias tablas diferentes. Cada tabla contiene una serie de cadenas integradas y también puede contener cadenas definidas por el usuario.
Cada cadena es una lista de reglas que pueden coincidir con un conjunto de paquetes. Cada regla especifica qué hacer con un paquete que coincida. Esto se llama un objetivo , que puede ser un salto a una cadena definida por el usuario en la misma tabla.
Nombre del paquete RPM
iptables
Control de servicios
Ejemplos de inicio y parada
# service iptables start Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
# service iptables stop Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ]
Uso
# service iptables Usage: /etc/init.d/iptables {start|stop|restart|condrestart|status|panic|save}
# service iptables start Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
# service iptables stop Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ]
# service iptables restart Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
# service iptables condrestart Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ] Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
# service iptables status Table: filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 11 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
# service iptables panic Flushing firewall rules: [ OK ] Setting chains to policy DROP: filter [ OK ]
# service iptables save Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
Demonio
/sbin/iptables
Módulos
nfnetlink ip_conntrack ip_conntrack_netbios_ns
Configuración
Archivo de configuración
/etc/sysconfig/iptables - iptables rules /etc/sysconfig/iptables-config - iptables configuration
Archivo de configuración de ejemplo
# cat /etc/sysconfig/iptables # Generated by iptables-save v1.4.7 on Wed Feb 3 12:54:50 2016 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [254737803:197953409382] -A INPUT -p tcp -m tcp --dport 162 -j ACCEPT -A INPUT -p udp -m udp --dport 162 -j ACCEPT -A INPUT -p tcp -m tcp --dport 14545 -j ACCEPT -A INPUT -p tcp -m tcp --dport 14161 -j ACCEPT -A INPUT -p tcp -m tcp --dport 5634 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT # Completed on Wed Feb 3 12:54:50 2016
Ejemplo de cómo configurar NAT con iptables
1. Eliminar reglas existentes de cada tabla de iptables
# iptables -F # iptables -t nat -F # iptables -t mangle -F
2. Habilitar NAT
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # iptables -A FORWARD -i eth1 -j ACCEPT
3. Guardar reglas de iptables
# service iptables save
Nota :Es necesario habilitar el reenvío de IP antes de configurar NAT.
# echo 1 > /proc/sys/net/ipv4/ip_forward
Ejemplo de cómo abrir un puerto específico con iptables
1. Para permitir el tráfico entrante en el puerto SSH predeterminado (22), puede decirle a iptables que permita que entre todo el tráfico TCP en ese puerto
# iptables -A INPUT -p tcp --dport ssh -j ACCEPT
2. Para permitir todo el tráfico web entrante, puede decirle a iptables que permita que entre todo el tráfico TCP en ese puerto
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
3. Guarde las reglas de iptables
# service iptables save