openvswitch,一个NIC brdiges和vlans

时间:2013-09-19 13:15:41

标签: routing

我必须从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地址。

我错过了什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

最后我找到了解决方案。 上述设计中存在不必要的ip策略规则。 删除

ip rule add to 172.40.1.1 table vlan300

ip rule add to 172.50.1.1 table vlan302 

子句,解决了这个问题。