我是一个老学校的网络家伙,试图在OVS桥上做一些开发工作。我需要帮助弄清楚在VLAN之间切换OVS桥接口的语法。
首先是一些系统信息…。我的主机框是一个Ubuntu框,16.04.4;我的OVS版本是2.12.1 (DBSchema8.0.0)。
好吧,下面是我的开发测试床的简单图片:

很简单。测试客户端和服务器对坐在我的OVS桥的对面,通过默认的VLAN彼此连接。我还有两个虚拟路由器连接到桥接器上,但在这种配置中,它们什么也不做。我可以通过一些在线教程,特别是这是这里的,来设置它。
现在,问题是。我需要修改OVS桥的VLAN结构如下:

现在情况不一样了。要到达服务器,客户端的通信必须通过VLAN 100通过两个vRouters转发,然后输出VLAN 200。(是的,我故意希望同一个数据包通过OVS网桥两次--我的项目是尝试开发一种方法来识别数据包的双比特。)VLAN 100和200是普通访问的VLAN,这里没有集群。事实上,不可能有集群,因为我想保持100‘S和200’S的交通分开。
我可以改变客户的IP,没问题。但是在OVS桥上使用VLAN是灾难性的。
我最初以为我可以使用“add”命令来更改VLAN标记:
ovs-vsctl add-port ovs_bridge dpdk1 tag=100
ovs-vsctl add-port ovs_bridge vy0 tag=100
ovs-vsctl add-port ovs_bridge dpdk2 tag=200
ovs-vsctl add-port ovs_bridge vy1 tag=200但这造成了一个错误,不幸的是我输了。我已经搜索过“OVS桥更改VLAN标记”,但是我删除的所有站点都向您展示了如何从零开始创建一个新的标记界面…。不是我要找的东西。
此外,由于测试的本质,我需要在这两个测试床配置之间切换。换句话说,我需要将我的所有接口放到默认的VLAN中,然后将它们移动到VLAN 100/200中,然后将它们移回,然后返回到100/200,然后再次默认,然后是100/200,等等。我可能不得不这样做几百次。
把一切都撕碎,从零开始重建,真是痛苦。如果网桥是Cisco或Juniper交换机,我可以用一个命令设置VLAN。但我看不出有什么办法在OVS桥世界里做到这一点。有什么建议吗?谢谢!
发布于 2020-02-05 15:19:32
对于任何跟踪这条线索的人..。我还发布了我的问题这里,并得到了答案。在VLAN 100和默认VLAN之间移动端口的语法是:
root@liux:~# ovs-vsctl get port dpdk1 tag
[]
root@liux:~# ovs-vsctl set port dpdk1 tag=100
root@liux:~# ovs-vsctl get port dpdk1 tag
100
root@liux:~# ovs-vsctl set port dpdk1 tag=[]
root@liux:~# ovs-vsctl get port dpdk1 tag
[]
root@liux:~# https://serverfault.com/questions/1001598
复制相似问题