无线论坛 门户 我要刷机 查看内容

OpenWrt+macvlan+multiwan实现一线双号叠加

2015-5-18 10:11| 查看: 8324| 评论: 1

宽带叠加技术已经出现了相等长的时间,如企业路由器的双WAN口技术(这类路由被称为双线路由器,一般分别用来接入电信和联通来实现智能路由)。但这先进技术普通民众享受不了,一来该类路由器价格不菲,二来宽带不便 ...

写在前面

宽带叠加技术已经出现了相等长的时间,如企业路由器的双WAN口技术(这类路由被称为双线路由器,一般分别用来接入电信和联通来实现智能路由)。但这先进技术普通民众享受不了,一来该类路由器价格不菲,二来宽带不便宜,最重要的是没有接入双线的需求。

之后有段时间出现了宽带运营商禁用路由器的事情,搞得沸沸扬扬,民怨不小。路由器厂商TP-LINK看准国家没有相关法令禁止路由器的事实,借机推出了破解“宽带运营商禁用路由器”的路由器,难怪TP-LINK可以做到同行业最大。经历种种,宽带运营商推出了一个折中方案,一个账号可以同时在2~3台电脑同时拨号,也没有明确禁止路由器,但是装宽带的师傅不负责安装路由器,需要自己动手设置,这相当于变相默认了可以使用路由器。对于广大家庭用户不管你采用什么方案,家中几台电脑可以同时上网就好。

上述宽带运营商的变通方法推出不久,就被隐藏在民间的高手发现了“漏洞”,该“漏洞”具体表现为2台电脑同时拨号的网速之和大于标称的网速。对于这个“漏洞”,不确定是宽带运营商的故意还是大意,总之,高手们有了新的折腾方向——把两次拨号的速度叠加起来!

该“漏洞”出现没有多久,各地的宽带运营商纷纷推出“补丁”补漏。原因大概是该漏洞的利用的规模太大了,论坛不少有10拨成功的例子,这怎么让运营商高兴呢?于是补漏后的限速方案是在机房利用端口对宽带账号进行限速,即使你100拨成功了,速度也不能增加。而像我使用中的移动宽带,一步到位,压根就不可以多拨,让人很是死心了。

上述的多拨方案为单线一号多拨,除了该方案外还有企业路由器采用的多线多号多拨,和接下来要重点介绍的单线多号多拨。对于一般用户来说,单线多号多拨硬件门槛最低。

以上文字是本人多年的观察所得,臆想成分大,难免失误,大家一笑而过便好,下面进入重点。

硬件条件

1、采用OpenWrt的路由器一台,刷入最新的OpenWrt官方稳定版固件,这样的固件最纯净。

2、多个同一运营商的上网账号,并且账号没有和线路绑定

软件条件

1、kmod-macvlan,该软件的作用是在路由器上模拟网卡作为WAN口进行拨号

2、multiwan,该软件的作用是把各WAN口拨号成功后得到的路由进行整合,根据路由策略进行转发

3、ip,该软件的作用是运行kmod-macvlan

操作步骤

1、利用第一个上网账号设置上网环境,确定能够正常上网

2、在LUCI界面刷新软件列表,分别搜索并安装kmod-macvlan和multiwan以及ip

3、观察目前WAN口所使用的网卡名称,一般为eth0.2之类的,记下该名称,在启动项exit 0之前输入以下代码,让路由器每次重启之后自动运行

sleep 6
ip link add link eth0.2 vth1 type macvlan
ifconfig vth1 hw ether 00:11:22:33:44:55
ifconfig vth1 up

这里备注一下,不少人按别的教程将代码其实写在/etc/rc.local上的,路由器开机后发现代码“没有”自己运行,原因运行是时机不对。本例加入sleep 6,推迟6秒,等eth0.2启动后再创建vth1就会成功。

4、重启之后,在LUCI中添加新的WAN拨号端口,加入防火墙,新WAN拨号的路由跃点不能选择默认的0,不然和第一个WAN的跃点相同,拨号成功后只能存在一条默认路由,造成叠加失败

