频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

在Linux下配置多线路ADSL的方法

来源:51CTO.com 作者:FOXL 出处:巧巧读书 2007-12-12 进入讨论组
上一页 1 2 

4、查看新设置是否启动:

方法一:

执行: ifconfig

出现ppp0 和ppp1 ,并且均得到ip了.说明成功了,结果象这样:

ppp0 Link encap:Point-to-Point Protocol

inet addr:218.114.37.137 P-t-P:61.142.110.30 Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1

RX packets:165721 errors:0 dropped:0 overruns:0 frame:0

TX packets:123673 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:3

RX bytes:157324193 (150.0 Mb) TX bytes:14068892 (13.4 Mb)

ppp1 Link encap:Point-to-Point Protocol

inet addr:218.114.35.62 P-t-P:61.142.110.30 Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1

RX packets:560055 errors:0 dropped:0 overruns:0 frame:0

TX packets:439711 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:3

RX bytes:530025378 (505.4 Mb) TX bytes:80895162 (77.1 Mb)

方法二:

执行ip高级命令: ip link ls

也可以检验ppp0和ppp1,结果象这样:

1: lo: mtu 16436 qdisc noqueue

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth0: mtu 1500 qdisc pfifo_fast qlen 100

link/ether 00:50:bf:07:4e:32 brd ff:ff:ff:ff:ff:ff

3: eth1: mtu 1500 qdisc pfifo_fast qlen 100

link/ether 00:01:02:9a:31:b9 brd ff:ff:ff:ff:ff:ff

4: eth2: mtu 1500 qdisc pfifo_fast qlen 100

link/ether 00:e0:4c:79:44:71 brd ff:ff:ff:ff:ff:ff

268: ppp1: mtu 1492 qdisc pfifo_fast qlen 3

link/ppp

273: ppp0: mtu 1492 qdisc cbq qlen 3

link/ppp

方法三:

用命令测试反应

ping -I ppp0 202.96.134.133 (测试ppp0的线路状况)

ping -I ppp1 202.96.134.133 (测试ppp1的线路状况)

ping -I ppp2 ......n (如果还有多条的话)

5、如果单单是要实现链路负载平衡,让ppp0和ppp1分担负载,那么我们象以下设置一下配置:

(1)启动路由,允许转发echo 1 > /proc/sys/net/ipv4/ip_forward

(2)进行伪装:

iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp0 -j MASQUERADE

iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp1 -j MASQUERADE

iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o pppn -j MASQUERADE (如果还有多条的话)

(3)修改网关

ip route replace default scope global nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1

说明: 用replace的原因是当原来没有网关时会增加这个网关,当已经存在网关时,会修改原来的网关.

用add 也可以,但是当已经存在默认网关时就要先delete再add.

两个weight 1的意思是这两条链路的权值是相等的,两条链路承担的网络流量是相等的。

有一点是需要说明的,因为路由表是基于缓存的,所以在实际中两条链路并不能100%的平分流量

nexthop NEXTHOP 设置多路径路由的下一跳地址。NEXTHOP比较复杂,它的语法和以下高层参数类似:

via ADDRESS--表示下一跳路由器;

dev NAME--表示输出设备;

weight NUMBER--在多路由路径中,这个元素的权重。表示相对带宽或者服务质量

如果你有多条线路,那么继续在其中增加 nexthop dev ppp2(ppp3......)即可

(4) 刷新路由

ip route flush cache

6、即时检查数据的方向

用tcpdump 分别监察两条线路,用下面命令:

tcpdump -i ppp0

tcpdump -i ppp1

tcpdump -i ppp2......n (有多条的话)

7、为了每次启动时自动启动,把命令写在启动脚本里面,在 /etc/rc.local 后面增加:

ifup ppp0

ifup ppp1

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp0 -j MASQUERADE

iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp1 -j MASQUERADE

ip route replace default scope global nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1

ip route flush cache

结果:运行数月,效果稳定良好。

上网会明显加快,为何呢,因为两条线路分摊了负载。例如,内网80人同时上网,如果网络是一条2M的ADSL,那么整条线路都拥挤,挤得死死的,每人分得的带宽可能只有30k。大家都会明显感觉上网很慢。

如果增加多一条线路,那么两条2M共同分摊拥挤程度,这样可能每人分得的带宽就会变成60K,是原来的加倍,以这种形式来加快上网速度,增加了并发连接的个数。

图 文 结 合:http://www.qqread.com/linux/2007/12/e385933.html 更多文章 更多内容请看ADSL应用面面俱到Adsl共享上网电脑配置手册专题,或进入讨论组讨论。
上一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章