Linux Network Namespace

创建两个network namespace并互相连接

这里写图片描述

1. 创建Veth pair

先创建两个netns(test1和test2)

sudo ip netns add test1
sudo ip netns add test2

什么是veth pair
Veth pair 是一对虚拟网卡,从一张veth网卡发出的数据包可以直接到达它的peer veth,两者之间存在着虚拟链路。

sudo ip link add veth-test1 type veth peer name veth-test2

ip link 后:
这里写图片描述

将veth-test1 添加进netns test1中

sudo ip link set veth-test1 netns test1

这里写图片描述
同上添加veth-test1 进netns test1中.

2. 给veth分配ip地址

给test1的veth-test1添加ip地址192.168.1.1/24

sudo ip netns exec test1 ip addr add 192.168.1.1/24 dev veth-test1

启动veth-test1

sudo ip netns exec test1 ip link set dev veth-test1 up

查看test1中的ip地址

sudo ip netns exec test1 ip a

这里写图片描述

同理配置test2
这里写图片描述

test1 ping test2

sudo ip netns exec test1 ping 192.168.1.2

这里写图片描述

其他

查看所有netns:

sudo ip netns list

新增:

sudo ip netns add test1

删除:

sudo ip netns delete test1

在一个netns中执行命令:

ip netns exec test1 ip addr
// 可以执行bash命令 ip netns exec test1 bash
// exit退出

配置网卡(netns中网卡默认down)
这里写图片描述

ip netns exec test1 ip link set dev lo up

从DOWN变成UNKNOWN, 因为网络要两个连接才能互通,所以显示unknown.
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值