找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 241401|回复: 486

[负载平衡] ADSL多线PCC跑下载 VPN/光纤跑上传

  [复制链接]
发表于 2010-11-26 23:42:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 zooyo 于 2012-3-6 22:49 编辑

    VPN /(本地光纤)跑上传,ADSL跑下载,可以解决几个问题,第一,有效躲避某些地方ISP对ADSL共享检测(网络尖兵等),第二,本地光纤跑上传,ADSL跑下载可以解决ADSL的技术缺陷,避免ADSL由于上行带宽过小,而影响下行的问题,让网络更加流畅。第三,对光纤线路带宽占用也比较小,这样予己予人都比较合理,而不象以前的传统的VPN模式,我们1M的下载,会占用对方服务器一上一下2M带宽。第四,因为VPN技术的极高加密性,会给帮助我们解决很多问题。最后,VPN /(本地光纤)跑上传的至关重要的关键点,比如电信ADSL和本地电信光纤组合,因为出口的ADSL的IP地址和光纤是一个ISP商,验证源地址方面一般没问题,如果是借线外地的VPN SERVER就要看对方是否会验证源地址,如果要验证就没办法,只有另外寻觅VPN SERVER,很多各地方的ISP有限制,非本地的IP段是禁止转发的。另外最好是同一营运商,比如都是电信或者都是联通,这样速度才够快,否则一个联通一个电信,等你数据包到了对方VPN SERVER延迟都几百ms,那就没意义了。一般小于100ms的延迟还可以接受,当然越小越好。


首先设置4条PPPOE拨号,我这里是光纤到楼,网线到户,一条物理线路可以多账号拨入,一个账号4M,可以通过PCC达到带宽叠加。

1.jpg

2.jpg

后面4条线路都按照此设置,有本地光纤线路的,add default route就不需要打勾,因为本地光纤是默认线路。纯ADSL环境的可以勾上,因为无论有多少条PPPOE线路,最后只有第一条拨上号的生效成为默认线路。这样就不用我们制定到底是哪条PPPOE做默认,一切交给系统决定,这样至少保证有一条能拨上号的成为默认线路,网络始终不会中断的,除非全部账号都到期,或者全部ADSL猫都坏了,那是真是平田真悲剧平男了。


因为我家是纯PPPOE环境,我需要拨一条VPN线路来帮我逃避我本地ISP商的panabit服务器对P2P软件的屏蔽(其实这是我最终的目的,哈哈),因为VPN是高度加密的。这里推荐对方VPN SERVER使用L2TP模式,它是UDP协议,效率更高,加密性是最好的,和IPSEC一样,比PPTP加密性更高。当然PPTP也一样,我也是用的PPTP。


3.jpg

4.jpg

5.jpg

6.jpg

PCC的做法我就不再赘述,大家可以参考论坛讲PCC的帖子,有很多。

7.jpg


下面是设置的关键2个步骤:

这是NAT里的设置,我有4条线路,就需要设置4条规则,以此类推。把我们发出去的PCC包的源地址修改成我们PPPOE的外网地址,这样最终响应端会把数据包按这个IP地址发回来,这样就上行走的VPN线路,数据包直接按我们修改后的源地址发回来。这里可能有些朋友还有些疑问不会掉线吗?我再罗嗦两句,打个生动比方由于我们本地邮局A很严格,导致我发出去的很多信件的内容它都要审查,不能通过,那我没办法只有将信件加密过后,先送到附近邮局B帮我发送,但是发信人地址我还是写的我在邮局A的收件地址,由于邮局B比较耿直,不管是外来投递还是本地投递的邮件,它都一律按照目的地址送到,对方收到我的邮件过后,就按照我在邮局A的地址把信给我回过来了,我就收到了对方的回信然后和组织联系上了,邮局B就是借了个道而已,但是一定要注意邮局B要允许外来投递的信件噢。另外在VPN SERVER端的设置,不要给VPN拨号网段做NAT伪装。


8.jpg

0111.jpg

13.jpg

下面是路由表里的设置

111.jpg

222.jpg

最后注意几个地方:new-connection-mark的名字一定要以1 2 3 4为顺序,否则脚本不能正常工作,4条mark routing的路由标记设定成同一个名称,设置完PCC后,运行该脚本,NAT里的规则脚本会自动生成。手动添加的规则标签名一定要以pppoe-out1 2 3 4为顺序。如果本地有光纤线路,作为默认线路的话,那么直接路由标记可以选择main

动态IP自动修改脚本:

