Hola lista tengo un problema con iptables y los puertos, lo que pasa es que necesito abrir solo el puerto 22 de la maquina con la IP 192.168.1.33 y que solo su pueda conectar con la maquina 192.168.1.16 y viceversa, mi script es el siguiente:
##!/bin/sh ##SCRIPT de IPTABLES - ejemplo del manual de iptables ## Ejemplo de script para firewall entre redes. ## Pello Xabier Altadill Izura ## www.pello.info - pello@pello.info echo Aplicando Reglas de Firewall... ## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F ## Establecemos politica por defecto iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP ##Permitir conexiones locales iptables -A INPUT -i 192.168.1.33 -j ACCEPT ##Abrimos el puerto 22
iptables -A INPUT -s 192.168.1.16 -d 192.168.1.33 -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -s 192.168.1.33 -d 192.168.1.16 -p tcp --sport 22 -j ACCEPT
No se por que cuando hago un iptables -L -n me aparece esto:
Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 192.168.1.16 192.168.1.33 tcp dpt:22
Chain FORWARD (policy DROP) target prot opt source destination
Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT tcp -- 192.168.1.33 192.168.1.16 tcp spt:22
Y al momento de hacer un ssh de la maquina 192.168.1.16 a la 192.168.1.33 si me puedo conectar pero cuando me conecto de 192.168.1.33 a la 192.168.1.16 no puedo estuve jugando con las reglas y me di cuenta que es al momento de asignarle el puerto por que por ejemplo si la unicas reglas fueran:
iptables -A INPUT -s 192.168.1.16 -d 192.168.1.33 -p tcp -j ACCEPT iptables -A OUTPUT -s 192.168.1.33 -d 192.168.1.16 -p tcp -j ACCEPT
si me puedo conectar pero abviamente al no asignarle ningun puerto las dos maquinas tiene comunicación por todos los puertos algo que no quiero alquien tiene alguna idea?? la versión de IPTABLES que manejo es la iptables v1.3.5 Gracias de antemano.
Saludos!!!!!!!!