VLAN 标签被 Linux 机器剥离

VLAN 标签被 Linux 机器剥离

我正在通过套接字捕获数据包。在读取这些捕获的数据包时,我意识到 VLAN 标签不知何故被删除了。在网上浏览后,我读到了一些关于 Linux 发行版本身剥离 VLAN 标签的内容。有人想在这里解释一下吗?

答案1

通常,网络客户端不需要 802.1q 标记,交换机和交换机/路由器/防火墙配置之间才需要,因此 Linux 世界中默认不启用此功能。但当然,您可以将 Linux 服务器设置为防火墙或进行路由,因此在这些情况下,您需要保留标记的数据包,以便交换机知道将 Linux 服务器发出的流量发送到何处。

Ubuntu 需要支持 VLAN、802.1q 的设备和驱动程序。您需要安装用户空间工具 VLAN 才能启用接口的配置。

sudo apt-get install vlan

然后您需要加载模块:

sudo modprobe 8021q

然后,您需要将物理接口添加到 vlan 接口(这将为该 vlan 创建一个新的子接口):

sudo vconfig add eth1 10

然后最后为子接口创建一个 IP 地址:

sudo ip addr add 10.0.0.1/24 dev eth1.10

如果你想让它永久生效:

在启动时将模块添加到内核:

sudo su -c 'echo "8021q" >> /etc/modules'

然后在 /etc/networking/interfaces 中创建一个节:

auto eth1.10
iface eth1.10 inet static
    address 10.0.0.1
    netmask 255.255.255.0
    vlan-raw-device eth1

https://wiki.ubuntu.com/vlan

相关内容