veth pair创建网络空间

14 篇文章 0 订阅
7 篇文章 0 订阅

在docker Namespace ,网络空间隔离独立的隔离模块,手工创建的veth pair,与程序不是匹配的。

如何让两个网络空间连接

在这里插入图片描述

手动创建网络空间与宿主机连接

添加网络空间
ip netns add NameSpace_A # 增加一个网络A空间
ip netns  #查看增加的网络空间
ip netns exec NameSpace_A ip a  # 查看增加的网络空间的详细信息

在这里插入图片描述

ip netns add NameSpace_B # 增加一个网络A空间
ip netns  #查看增加的网络空间
ip netns exec NameSpace_B ip a  # 查看增加的网络空间的详细信息

在这里插入图片描述

打开创建的网络空间
ip netns exec NameSpace_A ip link set dev lo up # 启动网络空间

在这里插入图片描述

跟物理机连接起来

建立一对 veth pair

ip link add veth0 type veth peer name veth1 # 创建一对 veth pair
ip link set veth1 netns NameSpace_A #将创建好的veth pair 连接NameSpace_A

在这里插入图片描述
在这里插入图片描述

配置IP地址
ip netns exec NameSpace_A ifconfig veth1 11.11.11.1/24 up # 给NameSpace_A空间的veth1配置IP
ifconfig veth0 11.11.11.2/24 up # 给物理机网卡veth0配置IP

可以看到 正常访问
在这里插入图片描述

另一个空间同样操作

结果如下
在这里插入图片描述

查看两个网络空间的信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

两个空间之间通讯

方法一: 桥接
我们同样在新建两条veth pair,使用不同的网段

ip link add veth8 type veth peer name veth5
ip link add veth9 type veth peer name veth6

ip link set veth5 netns NameSpace_A
ip link set veth6 netns NameSpace_B
ip netns exec NameSpace_A ifconfig veth5 33.33.33.1/24 up
ip netns exec NameSpace_B ifconfig veth6 33.33.33.2/24 up

ifconfig veth8 33.33.33.3/24 up
ifconfig veth9 33.33.33.4/24 up

方法二:直连
新建两条veth pair,直接给AB,并赋予IP

ip l a veth10   type veth peer name veth11

ip link set veth10 netns NameSpace_A
ip link set veth11 netns NameSpace_B

ip netns exec NameSpace_A ifconfig veth10 66.66.66.2/24 up
ip netns exec NameSpace_B ifconfig veth11 66.66.66.3/24 up

测试:

ip netns exec NameSpace_A ping 66.66.66.3
ip netns exec NameSpace_B ping 66.66.66.2

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

king config

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值