如何在Linux服务器上将VLAN 2配置为lan桥接的一部分以实现外部WiFi流量嗅探
如何在Linux服务器上将VLAN 2配置为lan桥接的一部分以实现外部WiFi流量嗅探
嘿,你的现有桥接配置看起来已经跑很稳了,现在要把外部AP的VLAN 2流量整合进来还能实现嗅探,其实步骤挺清晰的,咱们一步步来操作:
1. 创建VLAN 2子接口
首先,咱们需要给lan0接口创建一个对应VLAN 2的逻辑子接口,这样Linux才能识别并处理带VLAN 2标签的流量。执行以下命令:
# 创建VLAN 2子接口 ip link add link lan0 name lan0.2 type vlan id 2 # 启用这个子接口 ip link set lan0.2 up
这里的lan0.2就是绑定在lan0上的VLAN 2专属接口,它会自动过滤并处理来自交换机的VLAN 2流量。
2. 将VLAN子接口加入lan桥接
接下来把这个新的VLAN接口加入到你现有的lan桥里,让它和其他接口处于同一个广播域,就像原来的wlan0一样。你可以用两种工具来操作:
- 用
brctl(如果安装了bridge-utils包):
brctl addif lan lan0.2
- 或者用iproute2工具(更现代的方式):
ip link set lan0.2 master lan
执行完后,你可以用brctl show lan命令检查,应该能看到lan0.2出现在桥的接口列表里了。
3. 验证嗅探功能
现在VLAN 2的流量已经进入桥接了,你可以直接在桥接口或者VLAN子接口上抓包测试嗅探功能:
# 在lan桥接口上捕获所有流量(包括VLAN 2的WiFi流量) tcpdump -i lan # 或者只在lan0.2接口上捕获VLAN 2的流量 tcpdump -i lan0.2 # 如果需要更精准的过滤,还可以直接指定VLAN ID tcpdump -i lan0 vlan 2
4. 配置持久化(重启后不失效)
上面的命令都是临时生效的,重启服务器后会丢失,咱们需要把配置写进系统网络配置里:
如果你用的是Debian/Ubuntu系(基于/etc/network/interfaces)
编辑/etc/network/interfaces文件,修改lan桥的配置并添加VLAN子接口的配置:
# 配置VLAN 2子接口 auto lan0.2 iface lan0.2 inet manual vlan-raw-device lan0 # 配置lan桥接 auto lan iface lan inet static address 你的静态IP/子网掩码 # 比如192.168.1.1/24 # gateway 你的网关地址(如果需要的话) bridge_ports lan0 lan1 vpn0 lan0.2 bridge_stp off bridge_fd 0
如果你用的是systemd-networkd
创建两个配置文件:
/etc/systemd/network/10-lan0.2.netdev(定义VLAN设备):
[NetDev] Name=lan0.2 Kind=vlan [VLAN] Id=2
/etc/systemd/network/20-lan0.2.network(将VLAN接口加入桥):
[Match] Name=lan0.2 [Network] Bridge=lan
然后确保你的lan桥配置文件(比如/etc/systemd/network/30-lan.network)里的Bridge部分包含所有需要的接口。
关键注意点:交换机侧配置
别忘了你的管理交换机也要做对应配置:
- 把连接服务器lan0的端口设置为Trunk模式,允许VLAN 2的流量通过;
- 把连接外部WiFi AP的端口设置为Access模式,并将其归属到VLAN 2;
这样AP的所有流量都会被打上VLAN 2的标签,发送到服务器的lan0接口,再由我们创建的lan0.2接口处理。
配置完成后,你可以用ip link show lan0.2确认接口处于UP状态,再通过抓包或者ping测试来验证流量是否正常进入桥接,嗅探功能是否生效。
备注:内容来源于stack exchange,提问作者Stellan Klebom




