-2

我必须从 linux-bridge 更改为 openvswitch。我有一个物理网卡,它从思科交换机获得了未标记的 vlan 我成功地使用 linux 网桥和 iproute2 建立了一个网络(每个 vlan 都有一个网桥)。我必须使用 openvswitch 做同样的事情,但我无法使用连接到特定 vlan 的适当网桥来 ping vlan 的网关。

这是我所做的(ubuntu 12.04.3 LTS):

在接口文件中指定 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

此时我有了带有 IP 地址、路由信息的 mgmnt 和 dmz 接口。

但是我无法ping通vlan的网关,也无法从同一vlan中的另一台机器ping接口的IP地址。

我错过了什么?

谢谢你!

4

1 回答 1

0

最后我想出了解决方案。上面的设计中有一个不必要的ip策略规则。删除

ip rule add to 172.40.1.1 table vlan300

ip rule add to 172.50.1.1 table vlan302 

条款,解决了问题。

于 2013-09-26T09:42:04.373 回答