Tengo algunos rangos de IP a los que quiero que mi servidor pueda conectarse y desde donde los usuarios puedan conectarse. Todo lo demás debe estar bloqueado.
¿Cómo debo hacer eso con iptables?
Mi sistema operativo es distribución de Linux basada en Debian.
Esto convertirá su sistema en un sistema inexistente para computadoras no permitidas.
fuente
Si desea permitir rangos arbitrarios en lugar de subredes completas, puede usar el módulo iptables 'iprange':
iptables -P INPUT DROP
iptables -A INPUT -m iprange --src-range 192.168.1.30-50 -j ACCEPT
por ejemplo, permitirá el tráfico proveniente de todas las máquinas con direcciones entre 192.168.1.30 y 192.168.1.50.
Si desea permitir el tráfico entrante y saliente al mismo rango de IP, le sugiero que cree una cadena específica que permita esas IP y apunte a todos los objetivos de entrada y salida:
- Defina las políticas predeterminadas para descartar todo:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
--crear la nueva cadena:
iptables -N allowed_ips
- si la fuente es parte del rango permitido, acepte
iptables -A allowed_ips -m iprange --src-range 192.168.1.30-50 -j ACCEPT
- si no, regrese a la cadena de llamadas para continuar el procesamiento
iptables -A allowed_ips -j RETURN
- haga que todo el tráfico que ingrese y salga de la máquina pase por nuestra nueva cadena
iptables -A INPUT -j allowed_ips
iptables -A OUTPUT -j allowed_ips
¡y eso es! por supuesto, es posible que necesite reglas adicionales, como una que permita todo el tráfico desde / hacia la interfaz lo, etc.
fuente
Una vez que esté satisfecho con sus reglas, probablemente quiera guardarlas . Los comentarios en este enlace tienen varias opciones sobre cómo hacerlo.
Un generador de reglas de iptables fácil de usar para necesidades simples es ufw . El paquete está disponible en debian inestable.
Prueba también Firestarter . Disponible en lenny.
fuente
También puede usar ferm, que también utilicé durante el año pasado y me ha ayudado mucho con casos como las reglas de firewall condicionales.
fuente