本文主要是介绍ovs+namespace实现跨网络通信(2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
模拟内外vlan转换(br-int vlan-3 转换 br-tun vlan-103)
1、准备端口示意图
2、创建连接br-tun网桥
因为本次模拟的是vlan网络,实际中通常命名网桥为br-ethx,ethx为网口名。
ovs-vsctl add-br br-tun
# 使用patch对口(patch-tun 和 patch-int)连接两个ovs网桥
ovs-vsctl add-port br-int patch-tun --set interface patch-tun type=patch options:peer=patch-int --add-port br-tun patch-int --set interface patch-int type=patch options:peer=patch-tun
3、创建模拟的实际物理网口
# 网口 veth002 模拟真实物理网口
# 网口 veth001 模拟交换机物理网口
ip link add veth001 type veth peer name veth002
# 新建ns001
ip netns add ns001
# 端口连接namespace和网桥
ip link set veth001 netns ns001
ovs-vsctl add-port br-tun veth002
4、启用网口,设置网口vlan
ifconfig veth002 up
ovs-vsctl add port veth002 tag 103
ip netns exec ns001 ifconfig veth001 192.168.10.101/24 up
5、配置br-int上vlan转换流表
# 端口patch-tun进入br-int上的包进行vlan转换(103--->3)
ovs-ofctl add-flow br-int "table=0, in_port=patch-tun, dl_vlan=103, action=mod_vlan_vid:3,normal"
6、配置br-tun上vlan转换流表
# 端口patch-int进入br-tun上的包进行vlan转换(3--->103)
ovs-ofctl add-flow br-tun "table=0,priority=10,dl_vlan=3,in_port=patch-int, actions=mod_vlan_vid:103,NORMAL"
结果截图
1)br-int 流表
2)br-tun 流表
3) ping 192.168.10.101
这篇关于ovs+namespace实现跨网络通信(2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!