5、multiwan对相同网关的路由不能有效地叠加,所以要修改/lib/netifd/ppp-up文件:

[ -n "$IPREMOTE" ] && proto_add_ipv4_route 0.0.0.0 0 "$IPREMOTE"

修改成:

[ -n "$IPREMOTE" ] && proto_add_ipv4_route 0.0.0.0 0 "$IPLOCAL"

保存并退出

6、重启路由器,查看路由

root@OpenWrt:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.18.62.29    0.0.0.0         UG    0      0        0 pppoe-wan
default         172.18.42.34    0.0.0.0         UG    20     0        0 pppoe-wan2
.18.0.1      *               255.255.255.255 UH    0      0        0 pppoe-wan
.18.0.1      *               255.255.255.255 UH    0      0        0 pppoe-wan2
.168.1.0     *               255.255.255.240 U     0      0        0 br-lan

root@OpenWrt:~# ip route
default via 172.18.62.29 dev pppoe-wan  scope link
default via 172.18.42.34 dev pppoe-wan2  proto static  metric 20
.18.0.1 dev pppoe-wan  proto kernel  scope link  src 172.18.62.29
.18.0.1 dev pppoe-wan2  proto kernel  scope link  src 172.18.42.34
.168.1.0/28 dev br-lan  proto kernel  scope link  src 192.168.1.1

这个时候还是不能叠加的,WAN的跃点为0,WAN2的跃点为20,所以的流量都走WAN了。

这个时候重启一下multiwan,让multiwan来安排路由

/etc/init.d/multiwan restart

再次查看路由

root@OpenWrt:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.18.42.34    0.0.0.0         UG    0      0        0 pppoe-wan2
default         172.18.62.29    0.0.0.0         UG    0      0        0 pppoe-wan
.18.0.1      *               255.255.255.255 UH    0      0        0 pppoe-wan
.18.0.1      *               255.255.255.255 UH    0      0        0 pppoe-wan2
.168.1.0     *               255.255.255.240 U     0      0        0 br-lan


root@OpenWrt:~# ip route
default via 172.18.42.34 dev pppoe-wan2  scope link
default via 172.18.62.29 dev pppoe-wan  scope link
.18.0.1 dev pppoe-wan  proto kernel  scope link  src 172.18.62.29
.18.0.1 dev pppoe-wan2  proto kernel  scope link  src 172.18.42.34
.168.1.0/28 dev br-lan  proto kernel  scope link  src 192.168.1.1

刚才说过,跃点数相同的话,只能出现一条路由,而这里两条路由的跃点数都是0,所以multiwan已经起作用了。

7、加入multiwan重启命令到/etc/rc.local,完成后的代码为

sleep 6
ip link add link eth0.2 vth1 type macvlan
ifconfig vth1 hw ether 00:11:22:33:44:aa
ifconfig vth1 up

sleep 20
 /etc/init.d/multiwan restart

exit 0

至此,重启路由后应该可以自己拨号,自己路由了,剩下的就是设置multiwan的路由方案了。

写在后面

目前在OpenWrt除了MULTIWAN可以进行多拨路由外,还有NWAN,M-ROUTE,MWAN3。MWAN3同样不能对相同网关进行路由,但这个应该不成问题了。NWAN是国人“飞翔的天空”编写的,已经好久没有更新了,我在OpenWrt Barrier Breaker 14.07-rc3 上安装失败,MWAN3,M-ROUTE不在OpenWrt官方软件库中,综合各种原因,选择了MULTIWAN。

如果不是同一运营商的宽带,需要多线,可以编辑network配置文件对LAN中的某口划入WAN区域,相关资源请自行搜索本站资料。


高人
3

专业

握手

霸气

雷人

吐血

山寨

奋斗

刚表态过的朋友 (3 人)

相关阅读

发表评论

最新评论

引用 fing1979 2015-5-19 16:51
12101ghdjghjg fg

查看全部评论(1)

文章栏目
论坛新贴
今日热议
本周排行
最新文章

站点统计 | Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2024-4-19 22:32

返回顶部