- 浏览: 21301 次
- 性别:
- 来自: 北京
最新评论
Linux配置多线路ADSL的方法
此文档可以说明双ADSL及多ADSL增加线路的配置过程。
Linux配置多线路ADSL的方法
powered by KindGeorge http://kindgeorge.at.3322.org\经过一段时间的观察,证明运行良好,现把设置过程及方法总结一下,欢迎指正.
此文档可以说明双adsl及多adsl增加线路的配置过程.
实验环境:
操作系统: RedHat7.3
两条adsl,长期观察线路稳定,动态ip,带宽2M,
三块网卡: eth0 tulip,接内网
eth1 3c59x,接第一条adsl
eth2 8139too,接第二条adsl
ethn xxxx,(如果还有的话....)
目的:用两条adsl共同上网,分担负载,实现一般的简单负载平衡,带动内网上网.
1.添加网卡
插入网卡,启动机器,如果需要双线路上网,就要三块网卡了,配置网卡也可以参考其他资料.
配置为找到相应的型号模块,例如:eth2是8139的网卡
[root@kindgeorge root]# vi /etc/modules.conf
alias parport_lowlevel parport_pc
alias eth0 tulip
alias eth1 3c59x
alias eth2 8139too
把新的线路插在eth2上
2.配置adsl
方法一:
(1)运行adsl-setup程序,会一步一步的提示你完成配置过程.
创建ppp0和ppp1的拨号配置文件,并保存配置,一般保存在/etc/sysconfig/network-scripts/ifcfg-ppp1
(2)确定/etc/sysconfig/network-scripts/ifcfg-ppp0文件,其中的PIDFILE参数设为:
PIDFILE=/var/run/ppp-adsl.pid
修改/etc/sysconfig/network-scripts/ifcfg-ppp1文件,将其中的PIDFILE参数设为:
PIDFILE=/var/run/ppp-adsl1.pid
如果你有更多的线路,可以继续增加0,1,2,3....等
这是为了使不同的拨好用不同的pid,如果不修改此参数将无法启动第二条线路接口。
(3)配置文件一般是:
USERCTL=no BOOTPROTO=dialup NAME=DSLppp1 DEVICE=ppp1 TYPE=xDSL ONBOOT=yes PIDFILE=/var/run/pppoe-adsl1.pid FIREWALL=NONE PING=. PPPOE_TIMEOUT=20 LCP_FAILURE=3 LCP_INTERVAL=20 CLAMPMSS=1412 CONNECT_POLL=6 CONNECT_TIMEOUT=60 DEFROUTE=yes SYNCHRONOUS=no ETH=eth2 (对应新线路的网卡) PROVIDER=DSLppp1 USER=isp提供的新用户名字2 PEERDNS=no
方法二:
(1)直接拷贝
cp /etc/sysconfig/network-scripts/ifcfg-ppp0 /etc/sysconfig/network-scripts/ifcfg-ppp1
(2)修改其中的ppp0为ppp1,
修改PIDFILE=/var/run/pppoe-adsl.pid 为PIDFILE=/var/run/pppoe-adsl1.pid
修改采用的新接线路的网卡,例如:改ETH=eth1 为ETH=eth2
(3)增加新线路的帐号和密码. 帐号密码一般是保存在/etc/ppp/chap-secrets 和pap-secrets
我们只需要在最后增加新的用户名2和密码2即可.
/etc/ppp/chap-secrets文件一般是这样的:
# Secrets for authentication using CHAP
# client server secret IP addresses
"用户名1" * "密码1"
"用户名2" * "密码2"
"用户名n" * "密码n"
3.启动ppp接口
因为adsl-start 命令缺省只能启动第一的ppp接口。所以要启动两个接口,必须指定配置文件。
可以用:方法一:
ifup ppp0
ifup ppp1
(ifup pppn...)
或方法二:
adsl-start /etc/sysconfig/network-scripts/ifcfg-ppp0
adsl-start /etc/sysconfig/network-scripts/ifcfg-ppp1
(adsl-start /etc/sysconfig/network-scripts/ifcfg-pppn)
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,是原来的加倍,以这种形式来加快上网速度,增加了并发连接的个数。
此文档可以说明双ADSL及多ADSL增加线路的配置过程。
Linux配置多线路ADSL的方法
powered by KindGeorge http://kindgeorge.at.3322.org\经过一段时间的观察,证明运行良好,现把设置过程及方法总结一下,欢迎指正.
此文档可以说明双adsl及多adsl增加线路的配置过程.
实验环境:
操作系统: RedHat7.3
两条adsl,长期观察线路稳定,动态ip,带宽2M,
三块网卡: eth0 tulip,接内网
eth1 3c59x,接第一条adsl
eth2 8139too,接第二条adsl
ethn xxxx,(如果还有的话....)
目的:用两条adsl共同上网,分担负载,实现一般的简单负载平衡,带动内网上网.
1.添加网卡
插入网卡,启动机器,如果需要双线路上网,就要三块网卡了,配置网卡也可以参考其他资料.
配置为找到相应的型号模块,例如:eth2是8139的网卡
[root@kindgeorge root]# vi /etc/modules.conf
alias parport_lowlevel parport_pc
alias eth0 tulip
alias eth1 3c59x
alias eth2 8139too
把新的线路插在eth2上
2.配置adsl
方法一:
(1)运行adsl-setup程序,会一步一步的提示你完成配置过程.
创建ppp0和ppp1的拨号配置文件,并保存配置,一般保存在/etc/sysconfig/network-scripts/ifcfg-ppp1
(2)确定/etc/sysconfig/network-scripts/ifcfg-ppp0文件,其中的PIDFILE参数设为:
PIDFILE=/var/run/ppp-adsl.pid
修改/etc/sysconfig/network-scripts/ifcfg-ppp1文件,将其中的PIDFILE参数设为:
PIDFILE=/var/run/ppp-adsl1.pid
如果你有更多的线路,可以继续增加0,1,2,3....等
这是为了使不同的拨好用不同的pid,如果不修改此参数将无法启动第二条线路接口。
(3)配置文件一般是:
USERCTL=no BOOTPROTO=dialup NAME=DSLppp1 DEVICE=ppp1 TYPE=xDSL ONBOOT=yes PIDFILE=/var/run/pppoe-adsl1.pid FIREWALL=NONE PING=. PPPOE_TIMEOUT=20 LCP_FAILURE=3 LCP_INTERVAL=20 CLAMPMSS=1412 CONNECT_POLL=6 CONNECT_TIMEOUT=60 DEFROUTE=yes SYNCHRONOUS=no ETH=eth2 (对应新线路的网卡) PROVIDER=DSLppp1 USER=isp提供的新用户名字2 PEERDNS=no
方法二:
(1)直接拷贝
cp /etc/sysconfig/network-scripts/ifcfg-ppp0 /etc/sysconfig/network-scripts/ifcfg-ppp1
(2)修改其中的ppp0为ppp1,
修改PIDFILE=/var/run/pppoe-adsl.pid 为PIDFILE=/var/run/pppoe-adsl1.pid
修改采用的新接线路的网卡,例如:改ETH=eth1 为ETH=eth2
(3)增加新线路的帐号和密码. 帐号密码一般是保存在/etc/ppp/chap-secrets 和pap-secrets
我们只需要在最后增加新的用户名2和密码2即可.
/etc/ppp/chap-secrets文件一般是这样的:
# Secrets for authentication using CHAP
# client server secret IP addresses
"用户名1" * "密码1"
"用户名2" * "密码2"
"用户名n" * "密码n"
3.启动ppp接口
因为adsl-start 命令缺省只能启动第一的ppp接口。所以要启动两个接口,必须指定配置文件。
可以用:方法一:
ifup ppp0
ifup ppp1
(ifup pppn...)
或方法二:
adsl-start /etc/sysconfig/network-scripts/ifcfg-ppp0
adsl-start /etc/sysconfig/network-scripts/ifcfg-ppp1
(adsl-start /etc/sysconfig/network-scripts/ifcfg-pppn)
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,是原来的加倍,以这种形式来加快上网速度,增加了并发连接的个数。
发表评论
-
Linux无盘工作站架设实例
2016-11-30 14:33 995Linux无盘工作站架设实 ... -
指令大全 - Linux 指令篇:档案目录管理--more
2016-11-30 14:15 607指令大全 - Linux 指令篇:档案目录管理--more 名 ... -
指令大全 - Linux 指令篇:字串处理--tr
2016-11-28 11:35 553指令大全 - Linux 指令篇:字串处理--tr 名称:tr ... -
Linux基础 linux命令:XF86Setup
2016-11-28 11:25 627Linux基础 linux命令:XF86Setup XF86S ... -
Linux基础-linux命令:cmp
2016-11-25 13:43 512Linux基础-linux命令:cmp cmp(compar ... -
Linux基础-linux命令:csplit
2016-11-25 11:49 506Linux基础-linux命令:csplit csplit(c ... -
Linux基础知识 linux命令:dnsconf
2016-11-24 11:45 524Linux基础知识 linux命令:dnsconf dnsc ... -
Linux基础资料 linux命令:efax
2016-11-24 11:41 668Linux基础资料 linux命令 ... -
linux命令:elm
2016-11-23 11:50 555linux命令:elm elm 功能说明:E-mail管理程序 ... -
Linux基础:linux命令archive
2016-11-23 11:32 687Linux基础:linux命令archive archive ... -
优盘linux启动
2016-11-22 12:57 717优盘linux启动 条件: 1.优盘已做成启动盘; 2在硬盘上 ... -
Linux中的C语言妙用
2016-11-22 12:48 501Linux中的C语言妙用 1.两个数比较大小 #define ... -
Linux和DOS的FORMAT命令区别
2016-11-21 14:04 696Linux和DOS的FORMAT命令区别 DOS的FORMAT ... -
Linux /proc 目录下文件粗谈
2016-11-21 13:42 547Linux /proc 目录下文件粗谈 /proc目录下文件是 ... -
1、如何做好嵌入式Linux学习前的准备?
2016-11-18 11:25 4331、如何做好嵌入式Lin ... -
忘记Linux密码怎么办
2016-11-17 14:57 484如果忘记了Linux密码, ... -
Linux文件系统被破坏时的处理方法介绍
2016-11-17 14:46 897Linux文件系统被破坏时的处理方法介绍 当文件系统被破坏时, ... -
如何学习linux的建议
2016-11-16 13:53 436如何学习linux的建议 一、从基础开始 常常有些朋友在L ... -
Linux系统配置优化的几个经验
2016-11-16 11:53 439Linux系统配置优化的几个经验 关于硬盘分区 小编的经验是安 ... -
Linux增加:重要的Shell环境配置文件
2016-11-15 13:42 430用户登录Linux系统后,通常接触的第一个软件环境就是bash ...
相关推荐
鸟哥的linux与ADSL私房菜.doc鸟哥的linux与ADSL私房菜.doc鸟哥的linux与ADSL私房菜.doc
虽然用路由器联网很常见,我们有时也需要用PPPoE直接连接到ADSL(有时也叫DSL)modem。本文介绍了在Ubuntu 6.06 LTS(Dapper Drake)下用PPPoE以太网modem建立ADSL网络连接的方法。
鸟哥的 Linux 与 ADSL 私房菜
ADSL线路速率的估算方法 评估adsl线路质量
Linux系统下ADSL拨号上网方法.docx
轻松配置Linux下的ADSL.pdf
鸟哥的Linux与ADSL私房菜(CHM)
在Ubuntu Linux下用ADSL_PPPoE上网的设置
鸟哥的 Linux 与 ADSL 私房菜(part3)
20款最流行ADSL猫设置方法.1、HUAWEI(华为)SmartAX MT800A ADSL路由设置方法 工作开始: 线路全部连接好,在PC上设置IP:192.168.1.X(X=2-8),掩码:255.255.255.0 网关:192.168.1.1(输入完网关别忘了...
对于在Linux环境下如何进行ADSL拨号上网进行了详细讲解。
ROS 单线ADSL拨号设置方法 有图有真相 无图无真相
ADSL路由器设置方法_adsl吧_贴吧
Windows 98、2000和XP下设置ADSL拨号连接的方法
adsl设置方法.docadsl设置方法.docadsl设置方法.docadsl设置方法.docadsl设置方法.doc
本文章是关于影响ADSL线路质量的主要因素 。
鸟哥的Linux与ADSL私房菜 Linux 本身雖然具有相當強大的功能,不過,如果不能理解 Linux 的工作能力,那麼 Linux 能做的工作將會大打折扣!本篇著重於介紹 Linux 的緣起與他的功能,此外,亦將介紹目前 Linux 的規劃...
ROS多ADSL分流 ROS多ADSL分流 ROS多ADSL分流
在SUSELinux系统下通过ADSL网络实现地震波形浏览.pdf
单臂路由PPPoE PPPoA配置实例 ...一个正常使用的ADSL配置.doc Cisco路由器配置PPPoE.doc Cisco路由器配置PPPoE.doc ADSL配置静态IP的配置参考.doc CISCO ADSL 配置说明.txt 路由器接入ADSL详细配置.txt