【Linux 】查看veth-pair对的映射关系

发布于:2024-03-29 ⋅ 阅读:(18) ⋅ 点赞:(0)

1. 查看当前存在的ns

ip netns add netns199 //新建一个命名空间

# ip netns show
netns199 (id: 3)

可以看到一个名称叫做netns199 的命名空间,其 id为3

2. 创建一个对,并加入其中一个到其他命名空间中

$ sudo ip link add veth100 type veth peer name veth199 ‘创建一个veth类型的网卡’
$ sudo ip addr add 192.168.2.11/24 dev veth100
$ sudo ip link set veth100 up

ip link set veth199 netns netns199 //把veth199 加入到这个新建的空间
ip netns exec netns199 ip link set dev veth199 up //启动这个网卡
ip netns exec netns199 ip a a 192.168.2.12/24 dev veth199 //添加地址
ip netns exec netns199 ip a //查看网卡

在默认空间下 执行ip a :

15: veth100@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether d2:31:26:ef:d9:95 brd ff:ff:ff:ff:ff:ff link-netnsid 3  //注意:link-netnsid 3
    inet 192.168.2.11/24 scope global veth100
       valid_lft forever preferred_lft forever
    inet6 fe80::d031:26ff:feef:d995/64 scope link
       valid_lft forever preferred_lft forever

link-netnsid 3 代表,当前空间(默认是default)下的 veth100 的对端 是netns199 里面的网卡,那么具体是哪个网卡呢?

可以进一步借助 ethtool工具

$   ethtool -S veth100
NIC statistics:
     peer_ifindex: 14  这个是对端的空间下  网卡的id序号

这时,我们再去查看 netns199 空间下,id=14的网卡是什么 :

$ ip netns exec netns199 ip a
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
14: veth199@if15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000  // id=4
    link/ether 4e:17:07:2c:53:63 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.2.12/24 scope global veth199
       valid_lft forever preferred_lft forever
    inet6 fe80::4c17:7ff:fe2c:5363/64 scope link
       valid_lft forever preferred_lft forever

3.

本文含有隐藏内容,请 开通VIP 后查看