为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

ADSL捆绑技术

2011-12-29 4页 doc 21KB 31阅读

用户头像

is_484449

暂无简介

举报
ADSL捆绑技术 小虫IT网络服务 15011375317 一 硬件服务 二 软件维护 三 网络维护与组建 四 系统服务 五 工程师免费服务 六 工程师外派 七 布线工程 八 网络优化 九 公司IT设备优化 我们将以 专心服务 细心服务 耐心服务 热心服务 ADSL捆绑 现在很多公司,为了节约成本,往往会放弃E1等等这样高价的链路,选择廉价的AD...
ADSL捆绑技术
小虫IT网络服务 15011375317 一 硬件服务 二 软件维护 三 网络维护与组建 四 系统服务 五 工程师免费服务 六 工程师外派 七 布线工程 八 网络优化 九 公司IT设备优化 我们将以 专心服务 细心服务 耐心服务 热心服务 ADSL捆绑 现在很多公司,为了节约成本,往往会放弃E1等等这样高价的链路,选择廉价的ADSL作为基本接入方式。单条ADSL带宽有限,动态ip,链路连接也不很稳定。多条ADSL可以满足一定的带宽需求,但是一般情况下,都是内网设置多个网关,内网用户手动指定网关选择ADSL出口,管理维护比较繁琐。部分ADSL接入商通过支持MPPP来提供ADSL多链路带宽捆绑服务,但是同样会收取比较高的费用。这里将介绍一个方法,通过Linux网关实现多个ADSL链路的捆绑。      必要条件,是有一台外部的Linux主机,并且通过ADSL能快速访问。一般情况下可以选择本地IDC提供的主机托管服务。这里可以做一个简单的速度测试,用FlashGet通过ADSL下载主机上的文件,能占慢ADSL带宽即可。      先简单介绍一下原理。首先是通过ppp over ssh建立一条基本tunnel。然后通过Linux对mppp的支持,将多个tunnel聚集到一起。剩下来的问题,就是如何充分利用多个存在的ADSL网关,就是依靠ssh -b参数指定source ip,然后再利用linux的source routing来选择具体网关。      --------------------|-ADSL1-GW-- ..................-|   --------------------|-ADSL2-GW-- ..................-|   LinuxGW(LG) ---|-ADSL3-GW-- (MPPP Link) --- External Linux Host(LE)   --------------------|-ADSL4-GW-- ..................-|   --------------------|-ADSL5-GW-- ..................-|      配置基本的ppp over ssh tunnel      首先是在LE上建立一个普通的用户,并且配置好ssh key验证   # groupadd adslin   # useradd -g adslin -m adslin      在LG上使用ssh-key建立一对key文件   # ssh-key -t dsa -f /etc/ppp/peers/adsl-out-key   然后将/etc/ppp/peers/adsl-out-key.pub复制到LE上~adslin/.ssh/authorized_keys文件里面。需要注意一下这个文件的属性,owner必须是adslin:adslin.      做一下测试,保证ssh可以在不输入口令的情况下,登录到LE上   # ssh -i /etc/ppp/peers/adsl-out-key adslin@LE   确定一切无误之后,我们继续      下面的工作在LE上完成:      1.复制系统的pppd到adslin HOME目录中,并且设这正确属性   # cp /usr/sbin/pppd ~adslin   # chmod u+s ~adslin/pppd      2.准备密码验证文件,在/etc/ppp/chap-secrets文件中添加两行   adslin adslout 123456 *   adslout adslin 123456 *   (实际应该只要一行,我也不确定到底哪行是起作用的)      3.在/etc/ppp/peers目录中建立一个adslin文件,内容如下   -- BEGIN --   endpoint phone:144145   name adslin   remotename adslout   netmask 255.255.255.0   1.2.3.4:4.3.2.1   multilink   nodetach   +chap   require-chap   -- END --   其中endpoint, multilink是为了支持mppp的.netmask以及ip需要更具具体需要修改。      下面工作在LG上完成      1.与上面LE上的操作相同,给/etc/ppp/chap-secerts添加相同的两行。      2.在/etc/ppp/peers/目录中建立adslout文件,内容如下   -- BEGIN -- endpoint phone:144145   name adslout   remotename adslin   netmask 255.255.255.0   4.3.2.1:1.2.3.4   multilink   nodetach   +chap   require-chap   pty "ssh -t -i /etc/ppp/peer/adsl-out-key adslin@LE ./pppd call adslin"   -- END --   可以看出来,这个文件和LE上的adslin基本相同,除了name/remotename以及ip对调了一下。同时增加了pty这个option,pppd将利用这个option提供的命令行来建立连接管道。      最后我们来测试一下,在LG上运行   # pppd call adslout   看看是否能基于ssh链路建立正常的ppp连接。      现在的工作,就是准备策略路由。我们都知道,IP的路由规则,都是根据目的地址来选择路由的,对于一个相同的目的地址,我们如何实现控制TCP连接选择不同的网关喃?先看一下下面的例子。      # ip addr add 192.168.1.201/24 dev eth0   # ip rule add pref 12001 from 192.168.1.201 table 101   # ip route add default via 192.168.1.1 table 101      # ip addr add 192.168.1.202/24 dev eth0   # ip rule add pref 12002 from 192.168.1.202 table 102   # ip route add default via 192.168.1.2 table 102      简单的解释一下,第一句ip addr add,是给eth0这个interface新增加一个ip。ip rule add是增加一个策略,所有源地址是192.168.1.201的IP包,都使用table 101这个route,而不是使用缺省的系统路由表。ip route add是添加了一条缺省路由(default route),仔细看最后的参数,table 101,意思就是说这条路由是加在table 101中,而不是缺省的系统路由表中。      言下之意,如果源地址为192.168.1.201的IP包,会匹配12001(pref 12001)这个规则去查询101这个路由表。而101这个路由表的网关就是192.168.1.1。同样的道理,如果源地址为192.168.1.202的话,就会选择192.168.1.2作为网关。现在我们明白了,我们可以通过控制源地址来控制具体的网关选择。可是我们又如何来控制IP包的源地址喃?      man ssh,我们可以看到-b这个选项,bind address,right,就是这个选项。ssh -b 192.168.1.201 ...将会使用1.1这个网关,ssh -b 192.168.1.202 ...就会通过1.2网关建立连接。我们可以通过-b参数来控制连接的源地址,也就选择了这个连接所使用的网关。
/
本文档为【ADSL捆绑技术】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索