Chinaunix首页 | 论坛 | 博客
  • 博客访问: 792544
  • 博文数量: 132
  • 博客积分: 3477
  • 博客等级: 中校
  • 技术积分: 1359
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-30 21:53
文章分类

全部博文(132)

文章存档

2024年(3)

2023年(10)

2022年(4)

2021年(10)

2020年(9)

2018年(1)

2017年(1)

2014年(4)

2013年(3)

2012年(12)

2011年(24)

2010年(2)

2009年(8)

2008年(6)

2007年(34)

2006年(1)

分类: LINUX

2011-10-15 23:58:21

问题描述:
在 CentOS6 中,使用 adsl 拨号上网,网卡的 IP 地址设置位 dhcp client 方式自动获取。在设置好 pppoe 拨号以后,发现当时可以上网,但只要是系统重新启动,则系统有无法再次上网了。经过反复观察,发现在系统启动以后,resolv.conf 文件中的内容丢失。很显然,这是由于网卡采用了 dhcp client 方式自动获取 IP 地址的原因造成的。由于在 adsl 配置的方式限制,本机无法采用固定 IP 的方式。自此问题似乎是走入了死胡同。
观察系统的启动信息,发现 pppoe-server 的启动正常,网络管理器启动正常。这说明系统不存在 pppoe 的启动问题,也不存在网络连接问题。也就是说,只要解决了 dns 文件的保存问题,就可以解决adsl 随系统自动拨号,且能顺利上网的问题。

解决如下:
编辑 /etc/resolv.conf 文件,在其中加入你的 dns 解析。
如下
  1. search XXX.XXX   // 本机域名(如果存在)
    nameserver xxx.xxx.xxx.xxx    // dns1
    nameserver xxx.xxx.xxx.xxx   // dns2

设置该文件为任何用户皆可读

# chmod a+r /etc/resolv.conf

设置在任何情况下该文件均不可写

# chattr -i /etc/resolv.conf

重启系统,满心欢喜的等待成功的一刻。
重启系统后,输入 ping

失败,系统依然无法解析,再来 ... ...
再次查看 /etc/resolv.conf 文件 , 发现文件内容没有被覆盖,证明前面的修改是成功的。那为什么就不能上网呢?

仔细观察,发现 pppoe-server 的启动顺序在网络管理器之前,会不会是这个原因呢?

再次编译一个系统自启动文件 /etc/init.d/pppoed , 内容如下:

  1. #!/bin/bash
    #
    # pppoed                Start up the ADSL server daemon
    #
    # chkconfig: 2345 55 25
    # description: PPPOE is a protocol for secure remote shell access. \
    #              This service starts up the ADSL server daemon.
    #
    # processname: pppoed

    ### BEGIN INIT INFO
    # Provides: pppoed
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: Start up the PPPOE server daemon
    # Description:       PPPOE is a protocol for secure remote shell access.
    #                    This service starts up the PPPOE server daemon.
    ### END INIT INFO

    # source function library
    . /etc/rc.d/init.d/functions

    # pull in sysconfig settings

    RETVAL=0
    prog="pppoed"
    PPPOESTART="/sbin/pppoe-start"
    PPPOESTOP="/sbin/pppoe-stop"

    # Some functions to make the below more readable

    start()
    {
            # Start pppoe-start
            echo -n $"Starting $prog: "
            $PPPOESTOP
            $PPPOESTART
            RETVAL=$?
            echo
            return $RETVAL
    }

    stop()
    {
            echo -n $"Stopping $prog: "
            $PPPOESTOP
            RETVAL=$?
            echo
    }

    restart() {
            stop
            start
    }

    case "$1" in
            start)
                    start
                    ;;
            stop)
                    stop
                    ;;
            restart)
                    restart
                    RETVAL=$?
                    ;;
            *)
                    exit -1
    esac
    exit $RETVAL

将该启动项加入自动启动。

# chkconfig pppoed on

再次重启系统,发现 pppoed 在网络管理之后启动,进入任意用户,输入 ping , 系统返回正确信息。

OK

