¿Como abrir un puerto para una IP especifica usando IPTABLES en Linux?

0
607

Ahora veremos como configurar iptables para determinar el servicio de un host determinado o el rango de los mismos (hosts).

Sin mayor preambulo, vamos directo al grano, se desea restringir un puerto o servicio a una dirección IP específica o un rango de IPs, para ello nosotros vamos a permitir el acceso via SSH a dos IPs y vamos a denegar el resto, tal como se muestra a continuacion.

Comandos:

iptables -I INPUT -p tcp -m tcp -s 111.222.333.4 –dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m tcp -s 555.666.777.8/29 –dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m tcp -s 0.0.0.0/0 –dport 22 -j DROP

Ahora, si se desea que esta configuración se aplique cada vez que se reinicie la maquina, es necesario usar el comando iptables-save.

En sistemas basados en Red Hat el archivo de configuracion se localiza en: /etc/sysconfig/iptables. Para agregar las lineas siguientes, unicamente hay que editarlo con su editor favorito.

-A INPUT -p tcp -m tcp -s 111.222.333.4 –dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp -s 555.666.777.8/29 –dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp -s 0.0.0.0/0 –dport 22 -j DROP

Recordar que la mayoría de los firewalls, utilizan Stateful Packet Inspection, ie. que las reglas se van a leer las reglas en orden de arriba a abajo. Y es por ello que poner todas las redes permitidas primero y después negar todo (0.0.0.0/0).

Suerte!!!

dvarela(at)linuxsc.net

LEAVE A REPLY

Please enter your comment!
Please enter your name here