網絡知識---如何查看docker veth pair與宿主機上網卡的對應關系


1. 方法

可以通過iflink 找到對應關系。

  • 在宿主機上執行命令ip link
$ ip link
......
13: veth56ecf40@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue mast
er docker0 state UP mode DEFAULT group default
    link/ether 56:17:10:68:88:b1 brd ff:ff:ff:ff:ff:ff link-netnsid 4
15: veth0f80cbf@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue mast
er docker0 state UP mode DEFAULT group default
    link/ether fa:e6:8f:3b:01:54 brd ff:ff:ff:ff:ff:ff link-netnsid 5
  • 在容器內查看iflink文件
root@336043b07211:/# docker exec -it nginx-1 bash
root@336043b07211:/# cat /sys/class/net/eth0/iflink
13

root@336043b07211:/# docker exec -it nginx-2 bash
root@336043b07211:/# cat /sys/class/net/eth0/iflink
15

這樣就可以確定:
nginx-1這個容器在物理機上對應的veth pair是veth56ecf40@if12
nginx-2這個容器在物理機上對應的veth pair是veth0f80cbf@if14

2. 其它方法

  • 通過ethtool來查看
    首先在容器中執行:ethtool -S eth0

eth0為容器中的網卡的名字

root@336043b07211:/# ethtool -S eth0
NIC statistics:
     peer_ifindex: 13

然后在宿主機上執行: ip link show

$ ip link show
...
13: veth56ecf40@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether 56:17:10:68:88:b1 brd ff:ff:ff:ff:ff:ff link-netnsid 4
15: veth0f80cbf@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether fa:e6:8f:3b:01:54 brd ff:ff:ff:ff:ff:ff link-netnsid 5


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM