通过 ip netns help 可以查看所有关于ip netns的命令:
network namespace 在逻辑上是网络堆栈的一个副本,它有自己的路由、防火墙规则和网络设备。
ip netns add r1
ip netens add r2
此命令可以添加 名字为 r1 r2 的network namespace对象
ip netns list
显示所有network namespace对象,即显示在目录/var/run/netns 下的所有network namespace对象
ip netns del r1 删除r1 ip -all netns 删除所有的network namespace对象
ip netns exec r1 ifconfig -a 查看r1的网络
在网络名称空间中添加一对网卡:ip link add v1 type veth peer name v2
将网卡分别添加到两个命名空间中: ip link set v1 netns r1 ip link set v2 netns r2
ip netns exec r1 bash 在r1上启动进程 在启动进程过程中,在另一个进程删除r1 网卡会一直保持在r1进程中,直到进程结束
ip netns identify 此命令查看进程的network namespace
ip netns pids r1 查看r1中进程的pid
ip netns monitor 命令用来监控对 network namespace 的操作。比如我们删除一个 network namespace 时就会收到相应的通知
ip [-all] netns exec NAME cmd 此命令可以在 指定命名空间中执行命令。如:ip netns exec r1 ping 10.0.0.1 ip netns exec r1 ip link set v1 name enth0
给两个网卡添加ip地址: ip netns exec r1 ifconfig eth0 10.0.0.1/24 up ip netns exec r2 ifconfig eth0 10.0.0.2/24 up