QQ图片20170825193024.png

只是测速点是深圳,我家是广州电信50M

关于(双)多拨,大家应该都有所耳闻,详细我不多说,大意就是可以通过多次拨号来叠加网速 让你的带宽高于签约速度

而多拨的教程网上也多如牛毛,有各种各样的方法,但是今天我要发的教程是我在网上从没找到过的 梅林固件的多拨教程

大家一直存在一个误区就是梅林只支持双拨,但是实际上梅林完全可以实现多拨,只是没有人发出过教程(也许有人做过 但是我没搜到)

至于为什么我不用OpenWrt多拨,显而易见的是:openwrt对于网件路由器的支持很差,没有硬件nat,也没有 5G WIFI ac支持(R7000甚至没有无线)

so,经过三天的研究,终于在今天搞定了,把方法发出来让大家都能享受梅林多拨~

因为这是一篇教程而不是个人记录,所以我会直接把结果和原理发出来,而不会把自己探索的过程写出来。

0x00 前提条件

网件路由器(这里是R6300v2) 梅林固件(我用的版本为380.65_X7.4) 已经配置好wan0口的拨号(就是已经可以正常拨号上网)

提示:最后到底能不能有效果取决于当地运营商,如果你已经有双拨经验,可以视情况开启MultiPPPd并发拨号(我这边不用)

0x01 配置阶段

你需要把梅林的SSH打开,系统管理-系统设置-Enable SSH-LAN Only

也要启用JFFS,系统管理-系统设置-JFFS Enable JFFS custom scripts and configs-是

QQ图片20170825190445.png

使用putty或者别的什么ssh软件连接上路由器,用户名和密码与web一致(ssh连接教程请自行百度)

cp /tmp/ppp/options.wan0 /jffs/options.duobo1
cp /tmp/ppp/options.wan0 /jffs/options.duobo2
cp /tmp/ppp/options.wan0 /jffs/options.duobo3

执行以上命令(如果需要更多次拨号就以此类推)

然后修改/jffs/options.duoboX的内容,每一个都要修改

如何修改文件内容?自行百度,你可以用vim编辑,也可以用WinSCP连接编辑

noauth
refuse-eap
user '用户名'
password '密码'
nomppe nomppc
plugin rp-pppoe.so nic-vlan2
mru 1492 mtu 1492
persist
holdoff 10
maxfail 0
usepeerdns
ipcp-accept-remote ipcp-accept-local noipdefault
ktune
default-asyncmap nopcomp noaccomp
novj nobsdcomp nodeflate
lcp-echo-interval 6
lcp-echo-failure 10
lcp-echo-adaptive
unit 0
linkname duobo1

实际上,上面那些都不需要管,只需要把最后一行的linkname修改为duoboX就行(每一个都要修改,其实只要保证每个linkname不同即可)

0x02 连接!

现在你系统上本身已经有一个建立了的连接ppp0(就是系统自带的wan0拨出去的),我们再来拨多几个

/usr/sbin/pppd file /jffs/options.duobo1
/usr/sbin/pppd file /jffs/options.duobo2
/usr/sbin/pppd file /jffs/options.duobo3

此部分操作,如果是需要并发拨号的请同时加上 /usr/sbin/pppd file /tmp/ppp/options.wan0 在第一行

然后等待拨号成功 运行 ifconfig 命令

snipaste_20170825_192201.png

当你看到有多个ppp(有多少个以你自己拨的数量为准)全部上线并且获取到ip后 就可以进行下一步操作了

请记住图中的P-t-P:14.147.28.1中的14.147.28.1是网关地址,后面需要用到

0x03 进一步配置

配置路由表

ip route del default
ip route add default nexthop via 14.147.28.1 dev ppp0 weight 1 \
nexthop via 14.147.28.1 dev ppp1 weight 1 \
nexthop via 14.147.28.1 dev ppp2 weight 1 \
nexthop via 14.147.28.1 dev ppp3 weight 1
ip route flush cache

请把里面的 via 14.147.28.1 改为你前面记住的网关地址,dev ppp3依据你拨号数量以此类推

添加SNAT(第一行是清空默认表防止干扰)

iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp2 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp3 -j MASQUERADE

需要修改-s 192.168.1.0/24为你实际的内网段(默认就是这个 如果不知道就不要改了,改过的人自然知道怎么改)

到这里配置已经全部结束了,上网一段时间后通过 iptables -t nat -L POSTROUTING -nv 来查看状态

Chain POSTROUTING (policy ACCEPT 119 packets, 38504 bytes)
 pkts bytes target     prot opt in     out     source               destination
 1713  115K MASQUERADE  all  --  *      ppp0    192.168.200.0/24     0.0.0.0/0
 2173  161K MASQUERADE  all  --  *      ppp1    192.168.200.0/24     0.0.0.0/0
 1631  105K MASQUERADE  all  --  *      ppp2    192.168.200.0/24     0.0.0.0/0
 1113 71012 MASQUERADE  all  --  *      ppp3    192.168.200.0/24     0.0.0.0/0

可以看到四个网口负载均衡了,目标达成,具体测速效果就是本文开头的图

0x04 可选优化项目

实际上按照上面的做,测速还是没有我开头图片的那个效果,只有bt下载(多源)才会有效果

(这时候如果你直接测速 只有开头的1s会有叠加的效果,然后就掉下去了?)

如果要像我一样得出明显的测速结果,可以尝试禁用路由缓存

具体参考 http://www.openwrt.org.cn/bbs/forum.php?mod=viewthread&tid=7538

要直接给命令的话就是

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

0x05 温馨提示

路由器每次重启之后你都需要按照上面来一次,为了避免多次复制修改拨号文件我已经把它放到了jffs里

所以0x01部分的操作重启之后不用重做,但是其他后面的全部都要再做一次

虽然后面的操作并不繁琐,但是如果有人来把他写成自启动脚本就更好,可以实现方便的自动负载均衡多拨。

Tags:

1 Comment

发表回复

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