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 后查看