iptables bloquea el acceso al puerto 8000 excepto desde la dirección IP
80
Nunca he usado iptables y la documentación en línea parece un poco opaca.
Me gustaría bloquear todas las solicitudes al puerto 8000 en mi servidor, excepto las que provienen de una dirección IP específica. ¿Cómo hago eso usando iptables?
//, ¿Sería tan amable de compartir un enlace a la documentación opaca?
Nathan Basanese
Respuestas:
149
Esta pregunta debería estar en Server Fault . Sin embargo, lo siguiente debería funcionar, asumiendo que está hablando de TCP y la IP que desea permitir es 1.2.3.4:
iptables -A INPUT -p tcp --dport 8000 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j DROP
Sé que esto es relativamente antiguo, y esto clavó totalmente lo que necesitaba. Y dado que la respuesta ha sido aceptada de todos modos, ¿cómo se hace lo mismo con un rango de IP específico? ¡Gracias! :)
jagc
1
@JiegoCordoviz Puede agregar una máscara a la dirección de origen: "-s 1.2.3.0/24" aceptará cualquier cosa que comience con "1.2.3.". Busque "calculadora de máscara de red" si tiene un rango y desea calcular una máscara de red.
Jon Bright
17
Otra alternativa es;
sudo iptables -A INPUT -p tcp --dport 8000 -s ! 1.2.3.4 -j DROP
Tuve un problema similar en el que 3 máquinas virtuales con puente solo necesitan acceder entre sí con una combinación diferente, así que probé este comando y funciona bien.
Editar**
Según el comentario de Fernando y este enlace, el signo de exclamación ( !) se colocará antes del -sparámetro:
sudo iptables -A INPUT -p tcp --dport 8000 ! -s 1.2.3.4 -j DROP
Respuestas:
Esta pregunta debería estar en Server Fault . Sin embargo, lo siguiente debería funcionar, asumiendo que está hablando de TCP y la IP que desea permitir es 1.2.3.4:
fuente
Otra alternativa es;
Tuve un problema similar en el que 3 máquinas virtuales con puente solo necesitan acceder entre sí con una combinación diferente, así que probé este comando y funciona bien.
Editar**
fuente
!
) ahora se debe colocar antes de que el-s
parámetro:sudo iptables -A INPUT -p tcp --dport 8000 -s ! 1.2.3.4 -j DROP
.Siempre puede usar iptables para eliminar las reglas. Si tiene muchas reglas, simplemente imprímalas usando el siguiente comando.
vi
para editarlos desde la línea de recomendación. Simplemente use el "dd" para borrar las líneas que ya no desea.RECUERDE QUE SI NO CONFIGURA SU SO PARA GUARDAR LAS REGLAS EN UN ARCHIVO Y LUEGO CARGUE EL ARCHIVO DURANTE EL ARRANQUE, SUS REGLAS SE PERDERÁN.
fuente
iptables-restore < myfile
// wiki.debian.org/iptables