OpenWrt_x86-r2s-r4s-r5s-N1负载均衡:多WAN口带宽聚合策略配置
你是否遇到过单WAN口带宽不足的问题?无论是家庭多宽带接入还是企业网络扩展,多WAN口负载均衡都是提升网络吞吐量的有效方案。本文将详细介绍如何在OpenWrt_x86-r2s-r4s-r5s-N1设备上配置多WAN口负载均衡,实现带宽聚合与流量智能分配。
负载均衡基础与适用场景
负载均衡(Load Balancing)通过将网络流量分配到多个WAN口(广域网接口),实现带宽叠加、故障冗余和访问加速。常见应用场景包括:
- 家庭双宽带(电信+联通)带宽聚合
- 企业多ISP线路冗余备份
- 直播/游戏等高带宽需求场景的网络优化
OpenWrt_x86-r2s-r4s-r5s-N1项目提供了完善的负载均衡支持,主要通过防火墙配置脚本实现策略管理。核心配置文件包括:
- firewall.exwan:适用于firewall3
- firewall.exwan:适用于firewall4(nftables)
硬件准备与接口规划
推荐硬件配置
- 支持多网口的设备(如x86/64平台≥3网口,R4S/R5S等≥2网口)
- 至少2条独立宽带线路(不同ISP效果更佳)
- 稳定电源与散热系统
网络接口规划示例
| 接口名称 | 用途 | 典型配置 |
|---|---|---|
| eth0 | LAN口 | 192.168.1.1/24 |
| eth1 | WAN1 | DHCP(主线路) |
| eth2 | WAN2 | DHCP(备用/叠加线路) |
配置步骤:从基础到高级
1. 接口配置(LuCI界面操作)
- 登录路由器管理界面(默认192.168.1.1)
- 进入 网络 > 接口,点击 添加新接口
- 分别创建WAN1和WAN2接口,协议选择DHCP客户端
- 在物理设置中绑定对应的网口(如eth1绑定WAN1)
2. 负载均衡核心配置
通过修改防火墙配置文件实现负载均衡策略,以下是关键配置片段(来自firewall.exwan):
# 更新防火墙规则示例(截取关键函数)
update_firewall_rule() {
local port="$1"
local is_backend_port="$2"
local rule="firewall.ex_$port"
local family=$(config_get "firewall.@defaults[0].family")
local proto=$(config_get "firewall.@defaults[0].proto")
config_set "$rule" "rule"
config_set "$rule.name" "ex_$port"
config_set "$rule.src" "wan"
config_set "$rule.dest_port" "$port"
config_set "$rule.target" "ACCEPT"
[ "$family" = "ipv4" ] && config_set "$rule.family" "ipv4" || config_set "$rule.family" "ipv6"
}
3. 策略配置示例(UCI命令行)
基础负载均衡配置
# 设置默认路由策略为负载均衡
uci set network.lb_policy=policy
uci set network.lb_policy.type='loadbalance'
uci set network.lb_policy.interface='wan1 wan2'
uci set network.lb_policy.distribution='round_robin' # 轮询模式
uci commit network
/etc/init.d/network restart
高级策略:按目的地址分流
# 添加基于域名的分流规则
uci add firewall rule
uci set firewall.@rule[-1].name='Netflix_through_WAN1'
uci set firewall.@rule[-1].src='lan'
uci set firewall.@rule[-1].dest='wan1'
uci set firewall.@rule[-1].domain='netflix.com'
uci set firewall.@rule[-1].target='ACCEPT'
uci commit firewall
/etc/init.d/firewall restart
流量监控与故障排查
状态查看命令
# 查看接口流量
ifconfig | grep 'RX bytes\|TX bytes'
# 查看负载均衡状态
ip route show table all | grep 'default'
# 查看防火墙规则
iptables -t nat -L # firewall3
nft list ruleset # firewall4
常见问题解决
- 带宽不叠加:检查是否启用了正确的负载均衡策略,可尝试修改distribution为'leastconn'(最小连接数)
- 部分网站无法访问:在firewall.exwan中添加端口例外规则
- 故障切换延迟:调整healthcheck间隔(默认30秒),配置文件路径:
/etc/config/network
优化建议与最佳实践
性能优化
- 启用硬件NAT加速(x86平台建议开启Intel QuickAssist)
- 调整连接跟踪表大小:
echo "net.netfilter.nf_conntrack_max=131072" >> /etc/sysctl.conf - 对大流量应用(如PT下载)单独指定WAN口
安全加固
- 在firewall.exwan中限制WAN口入站端口
- 启用DDNS配合端口转发时,仅开放必要服务端口
- 定期更新固件:
opkg update && opkg upgrade firewall
配置验证与效果测试
验证命令
# 查看策略路由状态
ip rule show
# 测试WAN口连通性
ping -I wan1 www.baidu.com
ping -I wan2 www.qq.com
# 带宽测试(需安装speedtest-cli)
opkg install speedtest-cli
speedtest-cli --server 21493 # 选择就近服务器
预期效果
- 单线程下载:利用主WAN口带宽
- 多线程下载:自动分配到多个WAN口,总带宽接近各WAN口之和
- WAN口故障时:流量自动切换到正常线路,中断时间<10秒
总结与进阶方向
通过本文配置,您已成功实现基础的多WAN口负载均衡。进阶学习建议:
- 研究firewall.exwan中的
update_export函数,实现端口映射与负载均衡的联动 - 尝试基于IP/域名的智能分流(参考luci-app-sqm或mwan3插件)
- 探索OpenWrt_x86-r2s-r4s-r5s-N1项目中的common/diy目录,获取更多定制化脚本
负载均衡是网络优化的基础技术,合理配置可显著提升网络可用性与吞吐量。建议定期备份配置文件,并关注项目更新以获取新功能支持。
本文配置基于OpenWrt_x86-r2s-r4s-r5s-N1最新稳定版,不同版本可能存在配置差异,请以实际文件为准。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



