1. 树莓派OpenWrt网络接口基础认知
树莓派刷入OpenWrt后,默认的eth0接口会被划分为多个逻辑接口。这与我们日常接触的家用路由器不同——那些设备通常明确标注了WAN口和LAN口。在树莓派这种单网口设备上,所有网络功能都通过同一个物理接口实现,这就需要理解OpenWrt的VLAN虚拟划分机制。
物理网口eth0在OpenWrt中被虚拟化为eth0.1和eth0.2两个逻辑接口,分别对应LAN和WAN。这种设计源于OpenWrt的交换机配置(/etc/config/network中的switch配置节)。当数据包进入物理接口时,系统会根据VLAN标签决定将其路由到哪个逻辑接口。这种架构使得单网口设备也能完整实现路由器的所有功能。
注意:不同型号树莓派的网卡驱动可能有差异。树莓派3B+及更新型号使用LAN7515芯片,而旧款使用SMSC95xx系列,这会影响VLAN功能的支持程度。
2. WAN/LAN切换的典型应用场景
2.1 单臂路由部署方案
当树莓派作为家庭主路由使用时,需要将eth0.2作为WAN口连接光猫。此时物理接口通过VLAN划分同时承载内外网流量,内部设备通过eth0.1组成的LAN进行通信。这种配置下,交换机的VLAN过滤规则尤为重要,错误的配置会导致广播风暴。
2.2 纯AP模式转换
某些情况下需要将树莓派改为无线接入点模式。这时需要取消WAN口配置,将eth0.2也并入LAN区域。实测发现这种模式下DHCP服务容易冲突,建议关闭其中一个设备的DHCP服务。
2.3 多租户网络隔离
通过创建多个VLAN可以实现网络隔离。例如eth0.1作为管理LAN,eth0.2连接互联网,eth0.3供访客使用。这种配置需要配合防火墙规则才能确保安全。
3. 网络接口配置实操详解
3.1 配置文件结构解析
OpenWrt的网络配置集中在/etc/config/network文件中。关键配置段包括:
bash复制config device
option name 'eth0'
option type '8021q'
config interface 'lan'
option device 'eth0.1'
option proto 'static'
option ipaddr '192.168.1.1'
config interface 'wan'
option device 'eth0.2'
option proto 'dhcp'
3.2 WAN/LAN角色互换步骤
- 备份原配置文件:
cp /etc/config/network /etc/config/network.bak - 修改device段,交换VLAN分配:
bash复制config device
option name 'eth0'
option type '8021q'
option vid '1' # 原LAN改为WAN
option vid '2' # 原WAN改为LAN
- 更新防火墙区域绑定:
bash复制config zone
option name 'lan'
option network 'eth0.2' # 原wan接口
config zone
option name 'wan'
option network 'eth0.1' # 原lan接口
- 重启网络服务:
/etc/init.d/network restart
关键点:修改后务必检查物理连接。将上级路由的网线从原WAN口改插到新WAN口(即原LAN口对应的物理接口)
4. 常见问题排查指南
4.1 VLAN标记丢失问题
当出现"接口已连接但无网络访问"的情况时,可能是VLAN标签在传输过程中丢失。通过tcpdump抓包可以验证:
bash复制tcpdump -i eth0 -n -e vlan
正常应能看到带802.1Q标签的数据包。如果看不到,需检查交换机的端口VLAN设置。
4.2 MTU不匹配导致分片
某些ISP使用PPPoE拨号时会减小MTU值。如果树莓派WAN口MTU(默认1500)与ISP不匹配,会导致TCP连接卡顿。解决方法:
bash复制uci set network.wan.mtu=1492
uci commit
ifdown wan; ifup wan
4.3 防火墙规则冲突
接口角色切换后,原防火墙规则可能阻止合法流量。建议重置规则:
bash复制/etc/init.d/firewall reload
或者使用更精确的调试命令:
bash复制logread -f | grep firewall
5. 高级配置技巧
5.1 多WAN口负载均衡
通过创建多个VLAN接口可以实现多WAN接入。例如将eth0.3作为第二个WAN口:
bash复制config interface 'wan2'
option device 'eth0.3'
option proto 'dhcp'
然后安装mwan3包进行负载均衡配置。
5.2 无线接口与有线桥接
将无线AP与LAN口桥接可以扩展网络覆盖。关键配置:
bash复制config device
option type 'bridge'
option name 'br-lan'
list ports 'eth0.1'
list ports 'wlan0'
5.3 接口流量监控
使用vnstat进行接口流量统计:
bash复制opkg update
opkg install vnstat
vnstat -i eth0.2 # 监控WAN口流量
实际操作中发现树莓派4B的USB3.0接口与千兆网卡共享总线带宽,当同时使用USB设备和网络时,吞吐量会下降约30%。建议在性能敏感场景下禁用USB3.0(在config.txt中添加dtoverlay=disable-usb3)
