双网合并,共用宽带的方法【转载,整理】

 

TOMATO蹭网+ADSL带宽合并(ROM已放出)(教程已上)

邻居家1M有线通+我家3M ADSL = 4M合并带宽(负载平衡)!终于搞定了,稍后会上教程
硬件配置:
   P7231+WE800G(这个网桥是连接邻居家WIFI的网关)

软件配置:
    1.17 + ADVANDED ROUTING

非常感谢hotwjp的热心帮助

不好意思,回来晚了,TOMATO 1.17 With Advanced Routing 标准版已经放出,手头还有USB,USB+OPENVPN整理后,会继续放出.

提示:脚本要用到策略路由,TOMATO默认是不支持的,只有重新编译把Advanced Routing编译进去才可以,如果大家有能力编译的话,请自己编译,如果不行,晚上我会把tomato.trx发上来
线路的配置:
        线路1:
                自家ADSL,没什么好说的,原来怎么配现在就怎么配
        线路2:
                蹭来的无线,这个有点讲究,首先我们需要一个无线网桥,应为P7321上的无线我是做自家无线AP的,所以不能做邻居WIFI的CLIENT,所以我就搞了一个MOTO WE800G来实现,以下主要是WE800G上的方法(如果直接使用P7231上的AP也可以,只要调成CLIENT模式,并配好路由表,方法我以后会介绍):
                先将WE800G单独脸上电脑,通过管理界面配置为CLIENT连上邻居家的AP,然后将电脑网卡调成DHCP方式,获得远程AP分配的IP,记下此IP(如:192.168.1.123 网关:192.168.1.1).
                在P7231上开一个VLAN(我们用端口0,开VLAN3):
                nvram set vlan0ports="1 2 3 5*"
                nvram set vlan3ports="0 5t"
                nvram set vlan3hwname="et0"
                nvram commit
                reboot
                重启完成后:
                ifconfig vlan3 192.168.1.123 netmask 255.255.255.0
                ifconfig vlan3 up
               
        到这里线路的配置已经完成,你可以测试一下线路2,在路由器上输入ping 192.168.1.1如果成功,则说明线路2已经连接成功.

负载平衡的配置:
        这个简单,只要你运行一下我提供的脚本(startNLB.sh)就可以搞定!
        脚本的配置:
        #————自行修改———–
        wan1_if=ppp0
        wan1_ipaddr=$(ifconfig $wan1_if|grep "inet addr"|awk -F ":" ‘{print $2}’|awk -F " " ‘{print $1}’)
        wan1_gateway=$(ifconfig $wan1_if|grep "inet addr"|awk -F ":" ‘{print $3}’|awk -F " " ‘{print $1}’)

        wan2_if=vlan3
        wan2_ipaddr=$(ifconfig $wan2_if|grep "inet addr"|awk -F ":" ‘{print $2}’|awk -F " " ‘{print $1}’)
        wan2_gateway=192.168.1.1
        #——————————-
        如果你按照我上面的方法做,只要你调整一下        wan2_gateway的地址就可以

脚本要用到策略路由,TOMATO默认是不支持的,只有重新编译把Advanced Routing编译进去才可以,如果大家有能力编译的话,请自己编译,如果不行,晚上我会把tomato.trx发上来

 

以上来源地址:http://www.right.com.cn/forum/viewthread.php?tid=14465&extra=page%3D1&page=1

belkin7231路由—双WAN负载均衡PPP0E拨号

看到论坛上已经有网友利用TOMATO实现是双WAN宽带叠加,也提供了教程可惜都是基于静态ip的
我也不懂! 幸好有boy516 这位DX的指点 勉强实现了!   稳定还是不行!尤其断线以后的问题
本文在belkin7231路由上 测试成功

首先到http://www.right.com.cn/forum/viewthread.php?tid=14465&extra=page%3D1 下载 已经编译好的TOMATO 刷上路由 后再复一下位

1.在WEB上 设置第一条 PPP0E线路 这个不多说了

2.telnet上路由 输入一下内容:

nvram set vlan0ports="1 2 3 5*"
nvram set vlan3ports="0 5*"
nvram set vlan3hwname="et0"
nvram commit
reboot

路由会自动重启

3.在WEB页面上 Administration —–>Scripts—–>WAN Up 输入以后内容 ADSL的帐号密码按实际修改   (如帐号:gzdslxxxx 密码:123456789) 保存重启

ifconfig vlan3 up
pppoecd vlan3 -u gzdslxxxx -p 123456789 -r 1492 -t 14

#!/bin/sh
#——————————-
#      Created by Tommy.Liu
#      eijiliu@hotmail.com
#——————————-

