centos下pppoe配置多线路ADSL

于由 2018-05-14

移除NetworkManager安装rp-pppoe

第一步 搜寻pppoe可以找到pppoe相关套件,我们要使用的是rp-pppoe。

yum search pppoe

第二步 使用yum安装rp-pppoe。

yum install rp-pppoe -y

第三步 移除NetworkManaget。

yum erase NetworkManager

第四步 开始配置PPPoE连线。

pppoe-setup

第五步 输入您的连线帐号。

第六步 输入您的网路介面卡,预设是eth0,基本上都是使用预设的,除非您的伺服器安装了多张网路介面卡,按Enter继续。

第七步 这个步骤请输入no或直接按下Enter,否则如果您长时间连线,连线会被自动中断。

第八步 设定主要DNS伺服器,使用Google Public DNS,请输入8.8.8.8。

第九步 次要DNS伺服器,请输入8.8.4.4。

第十步 请输入连线密码。

第十一步 请重复输入连线密码。

第十二步 ㄜ…这里输入no就好了,不用使用一搬使用者权限做连线。

第十三步 设定防火墙,输入0就好了,如果有特殊需求在额外设定吧。

第十四步 是否开机自动拨号,请输入yes。

第十五步 确认资料无误?是的话请输入y,重新设定请按Ctrl+C或输入n。

第十六步 最后!执行连线动作,连线成功不会有讯息出现!

/sbin/ifup ppp0

操作指令 :

结束连线 -> /sbin/ifdown ppp0

查看状态 -> /sbin/pppoe-status

配置多线路:     

      方法一:

       (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 serversecret IP addresses

"用户名1" * "密码1"

"用户名2" * "密码2"

"用户名n" * "密码n"

      方法二:

       重复执行pppoe-setup,选择不同的网卡和对应的账号密码配置。配置完成后,修改PIDFILE,默认生成的PIDFILE都是相同的,需要用0,1,2...对应区分。

启动脚本

 #!/bin/bash
interfaces=('ppp0' 'ppp1')
tables=('100' '101')
#set -x
index=0
for interface in ${interfaces[@]}
do
#sleep 60s
 echo "`date` restarting interface $interface ..."
 /sbin/ifdown $interface
 /sbin/ifup $interface
 _ip=`/sbin/ip addr show $interface | grep peer | awk '{print $2}'`
 _gateway=`/sbin/ip addr show $interface | grep peer | awk '{print $4}' | sed 's/\/32//'`
 /sbin/ip route flush table ${tables[index]}
 /sbin/ip route add default via $_gateway dev $interface src $_ip table ${tables[index]}
 /sbin/ip rule show | grep "lookup ${tables[index]}" | awk '{print $3}' | xargs -I{} /sbin/ip rule del from {} table ${tables[index]}
 /sbin/ip rule add from $_ip table ${tables[index]}
 echo "`date` route table ${tables[index]}"
 /sbin/ip route list table ${tables[index]}
 ((index+=1))
sleep 5s
done

查看新设置是否启动:

方法一:

执行: ifconfig

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

        ppp0      Link encap:Point-to-Point Protocol 
          inet addr:10.2.18.208  P-t-P:10.2.16.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:7 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:366 (366.0 b)  TX bytes:366 (366.0 b)
        ppp1      Link encap:Point-to-Point Protocol 
          inet addr:10.2.40.164  P-t-P:10.2.32.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:13 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:858 (858.0 b)  TX bytes:858 (858.0 b)
       方法二:

执行ip高级命令: ip link ls

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

       38: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 3
       link/ppp
       39: ppp1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 3
       link/ppp
     方法三:

用命令测试反应

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

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

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

参考1:https://www.cnblogs.com/wayde-Z/p/6249439.html

参考2:https://www.linuxidc.com/Linux/2015-01/111600.htm

相关推荐