我正在尝试路由带有 VLAN ID 4 标记的 Linux 机器 (Ubuntu 14.04) 流量。 重要的是标记将在 Linux 本身而不是在进一步的交换机中完成。
我使用这个命令创建了一个新接口(interface) eth0.4
vconfig add eth0 4
ifconfig eth0.4 10.0.0.32 broadcast 10.0.0.0 up
此外,我检查了 8021q 驱动程序是否已加载
lsmod | grep 8021q
我还添加到/etc/network/interfaces
auto eth0.4
iface eth0.4 inet static
address 10.0.0.32
netmask 255.255.255.0
vlan-raw-device eth0
当我向 HTTP 网站发出请求时。我没有看到任何来自 vlan 接口(interface)的东西(使用 ifconfig)。
我想知道 Linux 是如何知道通过 vlan 的接口(interface)路由流量的?如果不是,我该如何手动配置这样的路由?
最佳答案
请注意,只有支持 VLAN 的设备才能接受 VLAN 流量,否则数据包将被丢弃。 NIC/交换机应该支持 VLAN (IEEE 802.1q)。查看本次练习涉及的设备。
请注意,某些内核/驱动程序需要一些补丁才能支持 VLAN。检查您的内核/网络驱动程序。
另一个观察是,在为 vlan 接口(interface)分配 ip 地址时,“ifconfig eth0.4 10.0.0.32 broadcast 10.0.0.0 up”可以是 “ifconfig eth0.4 10.0.0.32 网络掩码 255.255.255.0 广播 10.0.0.0 向上”。使用命令“ifconfig eth0.4”验证此配置。
关于linux - 如何使用 vlan id 标记传出流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33342146/