ovs-vsctl 显示

ovs-vsctl 显示

我已经通过 OVS 设置了网络。但是,与其他 PC 的通信无法正常进行。

检查原因,入站广播数据包被丢弃。

图表

ovs-vsctl 显示

    Bridge "vmbr1"
        Port "vmbr1"
            Interface "vmbr1"
                type: internal
        Port "enp5s0" <= Trunk Port
            Interface "enp5s0"
        Port "veth1"
            tag: 10
            Interface "veth1"
                type: internal
    ovs_version: "2.12.0"

/etc/网络/接口

auto enp5s0
iface enp5s0 inet manual
        ovs_type OVSPort
        ovs_bridge vmbr1

auto veth1
iface veth1 inet static
        address 10.0.0.100/24
        gateway 10.0.0.1
        ovs_type OVSIntPort
        ovs_bridge vmbr1
        ovs_options tag=10

auto vmbr1
iface vmbr1 inet manual
        ovs_type OVSBridge
        ovs_ports veth1 enp5s0
        ovs_options rstp_enable=true other_config:rstp-priority=40960

测试 1:从 PC ping 到服务器

不工作。

# tcpdump -nn -e -i enp5s0

05:32:36.472613 aa:aa:aa:aa:aa:aa > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 64: vlan 10, p 0, ethertype ARP, Request who-has 10.0.0.100 tell 10.0.0.200, length 46

# tcpdump -nn -i vmbr1

(with -e option)
05:39:40.596069 aa:aa:aa:aa:aa:aa > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 64: vlan 10, p 0, ethertype ARP, Request who-has 10.0.0.100 tell 10.0.0.200, length 46


09:21:01.249929 ARP, Request who-has 10.0.0.100 tell 10.0.0.200, length 46

# tcpdump -nn -i veth1

(没有内容,已删除!使用 -e 选项)

测试 2:从服务器 ping 到 PC

在职的。

测试 2 后从 PC ping 服务器

在职的。

# tcpdump -nn -e -i enp5s0

05:37:10.284850 aa:aa:aa:aa:aa:aa > bb:bb:bb:bb:bb:bb, ethertype 802.1Q (0x8100), length 102: vlan 10, p 0, ethertype IPv4, 10.0.0.200 > 10.0.0.100: ICMP echo request, id 1591, seq 23140, length 64
05:37:10.285915 bb:bb:bb:bb:bb:bb > aa:aa:aa:aa:aa:aa, ethertype 802.1Q (0x8100), length 102: vlan 10, p 0, ethertype IPv4, 10.0.0.100 > 10.0.0.200: ICMP echo reply, id 1591, seq 23140, length 64

测试 3 之后,使用 remove arp 从 PC ping 服务器

sudo arp -d 10.0.0.100 && ping 10.0.0.100

又不工作了!

可能原因是广播没有到达veth1,无法响应arp。

我的设置有问题吗?

另外,像ping -b 10.0.0.255一样,arp以外的协议都一样。广播不会在网桥上泛滥。

============================================

禁用 rstp 没问题!可能是什么原因?

答案1

OpenVSwitch 中的 STP 存在缺陷

抱歉,我又碰到了同样的问题,而且我在网上/邮件列表/等等上看到的研究:当你启用任何一个对于 RSTP 或 STP。

我怀疑接口无法进入 STP/RSTP 进程的转发/块指定表/数据库,从而中断通信。

做过注意到虚拟机创建初始化,在与内部网络(OVSIntPort)接口完全相同的 vlan 标记上运行良好,因为它们很乐意接收广播,但不能接收 OVSIntPorts;(

相关内容