Habilitar iptables en una interfaz


16

Quiero que iptables filtre solo una interfaz, eth0, que se enfrenta a WAN. ¿Cómo se puede hacer esto? Y quiero mantener abiertos los puertos ftp y ssh en eth0.


Lea las páginas de manual de iptables, o en caso de que haya entendido mal su problema, haga la pregunta más específica.
Jari Jokinen

Respuestas:


25

Entonces, para todas las interfaces, excepto una, desea aceptar todo el tráfico, y en eth0 desea eliminar todo el tráfico entrante, excepto ftp y ssh.

Primero, podríamos establecer una política de aceptar todo el tráfico por defecto.

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

Entonces, podríamos restablecer las reglas de su firewall.

iptables -F

Ahora podríamos decir que queremos permitir el tráfico entrante en eth0 que es parte de una conexión que ya permitimos.

iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

También que queremos permitir conexiones ssh entrantes en eth0.

iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

Pero que cualquier otra cosa entrante en eth0 debería descartarse.

iptables -A INPUT -i eth0 -j DROP

Para obtener un poco más de profundidad, vea esta entrada wiki de CentOS .

FTP es más complicado que ssh ya que puede usar un puerto aleatorio, así que mira esta pregunta anterior .


55
¡¡¡ADVERTENCIA!!! Haga "iptables -P ..." antes de "iptables -F". Si sus reglas actuales están configuradas para eliminar el tráfico de forma predeterminada, ejecutar -F lo bloqueará de su caja. Es por eso que mantener la política predeterminada para permitir y agregar específicamente una regla para descartar todo el resto del tráfico es la mejor práctica.
Coops

8

Algo como esto debería hacer el trabajo:

iptables -A INPUT -i eth1 -p all -j DROP
iptables -A INPUT -i eth0 -p all -j ACCEPT

1
Bastante acertado (aunque quizás sea un poco más agradable que "Dejar TODO" en la interfaz WAN, ¿eh?) - Escriba reglas para filtrar la interfaz que desea filtrar, y ACCEPTtodo lo demás en las otras interfaces.
voretaq7

4

La opción de especificar una interfaz en la regla de iptables es -i, por ejemplo: -i eth0.


4

Es muy simple cuando haces una iptablesregla, entonces tienes que especificar la interfaz. La opción para especificar la tarjeta LAN en la que iptablesdebería funcionar es-i

Seguir las reglas puede darte un buen ejemplo

iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 -j REJECT --reject-with tcp-reset 

La última regla es rechazar cualquier otro paquete que no coincida con las 2 primeras reglas. Todas las reglas iptablesse ejecutan en el orden dado, por lo que la regla para rechazar paquetes es siempre la última.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.