#————自行修改———–
wan1_if=ppp0
wan1_ipaddr=$(ifconfig $wan1_if|grep "inet addr"|awk -F ":" ‘{print $2}’|awk -F " " ‘{print $1}’)
wan1_gateway=$(ifconfig $wan1_if|grep "inet addr"|awk -F ":" ‘{print $3}’|awk -F " " ‘{print $1}’)

wan2_if=ppp1
wan2_ipaddr=$(ifconfig $wan2_if|grep "inet addr"|awk -F ":" ‘{print $2}’|awk -F " " ‘{print $1}’)
wan2_gateway=$(ifconfig $wan2_if|grep "inet addr"|awk -F ":" ‘{print $3}’|awk -F " " ‘{print $1}’)
#——————————-

echo "Wan1 IP:$wan1_ipaddr"
echo "Wan1 Gateway:$wan1_gateway"
echo "Wan2 IP:$wan2_ipaddr"
echo "Wan2 Gateway:$wan2_gateway"

echo "Set adv routing…"
#设定策略路由
ip rule flush
ip rule add lookup main prio 32766
ip rule add lookup default prio 32767
ip rule add from $wan1_ipaddr table 100 prio 100
ip rule add fwmark 0x100 table 100 prio 101
ip rule add from $wan2_ipaddr table 200 prio 200
ip rule add fwmark 0x200 table 200 prio 201
ip route flush table 100
ip route flush table 200
for TABLE in 100 200
do
   ip route | grep link | while read ROUTE
   do
      ip route add table $TABLE to $ROUTE
   done
done
ip route add table 100 default via $wan1_gateway
ip route add table 200 default via $wan2_gateway

echo "Set PREROUTING…"
#清除PREROUTING
iptables -t mangle -F PREROUTING
#所有wan1进入的包(NEW)都标记为0x100,走Wan1策略路由(101)
iptables -t mangle -A PREROUTING -i $wan1_if -m state –state NEW -j CONNMARK –set-mark 0x100
#所有wan2进入的包(NEW)都标记为0x200,走Wan2策略路由(201)
iptables -t mangle -A PREROUTING -i $wan2_if -m state –state NEW -j CONNMARK –set-mark 0x200
#所有LAN进入并且已经建立连接的包,恢复MARK
iptables -t mangle -A PREROUTING -i br0 -m state –state RELATED,ESTABLISHED -j CONNMARK –restore-mark

echo "Set POSTROUTING…"
#清除POSTROUTING
iptables -t mangle -F POSTROUTING
#所有WAN1出去的包
iptables -t mangle -A POSTROUTING -o $wan1_if -m state –state NEW -j CONNMARK –set-mark 0x100
#所有WAN2出去的包
iptables -t mangle -A POSTROUTING -o $wan2_if -m state –state NEW -j CONNMARK –set-mark 0x200

#DNS默认走WAN1(应为双线的线路如果不是同一个ISP,那么DNS就不能混用,只能指定一个)
iptables -t mangle -A POSTROUTING -p udp –dport 53 -j CONNMARK –set-mark 0x100

echo "Set QOS…"
#QOS
iptables -t mangle -F OUTPUT
iptables -t mangle -A OUTPUT -o $wan1_if -j QOSO
iptables -t mangle -A OUTPUT -o $wan2_if -j QOSO

iptables -t mangle -F FORWARD
iptables -t mangle -A FORWARD -o $wan1_if -j QOSO
iptables -t mangle -A FORWARD -o $wan2_if -j QOSO

echo "Set Nat…"

echo "Set default gateway…"
#负载平衡
ip route change default equalize nexthop via $wan1_gateway nexthop via $wan2_gateway

echo "finished."

4.重启后TELNET上路由运行:ip rout
查看ppp0 和 PPP1

看到类似的提示第1,2行能获取公网IP 代表已经成功
# ip rout
218.19.168.1 dev ppp1 proto kernel scope link src 218.19.173.212
116.22.151.1 dev ppp0 proto kernel scope link src 116.22.151.61
192.168.2.0/24 dev br0 proto kernel scope link src 192.168.2.1
127.0.0.0/8 dev lo scope link
default equalize
        nexthop via 116.22.151.1 dev ppp0 weight 1
        nexthop via 218.19.168.1 dev ppp1 weight 1
default via 116.22.151.1 dev ppp0

这时你可以使用迅雷下载测试一下速度 在WEN页面上看看WAN (ppp0) 和WAN (ppp1)的流量

以上来源地址:http://www.right.com.cn/forum/viewthread.php?tid=15689&highlight=7231

 

发表评论

邮箱地址不会被公开。 必填项已用*标注

click to changeSecurity Code