海运的博客

Openwrt路由宽带多拨叠加及多线路wan负载均衡

发布时间:September 8, 2012 // 分类:OpenWrt // 2 Comments

OpenWRT使用macvlan虚拟多wan:

opkg update
opkg install kmod-macvlan
#http://www.haiyun.me
#eth1.1为wan接口
ip link add link eth1.1 eth1.2 type macvlan
ip link set eth1.2 address 00:1f:a3:65:55:2d
ip link set eth1.2 up
ip link add link eth1.1 eth1.3 type macvlan
ip link set eth1.3 address 00:1f:a3:65:55:3d
ip link set eth1.3 up    

拨号时写入脚本同时多拨,也可使用morfast修改的pppd提高多拨成功率,PPPD拨号参数:

/usr/sbin/pppd plugin rp-pppoe.so mtu 1492 mru 1492 nic-eth1.1 persist usepeerdns nodefaultroute \
user <user> password <passwd> ipparam wan ifname pppoe-wan1 &

多拨成功后配置多路由负载均衡:

ip route add default scope global nexthop via ip1 dev pppoe-wan1 weight 1 nexthop via ip2 dev \
pppoe-wan2 weight 1 nexthop via ip3 dev pppoe-wan3 weight 1

iptables添加SNAT:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o pppoe-wan1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o pppoe-wan2 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o pppoe-wan3 -j MASQUERADE

一段时间后查看负载均衡效果:

iptables -t nat -L POSTROUTING -nv
Chain POSTROUTING (policy ACCEPT 1206 packets, 81303 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1948  158K MASQUERADE  all  --  *      pppoe-wan1  192.168.1.0/24       0.0.0.0/0           
 1943  159K MASQUERADE  all  --  *      pppoe-wan2  192.168.1.0/24       0.0.0.0/0           
 1912  559K MASQUERADE  all  --  *      pppoe-wan3  192.168.1.0/24       0.0.0.0/0

为公平分配可禁用路由缓存:

echo -1 > /proc/sys/net/ipv4/rt_cache_rebuild_count

另外可参考使用iptables nth标记策略路由实现负载均衡

标签:iptables, openwrt, route, 策略路由, adsl宽带多拨, 路由多线路负载均衡, openwrt路由多wan负载均衡, macvlan

有 2 条 关于" Openwrt路由宽带多拨叠加及多线路wan负载均衡 "的评论

  1. 迅播亚洲影院 迅播亚洲影院

    这个是并发多拨吗?本地isp限制了,不并发的话 第2拨都拨不上

  2. 海运 海运

    ISP一般都限制只允许一个会话,不过同时拨号有多拨成功的可能,多拨后能否带宽叠加和ISP端口限制有关。

发表评论

分类
最新文章
最近回复
  • 海运: 换回了5.3内核,5.8用5.3 dtb虽然能开机且负载正常,但也有其它问题,不建议使用。
  • shangyatsen: 后面的内核高精度计时器的问题使用5.4或者5.3的dtb会正常吗?我也发现有这个日志出现。感觉...
  • 海运: 缺少相应模块?
  • lee: 你好,我执行这条语句 iptables -t mangle -A PREROUTING -m ...
  • 海运: 只更新rootfs,不更新内核,我在用5.3配19.10,懒得再升最新版了,很稳定。 注意:更...
  • lyly168: 这是手动挂载吧,请问自动挂载要怎么弄?
  • swswsw1: 请问升级后,内核更新了吗?听说N1只有在5.0.2的内核下才稳定,怕升级了之后功耗太高
  • 海运: LOG_LEVEL是配置文件变量,本文配置使用systemd启动在EnvironmentFil...
  • 1: 我源碼沒有任何修改,同樣編譯的在X86上可以正常運行。然後原封不動編譯aarch64就提示以上錯誤。
  • 海运: 你配置变量有问题?LOG_LEVEL? https://github.com/dani-gar...