Network-Interface
網路介面名稱帶有 at 符號 - 它是什麼?
我正在嘗試尋找有關為什麼網路介面名稱會帶有 at 符號的資訊,但是到目前為止我得到的結果中存在太多噪音(我缺乏正確的搜尋術語)
我在 Ubuntu 主機上有一個 LXC 容器。在容器內我執行並得到:
# 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
注意
eth0@if10
這
@
部分被稱為/指的是什麼?在主機上沒有這樣的
if10
,我有另一個容器eth0@if8
- 我必須假設這是 LXC/容器以某種方式處理網路轉換的一部分,但我以前沒有註意到它存在,並且想知道它是否是橋接的補充,在其他情況下可能存在?
eth0@if10
方法:
- 您的網路介面名稱仍然簡單
eth0
,網路工具和應用程序只能引用此名稱,沒有 @ 附錄。(作為旁注,這很可能是一個 veth 對等體,但名稱不需要反映這一點。)@if10
表示:eth0
連接到索引為 10(十進制)的某個(其他)網路介面。由於還有一個link-netnsid 0
顯示,這個其他網路介面位於另一個網路命名空間(一種虛擬 IP 堆棧)中,可能是根(又名主機)網路命名空間。如果您
ip link show
在您的主機中使用,而不是在您的容器中使用,那麼其中列出的網路介面之一應該有一個@9
附錄;介面名稱可能以veth...
.eth0@10
此介面與您詢問的介面是對等的。Veth 介面成對地相互連接,就像一條虛擬電纜。因此,這
@...
是該工具創建的附錄ip
,它不是 Linux 網路介面名稱的一部分。@ 後面的數字是指另一個網路介面,其索引號顯示在 @ 後面。索引號列印在網路介面名稱之前,例如9: eth0@if10
. 對等網路介面可以位於不同的網路命名空間中。不幸的是,為 找到正確的網路命名空間
link-netnsid ..
相當複雜,請參閱如何找到 veth 對等點 ifindex 的網路命名空間。