Linux操作系统下配置多线路ADSL

此文档可以说明双ADSL及多ADSL增加线路的配置过程。
  [b]Linux配置多线路ADSL的方法[/b]
  powered by KindGeorge [url] http://kindgeorge.at.3322.org[/url]\经过一段时间的观察,证明运行良好,现把设置过程及方法总结一下,欢迎指正.

  此文档可以说明双adsl及多adsl增加线路的配置过程.
  [b]实验环境:[/b]
  操作系统: RedHat7.3
  两条adsl,长期观察线路稳定,动态ip,带宽2M,
  三块网卡: eth0 tulip,接内网
  eth1 3c59x,接第一条adsl
  eth2 8139too,接第二条adsl
  ethn xxxx,(如果还有的话……)
  目的:用两条adsl共同上网,分担负载,实现一般的简单负载平衡,带动内网上网.
  [b]1.添加网卡[/b]
  插入网卡,启动机器,如果需要双线路上网,就要三块网卡了,配置网卡也可以参考其他资料.
  配置为找到相应的型号模块,例如:eth2是8139的网卡
  [root@kindgeorge root]# vi /etc/modules.conf
  alias parport_lowlevel parport_pc
  alias eth0 tulip
  alias eth1 3c59x
  alias eth2 8139too
  把新的线路插在eth2上
[b]  2.配置adsl[/b]
  方法一:
  (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"
 [b]3.启动ppp接口[/b]
  因为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)
  [b]4.查看新设置是否启动:[/b]
  方法一:执行: ifconfig
  出现ppp0 和ppp1,并且均得到ip了.说明成功了,结果象这样:

ppp0   Link encap:Point-to-Point Protocol  
          inetaddr:218.114.37.137  P-t-P:61.142.110.30  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARPMULTICAST  MTU:1492  Metric:1
          RX packets:165721 errors:0 dropped:0overruns:0 frame:0
          TX packets:123673 errors:0 dropped:0overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:157324193 (150.0Mb)  TX bytes:14068892 (13.4 Mb)

   ppp1   Link encap:Point-to-Point Protocol  
          inetaddr:218.114.35.62  P-t-P:61.142.110.30  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARPMULTICAST  MTU:1492  Metric:1
          RX packets:560055 errors:0 dropped:0overruns:0 frame:0
          TX packets:439711 errors:0 dropped:0overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:530025378 (505.4Mb)  TX bytes:80895162 (77.1 Mb)
  方法二: 执行ip高级命令:ip link ls
  也可以检验ppp0和ppp1,结果象这样:

1: lo: mtu 16436 qdisc noqueue 
            link/loopback00:00:00:00:00:00 brd 00:00:00:00:00:00
         2: eth0: mtu 1500 qdisc pfifo_fast qlen100
            link/ether00:50:bf:07:4e:32 brd ff:ff:ff:ff:ff:ff
         3: eth1: mtu 1500 qdisc pfifo_fast qlen100
            link/ether00:01:02:9a:31:b9 brd ff:ff:ff:ff:ff:ff
         4: eth2: mtu 1500 qdisc pfifo_fast qlen100
            link/ether00: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 (如果还有多条的话)
 [b] 5.如果单单是要实现链路负载平衡,让ppp0和ppp1分担负载,那么我们象以下设置一下配置:[/b]
  (1)启动路由,允许转发echo1 > /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 nexthopdev 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
 [b] 6.即时检查数据的方向[/b]
  用tcpdump 分别监察两条线路,用下面命令:

tcpdump -i ppp0 
  tcpdump -i ppp1
  tcpdump -i ppp2......n (有多条的话)
  [b]7.为了每次启动时自动启动,把命令写在启动脚本里面,在 /etc/rc.local 后面增加:[/b]

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 -jMASQUERADE
  iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp1 -jMASQUERADE
  ip route replace default scope global nexthop dev ppp0 weight 1nexthop 
dev ppp1 weight 1
  ip route flush cache
  结果:运行数月,效果稳定良好。

设备操作步骤:

【第2路adsl】
1、    pppoe-setup
? 假定先设置ether1_3,账号pppoe1
2、    备份文件 /etc/ppp/pppoe.conf
#cd /etc/ppp
#cp pppoe.conf pppoe1.conf
3、    修改配置文件中的 PIDFILE
#修改PIDFILE="/var/run/$CF_BASE-pppoe.pid" 为PIDFILE="/var/run/$CF_BASE-pppoe1.pid"

【第1路adsl】
1、    pppoe-setup

【启动ppp接口】
# pppoe-start /etc/ppp/pppoe.conf                  /* 启动第1路adsl */
# pppoe-start /etc/ppp/pppoe1.conf                /* 启动第2路adsl */



/usr/sbin/pppoe start 启动
/usr/sbin/pppoe-setup 设置

步骤:
1 Enter your PPPoE user name
2 Enter the demand value  需求值
3 Enter the DNS information here               !
4 Enter the secondary DNS server address here  !
5 Please enter your PPPoE password
6 Please re-enter your PPPoE password
7 Choose a type of firewall (0-2) 防火墙 默认0  !
8 Accept these settings and adjust configuration files


文件说明:
/etc/ppp/pppoe.conf  PPPOE配置文件
/etc/resolv.conf     DNS配置
/etc/ppp/pap-secrets  用户名和密码
/etc/ppp/chap-secrets  用户名和密码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值