所属技术领域:
云原生
| 名词定义 |
netns是在linux中提供网络虚拟化的一个项目,使用netns网络空间虚拟化可以在本地虚拟化出多个网络环境,目前netns在lxc容器中被用来为容器提供网络。
使用netns创建的网络空间独立于当前系统的网络空间,其中的网络设备以及iptables规则等都是独立的,就好像进入了另外一个网络一样。
|相关名词|
Ip netns相关命令
1.增加虚拟网络命名空间
ipnetns add net0
2.显示所有的虚拟网络命名空间
EULER:~ # ipnetns list
net0
也可通过查看/var/run/netns目录下的文件来list
EULER:~ # ls /var/run/netns/
net0
3.进入虚拟机网络环境
ipnetns exec net0 command
如
EULER:~ # ipnetns exec net0 bash #打开虚拟网络环境net0的bash窗口
EULER:~ # ipaddr #显示所有虚拟网络环境的设备
EULER:~ # exit #退出该网络虚拟环境
exit
4.增加一对veth虚拟网卡
EULER:~ # ip link add type veth
5.将veth0添加到net0虚拟网络环境
ip link set veth0 netns net0
6.将虚拟网卡veth1改名并添加到net1虚拟网络环境中
ip link set dev veth1 name net1-bridge netns net1
7.设置虚拟网络环境net0的veth0设备处于激活状态
ipnetns exec net0 ip link set veth0 up
8.为虚拟网络环境net0的veth0设备增加IP地址
ipnetns exec net0 ip address add 10.0.1.1/24 dev veth0
用法
ip [ OPTIONS ]netns { COMMAND | help }
ipnetns list - show all of the named network namespaces 列出所有名称空间
ipnetns add NETNSNAME - create a new named network namespace 创建一个新的名称空间
ipnetns delete NETNSNAME - delete the name of a network namespace 删除一个名称空间
ipnetns exec NETNSNAME cmd ... - Run cmd in the named network namespace 在网络名称空间中执行系统命令
ip [-all] netns exec [ NAME ]cmd ... - Run cmd in the named network namespace.
If -all option was specified then cmd will be executed synchronously on the each named network namespace.
资料来源:
1、 阿里云大学
2、 百度百科
3、 CSDN