=======================
关于在 CentOS6 中 pppoe 拨号的设置方法:

由于 CentOS6 的 pppoe 与 CentOS5 中完全不同,这里给出方法如下:

p { margin-bottom: 0.21cm; }

首先安装好CentOS6以后要安装rp-pppoe这个软件,centos之前的版本所adsl-setup这个命令安装,到centos6改了。

需要光驱内放好CentOS安装盘

挂载光盘

#mount /dev/cdrom /media

找出文件路径

# find /media -name 'rp-pppoe*'

这个文件没有依赖项,可以直接安装

#rpm -ivh /media/CentOS_6.0_Final/Packages/rp-pppoe-3.10-8.el6.i686.rpm

p { margin-bottom: 0.21cm; }

安装好以后可以开始设置ADSLDNS信息

#pppoe-setup

Welcome to the PPPoE client setup.  First, I will run some checks on
your system to make sure the PPPoE client is installed properly...

The following DSL config was found on your system:

  Device:      Name:
  ppp0         DSLppp0

Please enter the device if you want to configure the present DSL config
(default ppp0) or enter 'n' if you want to create a new one: ppp0

LOGIN NAME

Enter your Login Name (default root):
中国电信或者网通给你的ADSL用户名,注意电信给的有ad打头

INTERFACE

Enter the Ethernet interface connected to the PPPoE modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethX, where 'X' is a number.
(default eth0): eth0
指定网络接入设备,一块网卡的情况下,一般为默认eth0

Do you want the link to come up on demand, or stay up continuously?
If you want it to come up on demand, enter the idle time in seconds
after which the link should be dropped.  If you want the link to
stay up permanently, enter 'no' (two letters, lower-case.)
NOTE: Demand-activated links do not interact well with dynamic IP
addresses.  You may have some problems with demand-activated links.
Enter the demand value (default no):
直接按回车,接受默认设置,询问的是,adsl连接以后,是否持续保持连接。或者是自动的断开,在指定的时间(以秒数计算)内。多数情况下,我们希望手动的打开关闭连接。所以这里选择默认的no

DNS

Please enter the IP address of your ISP's primary DNS server.
If your ISP claims that 'the server will provide dynamic DNS addresses',
enter 'server' (all lower-case) here.
If you just press enter, I will assume you know what you are
doing and not modify your DNS setup.
Enter the DNS information here: 202.96.209.5
第一个DNS建议手动设置,不然可能连不上
Please enter the IP address of your ISP's secondary DNS server.
If you just press enter, I will assume there is only one DNS server.
Enter the secondary DNS server address here: 202.96.209.133
第二个DNS建议手动设置,不然可能连不上

PASSWORD

Please enter your Password:
输入ADSL的连接密码
Please re-enter your Password:
再次确认输入ADSL的连接密码

USERCTRL

Please enter 'yes' (three letters, lower-case.) if you want to allow
normal user to start or stop DSL connection (default yes): yes
填入no,不允许一般用户控制PPPoE的连接

FIREWALLING

Please choose the firewall rules to use.  Note that these rules are
very basic.  You are strongly encouraged to use a more sophisticated
firewall setup; however, these will provide basic security.  If you
are running any servers on your machine, you must choose 'NONE' and
set up firewalling yourself.  Otherwise, the firewall rules will deny
access to all standard servers like Web, e-mail, ftp, etc.  If you
are using SSH, the rules will block outgoing SSH connections which
allocate a privileged source port.

The firewall choices are:
0 - NONE: This script will not set any firewall rules.  You are responsible
          for ensuring the security of your machine.  You are STRONGLY
          recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
                for a LAN
Choose a type of firewall (0-2): 0
输入0,不在这里使用防火墙

Start this connection at boot time

Do you want to start this connection at boot time?
Please enter no or yes (default no):yes
填入yes,在系统启动时自动连接ADSL

Accept these settings and adjust configuration files (y/n)? y配置信息确认无误后,键入y同意设置
** Summary of what you entered **

Ethernet Interface:eth0

User name:





=====================================================

原创作品,转载请注明来源。

阅读(2264) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~