我必须从linux-bridge更改为openvswitch。 我有一个物理网卡从cisco交换机获得无标记的VLAN 我成功建立了一个使用linux bridge和iproute2的网络(每个vlan都有一个桥接器)。 我必须使用openvswitch做同样的事情,但我无法使用与特定vlan连接的适当网桥ping vlan的网关。
这就是我所做的(ubuntu 12.04.3 LTS):
在interfaces文件中指定vlan:
/etc/network/interfaces
auto vlan300
iface vlan300 inet manual
vlan-raw-device eth1
auto vlan302
iface vlan302 inet manual
vlan-raw-device eth1
openvswitch配置:
ovs-vsctl add-br mgmnt
ovs-vsctl add-port mgmnt vlan300
ovs-vsctl add-br dmz
ovs-vsctl add-port dmz vlan302
iproute2配置:
ip route add 172.40.1.0/24 dev mgmnt src 172.40.1.1 table vlan300
ip route add default via 172.40.1.254 dev mgmnt table vlan300
ip rule add from 172.40.1.0/24 table vlan300
ip rule add to 172.40.1.1 table vlan300
ip addr add 172.40.1.1/24 dev mgmnt
ip link set mgmnt up
ip route add 172.50.1.0/24 dev dmz src 172.50.1.1 table vlan302
ip route add default via 172.50.1.254 dev dmz table vlan302
ip rule add from 172.50.1.0/24 table vlan302
ip rule add to 172.50.1.1 table vlan302
ip addr add 172.50.1.1/24 dev dmz
ip link set dmz up
此时我有mgmnt和dmz接口,带有IP地址,路由信息。
我无法ping通vlan的网关,我也无法从同一个VLAN中的其他计算机ping该接口的IP地址。
我错过了什么?
谢谢!
答案 0 :(得分:0)
最后我找到了解决方案。 上述设计中存在不必要的ip策略规则。 删除
ip rule add to 172.40.1.1 table vlan300
和
ip rule add to 172.50.1.1 table vlan302
子句,解决了这个问题。