VLAN – VLAN Tagging Between Linux and Cisco Small Business Switches: Fluke, Bug, or Misconfiguration?

ciscolinuxtrunkvlan

I seem to be having trouble with communications between a Ubuntu 16.04 VM and Cisco SG-300 10 port switch. I feel like there is something obvious I MUST be missing but for the life of me I cannot figure it out.

On the Linux side, the relevant commands entered are:

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

On the Cisco side, relevant commands entered are (starting from default config):

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

Yet for some reason I cannot ping between the VM and the switch.

I used Wireshark to capture some traffic between the two, and what I notice is that the frames VM –> Cisco switch are all tagged VLAN 3700, and the Cisco switch is able to read these frames and respond, however the responses seem to be untagged.

Linux–>Cisco
Linux-->Cisco

Cisco–>Linux
Cisco-->Linux

Why does this happen? What can I do to fix it?

Best Answer

I never really figured this out but I've moved on from it and chalked it up to the vlan linux package lacking some intelligence that Cisco has. (seeing as how Cisco understood when packets were meant for it and Linux didn't)

Thanks to all who took time for this.