CentOS 7 离线拨号(PPPOE)

CentOS 7 离线拨号(PPPOE)


逛了一圈,就是没有找到离线拨号的教程,我就很好奇,如果电脑有网,那还要拨什么号。无奈下就自己想着下载好拨号工具再安装的方案,然后测试就成功了,故在这记录下安装过程,防以后再用到。


教程使用的 CentOS 版本为 CentOS 7.4 mini,其它版本请自行做相应修改。

1.准备所有的安装包

由于我们要在没有网的CentOS里面安装拨号工具,所以要提前下载好安装包。

拨号工具 打包(拨号工具及其依赖):
CentOS 7.4 版:http://download.csdn.net/download/kxwinxp/10141260
CentOS 6.9 版:http://download.csdn.net/download/kxwinxp/10141264


1.1)下载拨号工具及其依赖

打开 rpm 包下载网址:http://rpm.pbone.net
设置高级搜索,选择 CentOS 7 的包

这里写图片描述

分别搜索如下包(自行选择对应版本),并下载下来

自行把下载好的安装包拷贝到U盘!

2.挂载U盘,拷贝rpm安装包到CentOS

// 加载USB模块
modprobe usb-storage

// 查看U盘设备
fdisk -l

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM
/dev/sdb4            2048    14039    2015920   8e  FAT32
// 这里假设U盘是sdb4

// 建立要挂载的目录
mkdir -p /mnt/usbdisk
// 挂载U盘
mount /dev/sdb4 /mnt/usbdisk
// 卸载U盘
umount /mnt/usb

3.安装拨号工具及其依赖

// 进入安装包目录
cd /mnt/usbdisk/rp-pppoe
// 安装
rpm -ivh libpcap-1.5.3-9.el7.x86_64.rpm ppp-2.4.5-33.el7.x86_64.rpm net-tools-2.0-0.22.20131004git.el7.x86_64.rpm rp-pppoe-3.11-7.el7.x86_64.rpm

4.配置pppoe拨号

// 查看当前以太网卡代号
ip address

enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 20:1b:06:3d:22:05  txqueuelen 1000  (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0

// 那么我这的以太网卡代号就是 enp1s0 (等下要用到)

// 开始设置
pppoe-setup

// 输入ISP提供的账户(拨号账号)
Enter your Login Name (default root):sz20012231@163.gd

// 输入以太网卡代号,根据刚刚查到的(enp1s0)
(default eth0):enp1s0

// 配置:若长时间连线,连线会被自动中断(否 no)
Enter the demand value (default no): no

// 配置主DNS服务器(8.8.8.8)
Enter the DNS information here:8.8.8.8

// 配置次DNS服务器(8.8.4.4)
Enter the secondary DNS server address here:8.8.4.4

// 两次输入账户密码以确认(拨号密码)
Please enter your Password: 
Please re-enter your Password:

// 配置普通账户是否有网络连接权限(允许 yes)
normal user to start or stop DSL connection (default yes):yes

// 配置防火墙(无限制 0)
Choose a type of firewall (0-2): 0

// 配置是否开机自动拨号连接(开启 yes)
Please enter no or yes (default no):yes

// 确认刚填写的配置信息(确认 y)
Accept these settings and adjust configuration files (y/n)? y

// 开启拨号网络
ifup ppp0

5.自动配置pppoe脚本

如果你觉得一步步输入确认很麻烦,那么,这个自动配置代码将很有用。

// 请保存为ppp_auto.sh
#!/bin/bash

ppp_user=$1
password=$2
eth=$3

[ -z "$ppp_user" ]&&{
echo "没有指定拨号账号..."
echo "示例: $0 user password ethx"
exit 0
}

[ -z "$password" ]&&{
echo "没有指定拨号密码..."
echo "示例: $0 user password ethx"
exit 0
}

[ -z "$eth" ]&&{
echo "没有指定拨号网卡..."
echo "示例: $0 user password ethx"
exit 0
}

echo "请等待,正在进行配置..."

ppps=`ps -ef|grep ppp0|grep -v "grep"|wc -l`
if [ $ppps -gt 0 ];then
    ifdown ppp0;
fi


if [ -d "/etc/sysconfig/network-scripts/ifcfg-ppp0" ];then
    echo "" > /etc/sysconfig/network-scripts/ifcfg-ppp0
else
    touch /etc/sysconfig/network-scripts/ifcfg-ppp0
fi

echo "USERCTL=yes" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "BOOTPROTO=dialup" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "NAME=DSLppp0" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "DEVICE=ppp0" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "TYPE=xDSL" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "ONBOOT=yes" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "PIDFILE=/var/run/pppoe-adsl.pid" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "FIREWALL=NONE" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "PING=." >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "PPPOE_TIMEOUT=80" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "LCP_FAILURE=3" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "LCP_INTERVAL=20" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "CLAMPMSS=1412" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "CONNECT_POLL=6" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "CONNECT_TIMEOUT=60" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "DEFROUTE=yes" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "SYNCHRONOUS=no" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "ETH=$eth" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "PROVIDER=DSLppp0" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "USER=$ppp_user" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "PEERDNS=no" >> /etc/sysconfig/network-scripts/ifcfg-ppp0
echo "DEMAND=no" >> /etc/sysconfig/network-scripts/ifcfg-ppp0


line1=`cat /etc/ppp/chap-secrets|grep "*"|wc -l`

if [ $line1 -lt 1 ];then
    echo "\"$ppp_user\"    *    \"$password\"" >  /etc/ppp/chap-secrets
else
    user=`cat /etc/ppp/chap-secrets|grep "*"|awk '{print$1}'`
    passwd=`cat /etc/ppp/chap-secrets|grep "*"|awk '{print$3}'`
    sed -i "s/$user/\"$ppp_user\"/g" /etc/ppp/chap-secrets
    sed -i "s/$passwd/\"$password\"/g" /etc/ppp/chap-secrets
fi

line2=`cat /etc/ppp/pap-secrets|grep "*"|wc -l`

if [ $line1 -lt 1 ];then
        echo "\"$ppp_user\"     *       \"$password\"" >> /etc/ppp/pap-secrets
else
        user=`cat /etc/ppp/pap-secrets|grep "*"|awk '{print$1}'`
        passwd=`cat /etc/ppp/pap-secrets|grep "*"|awk '{print$3}'`
        sed -i "s/$user/\"$ppp_user\"/g" /etc/ppp/pap-secrets
        sed -i "s/$passwd/\"$password\"/g" /etc/ppp/pap-secrets
fi


ck=`cat /sbin/ifup|grep "routeok"|wc -l`

if [ $ck -lt 1 ];then
        sed -i "s/exec \${OTHERSCRIPT} \${CONFIG} \$2//g" /sbin/ifup

        echo "#route" >> /sbin/ifup
        echo "{" >> /sbin/ifup
        echo "sleep 10" >> /sbin/ifup
        echo "route_ip=\`/sbin/pppoe-status|grep \"inet\"|awk '{print\$4}'|awk -F\/ '{print\$1}'\`" >> /sbin/ifup
        echo "len=\`echo \$route_ip|wc -c\`" >> /sbin/ifup
        echo "if [ \$len -gt 10 ];then" >> /sbin/ifup
        echo "        route add default gw \$route_ip dev ppp0" >> /sbin/ifup
        echo "fi" >> /sbin/ifup
        echo "}&" >> /sbin/ifup
        echo "" >> /sbin/ifup
        echo "exec \${OTHERSCRIPT} \${CONFIG} \$2" >> /sbin/ifup
        echo "" >> /sbin/ifup
        echo "#routeok" >> /sbin/ifup
fi

ifup ppp0
if [ $? -eq 0 ];then
    echo "ifup ok"
else
    echo "配置失败,请重新配置,比如重新选择网卡或者确认账号密码?"
fi

执行:./ppp_auto.sh sz20012231@163.gd 123456 enp1s0 即可自动配置
第一个参数是账号,第二个是密码,第三个是以太网卡代号

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值