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 faites ifconfig
est très courte. Le HWaddr
devrait également être identique à celui de l'interface «parent». Ils ne seront également pas répertoriés /proc/net/dev
. Si vous deviez dire ip addr
, eth0:0
apparaîtrait comme la deuxième adresse de l'interface eth0
. (recherchez la ligne en retrait commençant par inet
)
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.