手动搭建一个桥接网络 -- 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