Linux bridge 作为虚拟交换机,功能与物理交换机类似。
两个 network namespace 可以通过 veth pair 进行连接,两个以上的 network namespace 相互连接可以通过 bridge 连接;
Linux bridge 是 linux 系统中的网桥,有多个端口,数据可以从任何端口进口,然后根据 mac 地址从对应端口出去;
1)创建 bridge
# ip link add name br-test type bridge查看创建的网桥:
# ip link show type bridge
将 bridge 的状态设置为 UP:
# ip link set br-test up创建网络命名空间和 veth-test 设备,并将 veth-test 的一端连接到网络命名空间,另一端连接到刚创建的 br-test 桥接设备。
1)bridge 网络结构

2)创建 ns
# ip netns add ns-test1
# ip netns add ns-test24)创建 veth
# ip link add veth0 type veth peer name veth1
# ip link add veth2 type veth peer name veth35)将 veth 连接到 net ns
# ip link set veth0 netns ns-test1
# ip netns exec ns-test1 ip link set veth0 up
# ip link set veth2 netns ns-test2
# ip netns exec ns-test2 ip link set veth2 up6)将 veth 另一段连接到 bridge
# ip link set dev veth1 master br-test
# ip link set dev veth3 master br-test7)绑定 IP
# ip netns exec ns-test1 ip addr add 172.16.0.1/24 dev veth0
# ip netns exec ns-test2 ip addr add 172.16.0.2/24 dev veth2设置 bridge IP
# ip addr add 172.16.0.3/24 dev br-test8)测试连通性
# ip netns exec ns-test1 ping 172.16.0.2 -c 3【参考文档】
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。