思科和Linux以及Vlans

我似乎对VLAN如何在 Linux上运行有一些基本的误解,我希望这里的好人可以教育我.

演员:一个Cisco 3560,一个VLAN和一个Linux盒子[1].

Cisco  ---------------  Linux
    ge0/1           eth0

思科有一个Vlan 37接口,IP地址为10.40.37.252/24.我想在Linux机器上放置10.40.37.1/24.

当思科解封vlan 37时,一切正常[2]:

# Cisco 
interface Vlan37
    ip address 10.40.37.252/24

interface GigabitEthernet 0/1
    switchport mode access
    switchport access vlan 37

# Linux
ip link set eth0 up
ip addr add 10.40.37.1/24 dev eth0

$ping 10.40.37.252 && echo It works

但是,当我将端口设置为中继并在Linux端分配vlan 37时,它将停止工作:

# Cisco
interface GigabitEthernet 0/1
    switchport trunk encapsulation dot1q
    switchport mode trunk
    ! [3] [4] [7]

# Linux
vconfig add eth0 37
ip link set eth0.37 up
ifconfig eth0 0.0.0.0 up # ensure no address
ip addr add 10.40.37.1/24 dev eth0.37

$ping 10.40.37.252 || echo Why does this not work

在这里想念的是什么?

编辑:解决方案:

Shane关于mac地址表的问题让我得到了一个解决方案:使用“ip addr”在每个VLAN子接口上设置不同的唯一L2(MAC)地址,它突然起作用.

我没有尝试的另一个可能的解决方案(因为我的硬件太旧)使用“ethtool”来禁用NIC本身的VLAN卸载,并强制内核处理标签.

谢谢谢恩!

编辑:根据评论更多信息:

总体目标是让三个vlan(public,private,oam& p)终止于linux盒子上的三个单独的IP地址,不同的应用程序绑定到本地地址.如果有必要,我可以进一步扩展,但我正在努力保持问题描述和讨论简单,因为在我有三个vlans工作之前,我需要一个工作.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...