网络命名空间
- 为了支持网络协议栈的多个实例,Linux在网络栈中引入了
网络命名空间
。 - 处于不同命名空间中的网络栈是完全隔离的,彼此之间无法通信,就好像两个“平行宇宙”
- 通过对网络资源的隔离,就能在一个宿主机上虚拟多个不同的网络环境
网络命名空间的操作
ip netns add ns1 #创建命名空间ns1
ip netns list #列出命名空间
ip netns exec ns1 ifconfig #在命名空间中执行命名,此时没有任何网络设备
ip netns exec ns1 bash #进入到命名空间
exit #退出到外面的命名空间
ip link set br0 netns ns1 #把br0设备转移到ns1命名空间中
ethtool -k br0 | grep netns #如果netns-local的值是on,说明不可以转移,否则可以转移