手动搭建一个桥接网络 -- 1.将两个 namespace 用网桥联通

将两个 namespace 用网桥联通

1. 创建三个namespace:net0、net1、netbridge(用于放网桥)

2. 创建一根网线,veth0 端口重命名为 net0-a 放到 net0,veth1 端口重命名为 net0-b 放到 netbridge

3. 创建一根网线,veth0 端口重命名为 net1-a 放到 net1,veth1 端口重命名为 net1-b 放到 netbridge

4. 启用 net0 中的端口 net0-a,启用  net1 中的端口 net1-a

5. 分别给 net0、net1 中的端口 net0-a、net1-a 绑定IP(然后端口就不纯洁了,就相当于一个网卡了,注意要在同一个网段)。

6. 将网卡 net0-a 和 net1-a 启用

7. 在 namespace netbridge 中创建一个网桥 br,启用网桥

8. 将 namespace netbridge 中的端口 net0-b、net1-b 分别接入网桥,然后启用这俩端口

9. 最后在 namespace net0 中 ping net1 中的IP,看是否能 ping 通。

ip netns add net0
ip netns add net1
ip netns add netbridge

ip link add type veth
ip link set dev veth0 name net0-a netns net0
ip link set dev veth1 name net0-b netns netbridge
ip link add type veth
ip link set dev veth0 name net1-a netns net1
ip link set dev veth1 name net1-b netns netbridge

ip netns exec net0 ip address add 10.0.1.10/24 dev net0-a
ip netns exec net1 ip address add 10.0.1.11/24 dev net1-a
ip netns exec net0 ip link set dev net0-a up
ip netns exec net1 ip link set dev net1-a up

ip netns exec netbridge brctl addbr br
ip netns exec netbridge ip link set dev br up
ip netns exec netbridge ip link set dev net0-b up
ip netns exec netbridge ip link set dev net1-b up
ip netns exec netbridge brctl addif br net0-b
ip netns exec netbridge brctl addif br net1-b

ip netns exec net0 ping 10.0.1.11
ip netns exec net1 ping 10.0.1.10

 

下一节,通过网桥将namespace联通外网:https://www.cnblogs.com/aaron-agu/p/17146489.html

posted @ 2023-02-21 22:46  aaron_agu  阅读(108)  评论(0编辑  收藏  举报