¿Cómo puedo en mi servidor ubuntu, en Iptables solo permitir una dirección IP en un puerto específico?
Gracias
¿Cómo puedo en mi servidor ubuntu, en Iptables solo permitir una dirección IP en un puerto específico?
Gracias
Respuestas:
Un trazador de líneas:
iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 777 -j DROP # if it's not 1.2.3.4, drop it
Una solución más elegante:
iptables -N xxx # create a new chain
iptables -A xxx --src 1.2.3.4 -j ACCEPT # allow 1.2.3.4
iptables -A xxx --src 1.2.3.5 -j ACCEPT # allow 1.2.3.5
iptables -A xxx --src 1.2.3.6 -j ACCEPT # allow 1.2.3.6
iptables -A xxx -j DROP # drop everyone else
iptables -I INPUT -m tcp -p tcp --dport 777 -j xxx # use chain xxx for packets coming to TCP port 777
INPUT
con OUTPUT
bloqueará algunos paquetes enviados usando algunas direcciones del servidor (y no enrutado / reenviado). Dudo que esto tenga sentido, a menos que tal vez desee bloquear programas que se unen a algunas interfaces específicas.
--src 1.2.3.4/30
iptables -I xxx --src 7.8.9.10 -j ACCEPT
Aquí hay un ejemplo de uno de mis sistemas CentOS (las direcciones se han ofuscado):
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 1.2.3.4 -d 5.6.7.8 --dport 22 -j ACCEPT
service iptables save
.