Linux 和 Cisco Small Business 交换机之间的 VLAN 标记:侥幸、错误还是我遗漏了什么?

网络工程 思科 局域网 linux 树干
2022-03-02 20:49:58

Ubuntu 16.04 VM 和 Cisco SG-300 10 端口交换机之间的通信似乎有问题。我觉得有一些明显的东西我必须错过,但对于我的生活,我无法弄清楚。

在Linux端,输入的相关命令有:

modprobe 8021q   
sudo vconfig ens34 3700   
sudo ip addr add 10.0.0.1/24 dev ens34.3700  
sudo ip link set up ens34.3700

在 Cisco 方面,输入的相关命令是(从默认配置开始):

config terminal  
interface ge 1  
switchport mode trunk  
switchport trunk allowed vlan add 3700  
exit  
interface vlan3700  
ip add 10.0.0.2 255.255.255.0  
no shutdown

然而由于某种原因,我无法在 VM 和交换机之间 ping 通。

我使用 Wireshark 捕获两者之间的一些流量,我注意到帧 VM --> Cisco 交换机都标记为 VLAN 3700,并且 Cisco 交换机能够读取这些帧并做出响应,但是响应似乎是未标记。

Linux-->思科 Linux-->思科

思科-->Linux 思科-->Linux

为什么会这样?我能做些什么来修复它?

2个回答

我从来没有真正弄清楚这一点,但我已经从它继续前进并将其归结为 vlan linux 软件包缺乏思科所拥有的一些智能。(看看思科如何理解数据包何时用于它而 Linux 没有)

感谢所有为此花时间的人。

中继链路承载多个 VLAN。您是否在服务器上运行多个虚拟机?如果不是,你为什么要对它进行中继?为什么要中继到服务器?

switchport trunk allowed vlan add 3700应该被删除 - 只允许所有,直到你让它工作。