IT猫扑网:您身边最放心的安全下载站! 最新更新| 软件分类| 专题汇总| 手机版

您当前所在位置:IT猫扑网 > 操作系统 > LINUX > 在Linux下配置多线路ADSL的方法

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

时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)

  此文档可以说明双ADSL及多ADSL增加线路的配置过程。  

  Linux配置多线路ADSL的方法  

  经过一段时间的观察,证明运行良好,现把设置过程及方法总结一下,欢迎指正.  

  此文档可以说明双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接口。所以要启动两个接口,必须指定配置文件。

#p#副标题#e#

  可以用:方法一:

  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共同分摊拥挤程度,这样,可能每人分得的带宽就会变成6

关键词标签:Linux,ADSL

相关阅读 安装红帽子RedHat Linux9.0操作系统教程 Tomcat9.0如何安装_Tomcat9.0环境变量配置方法 多种操作系统NTP客户端配置 Linux操作系统修改IP Linux实现SCSI硬盘热插拔及在线识别 Linux下用CDMA modem拨号上网

文章评论
发表评论

热门文章 安装红帽子RedHat Linux9.0操作系统教程 安装红帽子RedHat Linux9.0操作系统教程 Linux服务器:设计高性能网站架构-LLMP Linux服务器:设计高性能网站架构-LLMP 使用Clonezilla迁移到虚拟Linux环境 使用Clonezilla迁移到虚拟Linux环境 Linux上的MRTG流量监控中心 Linux上的MRTG流量监控中心 Linux 双网卡绑定一个IP原理及实现 Linux 双网卡绑定一个IP原理及实现 linux和windows等系统远程控制ubuntu桌面 linux和windows等系统远程控制ubuntu桌面

相关下载

人气排行 Linux下获取CPUID、硬盘序列号与MAC地址 dmidecode命令查看内存型号 linux tc实现ip流量限制 安装红帽子RedHat Linux9.0操作系统教程 linux下解压rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 关机、重启、注销 命令 查看linux服务器硬盘IO读写负载 linux命令行浏览器的使用方法 Linux NFS服务固定端口及防火墙配置 U盘安装Ubuntu 10.04 Linux清除用户登录记录和命令历史方法