ADSL多线PCC跑下载 VPN/光纤跑上传
本帖最后由 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达到带宽叠加。
后面4条线路都按照此设置,有本地光纤线路的,add default route就不需要打勾,因为本地光纤是默认线路。纯ADSL环境的可以勾上,因为无论有多少条PPPOE线路,最后只有第一条拨上号的生效成为默认线路。这样就不用我们制定到底是哪条PPPOE做默认,一切交给系统决定,这样至少保证有一条能拨上号的成为默认线路,网络始终不会中断的,除非全部账号都到期,或者全部ADSL猫都坏了,那是真是平田真悲剧平男了。
因为我家是纯PPPOE环境,我需要拨一条VPN线路来帮我逃避我本地ISP商的panabit服务器对P2P软件的屏蔽(其实这是我最终的目的,哈哈),因为VPN是高度加密的。这里推荐对方VPN SERVER使用L2TP模式,它是UDP协议,效率更高,加密性是最好的,和IPSEC一样,比PPTP加密性更高。当然PPTP也一样,我也是用的PPTP。
PCC的做法我就不再赘述,大家可以参考论坛讲PCC的帖子,有很多。
下面是设置的关键2个步骤:
这是NAT里的设置,我有4条线路,就需要设置4条规则,以此类推。把我们发出去的PCC包的源地址修改成我们PPPOE的外网地址,这样最终响应端会把数据包按这个IP地址发回来,这样就上行走的VPN线路,数据包直接按我们修改后的源地址发回来。这里可能有些朋友还有些疑问不会掉线吗?我再罗嗦两句,打个生动比方由于我们本地邮局A很严格,导致我发出去的很多信件的内容它都要审查,不能通过,那我没办法只有将信件加密过后,先送到附近邮局B帮我发送,但是发信人地址我还是写的我在邮局A的收件地址,由于邮局B比较耿直,不管是外来投递还是本地投递的邮件,它都一律按照目的地址送到,对方收到我的邮件过后,就按照我在邮局A的地址把信给我回过来了,我就收到了对方的回信然后和组织联系上了,邮局B就是借了个道而已,但是一定要注意邮局B要允许外来投递的信件噢。另外在VPN SERVER端的设置,不要给VPN拨号网段做NAT伪装。
下面是路由表里的设置
最后注意几个地方: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 address]
:set ipa [:pick $ipa 0 [:find $ipa "/"]]
:if ([:len ] > 0) do={
:set ipb 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 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 interface]
:local ddnsip address]
:local ddnsnip [:pick $ddnsip 0 [:find $ddnsip "/"]]
:if ($ddnsnip != [:resolve "xxx.25u.com"]) do={
:log info
}}
感谢本论坛灰太狼(ID:47771885)脚本支持,无懈可击的脚本。
所有设置和测试均在3.30版本上通过。最后,如果教程有不当之处,或者有更好,更科学,可以改进的地方,请大家指出斧正,请跟贴。
此方法我相信论坛很多朋友都已经掌握,我也只是图文并茂更生动的描述一下而已,谢谢为ROS作出贡献的网友们,谢谢你们。还有谢谢我们的论坛,谢谢太美,石头。
本帖最后由 47771885 于 2010-11-26 23:50 编辑
板凳占了先版主也要购买板凳{:3_51:} 坐沙发 这个地板我来坐了. 座什么都可以,支持兄弟发如此详细的教程。
论坛之前都谈得很多了,如果再有看不懂的,那只能说没有做技术的天赋了,赶紧转行吧 呵呵。
懂不懂我都要转行,人在江湖身不由己。 地下室 现在板凳和沙发的意义改了么?支持一下 ....前几天有人发过一个...不过没加精... 标记下,有时间好好琢磨琢磨 希望以后多点这样的教程 这个太好了!不过没有实践环境!先标记! 这个太好了!不过没有实践环境!先标记! 太浪费ADSL的上传带宽了,可以VPN只走TCP,原来的ADSL走UPD。 哦 !! 板凳占了先版主也要购买板凳 不错,顶一个