OpenWrt虚拟机添加物理直通网卡后同LAN内设备无法互通问题
OpenWrt物理直通网卡LAN内设备互通故障解决
核心问题
OpenWrt虚拟机在ESXi环境中,将物理直通网卡eth2加入br-lan桥接后,eth2接入的设备可正常获取DHCP、访问WAN,但无法与eth0(虚拟网卡)上的LAN内其他设备互通。
排查步骤与解决方案
1. 检查ESXi虚拟交换机与物理直通网卡的VLAN配置
- 确认eth0所在的ESXi虚拟交换机未配置VLAN隔离,或与物理直通网卡eth2的VLAN设置完全一致(包括是否带tag)
- 如果虚拟交换机设置了VLAN ID,需确保物理直通网卡连接的物理端口也配置了相同的VLAN,且OpenWrt的br-lan未开启VLAN过滤
2. 开启OpenWrt桥接设备的混杂模式
物理直通网卡在ESXi环境中桥接时,需要允许混杂模式才能接收非自身MAC的数据包,执行以下命令临时测试:
ip link set br-lan promisc on
如果测试有效,修改OpenWrt的网络配置文件/etc/config/network,在br-lan的device配置中添加混杂模式选项:
config device option name 'br-lan' option type 'bridge' list ports 'eth0' list ports 'eth2' option ipv6 '0' option promisc '1' # 添加这一行
保存后重启网络服务:
/etc/init.d/network restart
3. 验证OpenWrt防火墙LAN区域规则
确保LAN区域允许内部设备互通,检查防火墙配置:
uci show firewall | grep zone_lan
确认input、output、forward均设置为ACCEPT:
firewall.@zone[0].name='lan' firewall.@zone[0].input='ACCEPT' firewall.@zone[0].output='ACCEPT' firewall.@zone[0].forward='ACCEPT'
如果配置异常,执行以下命令修复:
uci set firewall.@zone[0].input='ACCEPT' uci set firewall.@zone[0].forward='ACCEPT' uci commit firewall /etc/init.d/firewall restart
4. 检查物理直通网卡的链路与驱动状态
- 在OpenWrt中查看网卡状态,确认eth2链路正常:
ip link show eth2
- 确认eth2已正确加入桥接:
brctl show br-lan
- 如果驱动存在问题,尝试重新加载网卡驱动或更新OpenWrt内核版本
故障验证
完成上述配置后,从eth2接入的设备重新ping同LAN内的虚拟机(如10.0.0.151),若能正常通,则问题解决。
内容的提问来源于stack exchange,提问作者Jason117
相关产品推荐
相关产品推荐

