保姆级教程:树莓派3B刷OpenWrt后,搞定WAN/LAN/WiFi三网合一(含UCI命令详解)
树莓派3B OpenWrt三网合一实战指南:从零构建智能路由系统
引言
当你把OpenWrt刷入树莓派3B的那一刻,这台信用卡大小的设备就拥有了专业路由器的灵魂。但空有灵魂还不够,我们需要赋予它完整的网络能力——让唯一的物理网口变身WAN口连接互联网,同时通过WiFi和虚拟桥接构建本地局域网。这正是大多数新手卡壳的地方:如何让WAN、LAN和WiFi三个网络接口协同工作?
不同于市面上零散的配置片段,本文将提供完整的拓扑解决方案。你会学到如何用UCI命令精准控制每个接口,理解br-lan桥接的运作机制,最终实现内外网无缝衔接。特别针对家庭网络常见的IP冲突问题,我们将通过修改LAN网段彻底规避。整个过程就像拼装乐高积木——只要按正确的顺序组合各个模块,最终就能获得一个功能完备的智能路由系统。
1. 初始环境诊断与接口规划
1.1 识别物理接口
连接树莓派后,首先需要确认可用网络接口。不同于x86设备的多网口配置,树莓派3B的硬件特性决定了我们必须精打细算地利用每个接口:
cat /proc/net/dev典型输出如下:
Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo: 6528 96 0 0 0 0 0 0 6528 96 0 0 0 0 0 0 eth0: 8264 134 0 1 0 0 0 0 2366 17 0 0 0 0 0 0 wlan0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 br-lan: 4634 76 0 17 0 0 0 0 1714 11 0 0 0 0 0 0关键接口说明:
| 接口名 | 类型 | 默认角色 | 硬件特性 |
|---|---|---|---|
| eth0 | 有线 | 未分配 | 10/100Mbps |
| wlan0 | 无线 | 未启用 | 2.4GHz 802.11n |
| br-lan | 桥接 | LAN区域 | 虚拟接口 |
1.2 理解默认网络架构
OpenWrt初始配置将eth0和wlan0桥接在br-lan下,形成典型的单臂路由结构。这种设计适合多网口设备,但对树莓派来说会造成WAN口缺失。我们需要重构网络拓扑:
改造目标架构:
- eth0 → PPPoE/DHCP客户端(WAN)
- br-lan → 包含wlan0的LAN桥接
- wlan0 → 接入点模式(AP)
注意:操作前建议备份原始配置
cp /etc/config/network /etc/config/network.bak cp /etc/config/wireless /etc/config/wireless.bak
2. 基础网络配置实战
2.1 解决LAN网段冲突
大多数家用路由使用192.168.1.0/24网段,与OpenWrt默认配置冲突。通过UCI修改LAN地址:
uci set network.lan.ipaddr='192.168.10.1' uci commit network /etc/init.d/network restart验证配置:
ifconfig br-lan | grep 'inet addr'应显示:
inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.02.2 构建WAN接口
移除eth0的桥接配置并创建WAN接口:
uci delete network.lan.ifname uci set network.lan.ifname='wlan0' uci set network.wan=interface uci set network.wan.ifname='eth0' uci set network.wan.proto='dhcp' uci set network.wan.metric='10' uci commit关键参数解析:
| 参数 | 值 | 作用 |
|---|---|---|
| proto | dhcp | 从上级路由自动获取IP |
| metric | 10 | 路由优先级(数值越小优先级越高) |
| ifname | eth0 | 绑定物理接口 |
重启网络服务使配置生效:
/etc/init.d/network restart3. 无线网络深度配置
3.1 激活无线接口
检查无线硬件状态:
uci show wireless.radio0.disabled若显示disabled='1',则需启用:
uci set wireless.radio0.disabled='0' uci commit wireless wifi3.2 优化AP配置
修改默认无线参数提升稳定性:
uci set wireless.default_radio0.ssid='MyOpenWrt' uci set wireless.default_radio0.encryption='psk2' uci set wireless.default_radio0.key='securepassword' uci set wireless.radio0.channel='6' uci set wireless.radio0.htmode='HT40' uci commit配置项说明:
- HT40:使用40MHz频宽提升吞吐
- channel 6:2.4GHz干扰较少的信道
- psk2:WPA2-PSK加密保障安全
应用配置:
wifi reload4. 高级网络调优
4.1 防火墙策略配置
确保WAN→LAN流量正确转发:
uci set firewall.@zone[1].input='ACCEPT' uci set firewall.@zone[1].forward='ACCEPT' uci set firewall.@zone[1].output='ACCEPT' uci commit firewall /etc/init.d/firewall restart4.2 启用IPv6支持(可选)
若网络环境支持IPv6:
uci set network.wan6=interface uci set network.wan6.ifname='eth0' uci set network.wan6.proto='dhcpv6' uci commit network /etc/init.d/network restart4.3 性能监控命令集
实时查看网络状态:
# 查看接口流量 bmon # 监控无线客户端 iwinfo wlan0 assoclist # 检查路由表 route -n # 测试外网连通性 ping -c 4 8.8.8.85. 常见问题排错指南
5.1 WAN口无法获取IP
检查物理连接和上级路由DHCP服务:
logread | grep dhcp ifconfig eth05.2 WiFi连接不稳定
尝试调整无线参数:
uci set wireless.radio0.channel='1' # 更换信道 uci set wireless.radio0.txpower='20' # 降低发射功率(单位dBm) uci commit wifi5.3 LAN设备无法上网
排查NAT和路由:
# 检查NAT规则 iptables -t nat -L -n -v # 测试DNS解析 nslookup example.com经过这些配置,你的树莓派3B已经变身为一台全功能路由器。实际使用中发现,当连接设备超过15台时,建议通过tc命令配置QoS保证关键业务带宽。
