Tengo dos interfaces en mi VPS: eth0
y eth0:0
. Quiero bloquear los paquetes entrantes en el puerto 80 al eth0:0
usar iptables. Intenté esto, pero no funciona:
iptables -A INPUT -i "eth0:0" -p tcp --destination-port 80 -j DROP
Si cambio eth0:0
a eth0
funciona correctamente. ¿Cuál es el problema?
Respuestas:
La historia corta: la forma en que lo hizo es correcta (según su comentario a la pregunta).
La larga historia: en Linux, un 'dispositivo' de red llamado
foo:bar
es un alias de 'foo' utilizado cuando necesitamos asignar múltiples configuraciones de red a la interfaz 'foo', por ejemplo, para que responda en múltiples subredes en el mismo cable.Esta es una forma poco clara de hacerlo, e inconsistente para arrancar. Para IPv6, todas las direcciones asignadas a la interfaz eth0 se enumeran juntas en la entrada eth0. Hay un método más moderno para hacerlo (a través del
ip addr
comando).Puede detectar interfaces de alias porque tienen dos puntos
:
en sus nombres, la parte a la izquierda de los dos puntos es un nombre de interfaz existente, y la estrofa de interfaz cuando lo haceifconfig
es muy corta. ElHWaddr
también debe ser idéntico al de la interfaz 'padre'. Tampoco se incluirán en la lista/proc/net/dev
. Si tuviera que decirip addr
,eth0:0
aparecería como la segunda dirección de la interfazeth0
. (busque la línea sangrada que comienza coninet
)Los alias y sus padres comparten una gran cantidad de configuraciones y campos, ya que comparten la capa física. El núcleo no los trata como interfaces completamente separadas. Por un lado, el tráfico aparece en la interfaz principal , no en el alias. ¡Es posible que hayas notado que el alias ni siquiera tiene contadores de paquetes / bytes!
Si necesita detectar tráfico, firewall, etc. en una interfaz de alias, debe usar su padre en su lugar. Dado que la única diferencia que tiene un alias de su padre es su configuración de IPv4, la única forma de hacer coincidir el tráfico en un alias es usar esa configuración de IP. Con
iptables
, coincide con la dirección IPv4 del alias tal como lo hizo en el comentario a su respuesta.fuente