Der Name der Netzwerkschnittstelle weist ein At-Zeichen auf – was ist das?

Der Name der Netzwerkschnittstelle weist ein At-Zeichen auf – was ist das?

Ich versuche, Informationen darüber zu finden, warum der Name einer Netzwerkschnittstelle ein At-Zeichen enthält, aber die Ergebnisse, die ich bisher erhalte, sind zu verwirrend (mir fehlt die richtige Terminologie für die Suche).

Ich habe einen LXC-Container auf einem Ubuntu-Host. Innerhalb des Containers führe ich Folgendes aus und erhalte:

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
9: eth0@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:16:3e:37:a0:7a brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.0.3.195/24 brd 10.0.3.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe37:a07a/64 scope link 
       valid_lft forever preferred_lft forever

Beachten Sie, dasseth0@if10

Wie heißt dieser @Teil bzw. worauf bezieht er sich?

Auf dem Host gibt es keins if10, ein anderer Container von mir hat eins eth0@if8– ich muss davon ausgehen, dass dies irgendwie Teil der Handhabung von Netzwerkübersetzungen durch LXC/Container ist, aber mir war zuvor nicht aufgefallen, dass es das gibt, und frage mich, ob es eine Ergänzung zum Bridging ist, das in anderen Szenarien existieren könnte?

Antwort1

eth0@if10bedeutet:

  • Ihre Netzwerkschnittstelle hat immer noch einen einfachen Namen eth0und Netzwerktools und -anwendungen können nur auf diesen Namen ohne den @-Anhang verweisen. (Nebenbemerkung: Dies ist höchstwahrscheinlich ein Veth-Peer, aber der Name muss dies nicht widerspiegeln.)
  • @if10bedeutet: eth0ist mit einer (anderen) Netzwerkschnittstelle mit Index 10 (dezimal) verbunden. Da auch ein link-netnsid 0angezeigt wird, befindet sich diese andere Netzwerkschnittstelle in einem anderen Netzwerk-Namespace (eine Art virtueller IP-Stack), vermutlich dem Root-Netzwerk-Namespace (auch Host-Namespace genannt).

Wenn Sie ip link showin Ihrem Host und nicht in Ihrem Container verwenden, sollte eine der dort aufgeführten Netzwerkschnittstellen einen @9Anhang haben; der Schnittstellenname beginnt wahrscheinlich mit veth.... Diese Schnittstelle ist der Peer der eth0@10Schnittstelle, nach der Sie gefragt haben. Veth-Schnittstellen werden paarweise miteinander verbunden geliefert, wie ein virtuelles Kabel.

Es handelt sich also @...um einen vom ipTool erstellten Anhang, der nicht zu den Netzwerkschnittstellennamen von Linux gehört. Die Nummer nach dem @ bezieht sich auf eine andere Netzwerkschnittstelle mit der Indexnummer, die nach dem @ angezeigt wird. Die Indexnummern werden vor den Netzwerkschnittstellennamen gedruckt, z. B. in 9: eth0@if10. Die Peer-Netzwerkschnittstelle kann sich in einem anderen Netzwerk-Namespace befinden.

Leider ist es ziemlich kompliziert, den richtigen Netzwerk-Namespace für zu finden link-netnsid .., sieheSo finden Sie den Netzwerk-Namespace eines Veth-Peers mit ifindex.

UPDATE 2023:Siemens hat nunKantenhaials OSS, das eine schöne grafische Web-Benutzeroberfläche bereitstellt, die die Beziehungen von Netzwerkschnittstellen in Containern, dem Host usw. darstellt.

Antwort2

Suchen Sie unter /etc/udev/rules.d oder unter /lib/udev/rules.d nach einer Datei wie 70-persistent-net.rules. Dort sollte eine Zeile mit dem Namen der Netzwerkschnittstelle und der MAC-Adresse vorhanden sein. Wenn Sie diese ändern und neu starten, sollte die Netzwerkkarte umbenannt werden.

verwandte Informationen