Die Kurzgeschichte: Die Art und Weise, wie Sie das getan haben, ist richtig (gemäß Ihrem Kommentar zur Frage).
Die lange Geschichte: Unter Linux ist ein Netzwerk-Gerät namens foo:bar
"foo" ein Alias von "foo", der verwendet wird, wenn der "foo" -Schnittstelle mehrere Netzwerkeinstellungen zugewiesen werden müssen, z. B. um sie auf mehrere Subnetze auf derselben Leitung reagieren zu lassen.
Dies ist eine klobige Art und Weise und inkonsistent zu booten. Bei IPv6 werden alle der Schnittstelle eth0 zugewiesenen Adressen zusammen unter dem Eintrag eth0 aufgelistet. Es gibt eine modernere Methode, um dies zu tun (über den ip addr
Befehl).
Sie können Alias-Schnittstellen erkennen, da sie einen Doppelpunkt :
in ihren Namen haben, der Teil links vom Doppelpunkt ein vorhandener Schnittstellenname ist und die Zeilengruppe der Schnittstelle, wenn Sie dies tun, ifconfig
sehr kurz ist. Das HWaddr
sollte auch mit dem der 'übergeordneten' Schnittstelle identisch sein. Sie werden auch nicht in aufgeführt /proc/net/dev
. Wenn Sie sagen würden ip addr
, eth0:0
würde als zweite Adresse der Schnittstelle anzeigen eth0
. (Achten Sie auf die eingerückte Linie, die mit beginnt. inet
)
Aliase und ihre Eltern teilen viele Einstellungen und Felder, da sie die physische Schicht teilen. Der Kernel behandelt sie nicht als völlig separate Schnittstellen. Zum einen wird der Datenverkehr auf der übergeordneten Schnittstelle angezeigt , nicht auf dem Alias. Möglicherweise haben Sie bemerkt, dass der Alias nicht einmal Paket- / Bytezähler enthält!
Wenn Sie Datenverkehr, Firewall usw. auf einer Alias-Schnittstelle abhören müssen, müssen Sie stattdessen deren übergeordnetes Element verwenden. Da der einzige Unterschied zwischen einem Alias und seinem übergeordneten Element die IPv4-Einstellungen sind, besteht die einzige Möglichkeit, den Datenverkehr auf einem Alias abzugleichen, darin, diese IP-Einstellungen zu verwenden. Mit iptables
stimmen Sie die IPv4-Adresse des Alias genau wie im Kommentar mit Ihrer Antwort ab.