J'ai deux interfaces sur mon VPS: eth0
et eth0:0
. Je veux bloquer les paquets entrants sur le port 80 en eth0:0
utilisant iptables. J'ai essayé, mais cela ne fonctionne pas:
iptables -A INPUT -i "eth0:0" -p tcp --destination-port 80 -j DROP
Si je change eth0:0
de eth0
cela fonctionne correctement. Quel est le problème?
Réponses:
L'histoire courte: la façon dont vous avez fait cela est correcte (selon votre commentaire à la question).
La longue histoire: sous Linux, un `` périphérique '' réseau appelé
foo:bar
est un alias de `` foo '' utilisé lorsque nous devons attribuer plusieurs paramètres réseau à l'interface `` foo '', par exemple pour le faire répondre sur plusieurs sous-réseaux sur le même fil.Il s'agit d'une façon fastidieuse de le faire et incohérente au démarrage. Pour IPv6, toutes les adresses affectées à l'interface eth0 sont répertoriées ensemble sous l'entrée eth0. Il existe une méthode plus moderne pour ce faire (via la
ip addr
commande).Vous pouvez repérer les interfaces d'alias car elles ont un deux-points
:
dans leurs noms, la partie à gauche des deux-points est un nom d'interface existant et la strophe d'interface lorsque vous le faitesifconfig
est très courte. LeHWaddr
devrait également être identique à celui de l'interface «parent». Ils ne seront également pas répertoriés/proc/net/dev
. Si vous deviez direip addr
,eth0:0
apparaîtrait comme la deuxième adresse de l'interfaceeth0
. (recherchez la ligne en retrait commençant parinet
)Les alias et leurs parents partagent de nombreux paramètres et champs, car ils partagent la couche physique. Le noyau ne les traite pas comme des interfaces entièrement distinctes. D'une part, le trafic apparaît sur l' interface parent , pas l'alias. Vous avez peut-être remarqué que l'alias n'a même pas de compteurs de paquets / octets!
Si vous avez besoin de renifler du trafic, un pare-feu, etc. sur une interface d'alias, vous devez utiliser son parent à la place. Étant donné que la seule différence entre un alias et son parent réside dans ses paramètres IPv4, la seule façon de faire correspondre le trafic sur un alias est d'utiliser ces paramètres IP. Avec
iptables
, vous faites correspondre l'adresse IPv4 de l'alias comme vous l'avez fait dans le commentaire de votre réponse.la source