Skip to content

VLAN 交换机配置探究

入手了个杂牌交换机,没有所谓的 Access、Trunk、Hybrid 端口,只有 tagged、untagged 两个选项,故对部分国产交换机的 VLAN 行为做个探究

TL;DR

txt
端口接收:
    tagged:
        若 [数据包 VLAN ID] 为 [空]: [数据包 VLAN ID] 改写为 [VID]
        若 [数据包 VLAN ID] 在 [端口 VLAN ID] 中: [数据包 VLAN ID] 不变
        若 [数据包 VLAN ID] 不在 [端口 VLAN ID] 中: 丢弃
    untagged:
        [数据包 VLAN ID] 改写为 [VID]
内部路由:
    数据包送到所有 [端口 VLAN ID] [VID] 包含 [数据包 VLAN ID] 的端口
端口发送:
    tagged:
        若 [数据包 VLAN ID] 为 [VID]: [数据包 VLAN ID] 改写为 [空]
        若 [数据包 VLAN ID] 为 [端口 VLAN ID]: [数据包 VLAN ID] 不变
    untagged:
        [数据包 VLAN ID] 改写为 [空]

实验时注意事项

加载内核模块

bash
sudo modprobe 8021q && lsmod | grep 8021q

在接口上附加和删除 IP

bash
sudo ip addr add dev eth0 192.168.211.1/24
sudo ip addr del dev eth0 192.168.211.1/24

创建和删除 VLAN 接口

bash
sudo ip link add link eth0 name eth0.10 type vlan id 10
sudo ip link del dev eth0.10

启用和关闭链路

bash
sudo ip link set dev eth0.10 up
sudo ip link set dev eth0.10 down

关闭某端口的 IP 转发

bash
sudo sysctl -w net.ipv4.conf.eth0/10.forwarding=0

部分实验结果

双方均设置 VLAN 接口,交换机不同模式的连接情况

Host AHost B连通状况
tagtag
untaguntag不通
taguntag不通
untagtag不通

CC BY-NC-SA 4.0 | Power By VitePress