{
:local ipa ""
:local ipb ""
:local pname ""
/interface pppoe-client
:for ii from 1 to 4 do={
:set pname ("pppoe-out". $ii)
monitor $pname once do={
:if ($status="connected" && $uptime<00:10:00) do={
:set ipa [/ip address get [/ip address find interface=$pname dynamic=yes] address]
:set ipa [:pick $ipa 0 [:find $ipa "/"]]
:if ([:len [/ip fir nat find connection-mark=$ii]] > 0) do={
:set ipb [/ip fir nat get [/ip fir nat find connection-mark=$ii] to-addresses]
} else={/ip fir nat add action=src-nat chain=srcnat connection-mark=$ii to-addresses=$ipa comment=$pname;:set ipb $ipa}
:if ($ipb != $ipa) do={
/ip fir nat set [find connection-mark=$ii] to-addresses=$ipa disabled=no
:log warning ("\D0\DE\B8\C4\5B" . $pname . "\5D\D3\B3\C9\E4\B5\BD" . $ipa)
:beep length=3000ms frequency=1800
}}}}}

注意红色部分,有几条线就改成几的阿拉伯数字

再加上我的DDNS更新脚本,自动找到默认线路后更新IP

{
:local ddnsint [/ip route get [/ip route find dst-address=0.0.0.0/0 dynamic=yes active=yes] interface]
:local ddnsip [/ip address get [/ip address find dynamic=yes interface=$ddnsint] address]
:local ddnsnip [:pick $ddnsip 0 [:find $ddnsip "/"]]
:if ($ddnsnip != [:resolve "xxx.25u.com"]) do={
    :log info [/tool dns-update name=xxx.25u.com address=$ddnsnip key-name=xxx key=xxx]
}}


感谢本论坛灰太狼(ID:47771885)脚本支持,无懈可击的脚本。

所有设置和测试均在3.30版本上通过。最后,如果教程有不当之处,或者有更好,更科学,可以改进的地方,请大家指出斧正,请跟贴。

此方法我相信论坛很多朋友都已经掌握,我也只是图文并茂更生动的描述一下而已,谢谢为ros作出贡献的网友们,谢谢你们。还有谢谢我们的论坛,谢谢太美,石头。

评分

参与人数 2铜板 +33 收起 理由
bobwalker + 18 版主给力。
47771885 + 15

查看全部评分

routeros
发表于 2010-11-26 23:50:16 | 显示全部楼层
本帖最后由 47771885 于 2010-11-26 23:50 编辑

板凳占了先版主也要购买板凳
routeros
回复

使用道具 举报

发表于 2010-11-27 00:22:02 | 显示全部楼层
坐沙发
routeros
回复

使用道具 举报

发表于 2010-11-27 00:26:39 | 显示全部楼层
这个地板我来坐了.
routeros
回复

使用道具 举报

发表于 2010-11-27 01:11:11 | 显示全部楼层
座什么都可以,支持兄弟发如此详细的教程。
论坛之前都谈得很多了,如果再有看不懂的,那只能说没有做技术的天赋了,赶紧转行吧 呵呵。
懂不懂我都要转行,人在江湖身不由己。
routeros
回复

使用道具 举报

发表于 2010-11-27 02:18:46 | 显示全部楼层
地下室
routeros
回复

使用道具 举报

发表于 2010-11-27 08:18:37 | 显示全部楼层
现在板凳和沙发的意义改了么?支持一下 ....前几天有人发过一个...不过没加精...
routeros
回复

使用道具 举报

发表于 2010-11-27 11:11:20 | 显示全部楼层
标记下,有时间好好琢磨琢磨
routeros
回复

使用道具 举报

发表于 2010-11-27 11:24:08 | 显示全部楼层
希望以后多点这样的教程
routeros
回复

使用道具 举报

发表于 2010-11-27 12:09:05 | 显示全部楼层
这个太好了!不过没有实践环境!先标记!
routeros
回复

使用道具 举报

发表于 2010-11-27 12:32:46 | 显示全部楼层
这个太好了!不过没有实践环境!先标记!
routeros
回复

使用道具 举报

发表于 2010-11-27 12:34:05 | 显示全部楼层
太浪费ADSL的上传带宽了,可以VPN只走TCP,原来的ADSL走UPD。

点评

新思路··有想法!!  发表于 2014-1-2 12:37
routeros
回复

使用道具 举报

发表于 2010-11-27 12:59:22 | 显示全部楼层
哦                         !!
routeros
回复

使用道具 举报

发表于 2010-11-27 13:21:58 | 显示全部楼层
板凳占了先版主也要购买板凳
routeros
回复

使用道具 举报

发表于 2010-11-27 13:56:03 | 显示全部楼层
不错,顶一个
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-11-6 09:39 , Processed in 0.172846 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表