4.2 连上 Internet 的设定方法

在前几章我们就谈过,台湾地区主要连上因特网的方法有(1)学术网络、(2)ADSL 固接与拨接、(3)Cable modem 等方式,同时,手动设定 IP 参数是很重要的学习,因此,底下的各节中,第一节的手动设定固定 IP 一定要做过一次! 其他的才依照您的环境去设定去学习!

此外,由于目前使用 Linux notebook 的使用者大增,而 Notebook 通常是以无线网络来联机的, 所以鸟哥在这里也尝试使用一款无线网络来进行联机设定。至于传统的 56 Kbps 拨接则因为速度较慢且使用度越来越低, 所以在这里就不多做介绍了。


4.2.1 手动设定固定 IP 参数 (适用学术网络、ADSL 固定制) + 五大检查步骤

所谓的固定 IP 就是指在你的网络参数当中,你只要输入既定的 IP 参数即可。那么这个既定的 IP 来自哪里呢? 一般来说,他可能来自于:

  • 学术网络:由学校单位直接给予的一组 IP 网络参数;
  • 固定制 ADSL:向 ISP 申请的一组固定 IP 的网络参数;
  • 企业内部或 IP 分享器内部的局域网络:例如企业内使用私有 IP 作为局域网络的联机之用时,那么我们的 Linux 当然也就需要向企业的网管人员申请一组固定的 IP 网络参数啰!

这样清楚吗?也就是说,我们取得的固定 IP 参数并非一定是 public IP 喔!反正就是一组可接受的固定 IP 就是了! 所以在架设你的环境之前,请先注意所有网络参数的来源正确性啊!好了,那么你的 IP 要如何设定呢?先回去翻翻第三章 3.2.1 里面的图 3.2-1,我们对外网卡 (eth0) 的信息为:

IP:       192.168.1.100
Netmask:  255.255.255.0
Gateway:  192.168.1.254
DNS IP:   168.95.1.1
Hostname: www.centos.vbird

那么要修改的四个档案与相关的启动脚本,以及重新启动后需要用啥指令观察的重点,鸟哥再次的使用一个简单的表格来说明, 你只要记得这几个表格内的重要档案与指令,以后在修改网络参数时,就不会出现错误了!看看吧!

修改的参数 配置文件与重要启动脚本 观察结果的指令
IP相关参数 /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/init.d/network restart ifconfig (IP/Netmask) route -n (gateway)
DNS /etc/resolv.conf dig www.google.com
主机名 /etc/sysconfig/network /etc/hosts hostname (主机名) ping $(hostname) reboot

底下我们就分别针对上面的各项设定来进行档案的重新修改啰!

  1. IP/Netmask/Gateway 的设定、启动与观察

    设定网络参数得要修改 /etc/sysconfig/network-scripts/ifcfg-eth0,请记得,这个 ifcfg-eth0 与档案内的 DEVICE 名称设定需相同,并且,在这个档案内的所有设定,基本上就是 bash 的变量设定规则啦 (注意大小写)!

    [root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE="eth0"               <==网络卡代号,必须要 ifcfg-<u>eth0</u> 相对应
    HWADDR="08:00:27:71:85:BD"  <==就是网络卡地址,若只有一张网卡,可省略此项目
    NM_CONTROLLED="no"          <==不要受到其他软件的网络管理!
    ONBOOT="yes"                <==是否默认启动此接口的意思
    BOOTPROTO=none              <==取得IP的方式,其实关键词只有dhcp,手动可输入none
    IPADDR=192.168.1.100        <==就是 IP 啊
    NETMASK=255.255.255.0       <==就是子网掩码
    GATEWAY=192.168.1.254       <==就是预设路由
    # 重点是上面这几个设定项目,底下的则可以省略的啰!
    NETWORK=192.168.1.0         <==就是该网段的第一个 IP,可省略
    BROADCAST=192.168.1.255     <==就是广播地址啰,可省略
    MTU=1500                    <==就是最大传输单元的设定值,若不更改则可省略
    

    上面的资料很好理解吧!请注意每个变量(左边的英文)都应该要大写! 否则我们的 script 会误判!事实上鸟哥的设定值只有最上面的 8 个而已,其他的 NETWORK, BROADCAST, MTU 鸟哥都没有设定喔! 至于参数的说明方面,IPADDR, NETMASK, NETWORK, BROADCAST 鸟哥在这里就不再多说,要谈的是几个重要的设定值:

    • DEVICE:这个设定值后面接的装置代号需要与文件名 (ifcfg-eth0) 那个装置代号相同才行!否则可能会造成一些装置名称找不到的困扰。

    • BOOTPROTO:启动该网络接口时,使用何种协议? 如果是手动给予 IP 的环境,请输入 static 或 none ,如果是自动取得 IP 的时候, 请输入 dhcp (不要写错字,因为这是最重要的关键词!)

    • GATEWAY:代表的是『整个主机系统的 default gateway』, 所以,设定这个项目时,请特别留意!不要有重复设定的情况发生喔!也就是当你有 ifcfg-eth0, ifcfg-eth1.... 等多个档案,只要在其中一个档案设定 GATEWAY 即可

    • GATEWAYDEV:如果你不是使用固定的 IP 作为 Gateway , 而是使用网络装置作为 Gateway (通常 Router 最常有这样的设定),那也可以使用 GATEWAYDEV 来设定通讯闸装置呢!不过这个设定项目很少使用就是了!

    • HWADDR:这个东西就是网络卡的卡号了!在仅有一张网卡的情况下,这个设定值没有啥功能, 可以忽略他。但如果你的主机上面有两张一模一样的网卡,使用的模块是相同的。 此时,你的 Linux 很可能会将 eth0, eth1 搞混,而造成你网络设定的困扰。如何解决呢? 由于 MAC 是直接写在网卡上的,因此指定 HWADDR 到这个配置文件中,就可以解决网卡对应代号的问题了!很方便吧! 设定完毕之后,现在让我们来重新启动网络接口吧!这样才能更新整个网络参数嘛!

    [root@www ~]# /etc/init.d/network restart
    Shutting down interface eth0:         [ OK ]  <== 先关闭界面
    Shutting down loopback interface:     [ OK ]
    Bringing up loopback interface:       [ OK ]  <== 再开启界面
    Bringing up interface eth0:           [ OK ]
    # 针对这部主机的所有网络接口 (包含 lo) 与通讯闸进行重新启动,所以网络会停顿再开
    

    这样就处理完毕啰,那接下来当然就是观察看看啰!

    # 检查一:当然是要先察看 IP 参数对否,重点是 IP 与 Netmask 啦!
    [root@www ~]# ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr 08:00:27:71:85:BD
              inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: fe80::a00:27ff:fe71:85bd/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:655 errors:0 dropped:0 overruns:0 frame:0
              TX packets:468 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:61350 (59.9 KiB)  TX bytes:68722 (67.1 KiB)
    # 有出现上头那个 IP 的数据才是正确的启动;特别注意 inet addr 与 Mask 项目
    # 这里如果没有成功,得回去看看配置文件有没有错误,然后再重新 network restart !
    
    # 检查二:检查一下你的路由设定是否正确
    [root@www ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
    0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 eth0
    # 重点就是上面的特殊字体!前面的 0.0.0.0 代表预设路由的设定值!
    
    # 检查三:测试看看与路由器之间是否能够联机成功呢!
    [root@www ~]# ping -c 3 192.168.1.254
    PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
    64 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=2.08 ms
    64 bytes from 192.168.1.254: icmp_seq=2 ttl=64 time=0.309 ms
    64 bytes from 192.168.1.254: icmp_seq=3 ttl=64 time=0.216 ms
    
    --- 192.168.1.254 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2004ms
    rtt min/avg/max/mdev = 0.216/0.871/2.088/0.861 ms
    # 注意啊!有出现 ttl 才是正确的响应!如果出现『 Destination Host Unreachable 』
    # 表示没有成功的联机到你的 GATEWAY 那表示出问题啦!赶紧检查有无设定错误。
    

    要注意,第三个检查如果失败,可能要看你的路由器是否已经关闭?或者是你的 switch/hub 是否有问题,或者是你的网络线是否错误,还是说你的或路由器的防火墙设定错误了?要记得去解决喔! 这三个检查做完而且都成功之后,那么你的 TCP/IP 参数设定已经完毕了!这表示你可以使用 IP 上网啦! 只是还不能够使用主机名上网就是了。接下来就是要设定 DNS 啰!

  2. DNS 服务器的 IP 设定与观察

    这个 /etc/resolv.conf 很重要啦!他会影响到你是否可以查询到主机名与 IP 的对应喔!通常如下的设定就 OK 了!

    [root@www ~]# vim /etc/resolv.conf
    nameserver 168.95.1.1
    nameserver 139.175.10.20
    

    我们以中华电信与 SeedNet 在南部的 DNS 服务器之 IP 作为设定的方式!请注意一下,如果你不知道你的最接近的 DNS 服务器的 IP ,那么直接输入 nameserver 168.95.1.1 这个中华电信的 DNS 主机即可!不过如果你公司内部有设定防止 DNS 的要求封包的防火墙规则时,那么你就得要请教贵公司的网管单位告知你的 DNS IP 设定啦!然后赶紧测试看看:

    # 检查四:看看 DNS 是否顺利运作了呢?很重要的测试喔!
    [root@www ~]# dig www.google.com
    ....(前面省略)....
    ;; QUESTION SECTION:
    ;www.google.com.                        IN      A
    
    ;; ANSWER SECTION:
    www.google.com.         428539  IN      CNAME   www.l.google.com.
    www.l.google.com.       122     IN      A       74.125.71.106
    ....(中间省略)....
    
    ;; Query time: 30 msec
    ;; SERVER: 168.95.1.1#53(168.95.1.1)  <==这里的项目也很重要!
    ;; WHEN: Mon Jul 18 01:26:50 2011
    ;; MSG SIZE  rcvd: 284
    

    上面的输出有两个重点,一个是问题查询的是 www.google.com 的 A (Address) 参数,并且从回答 (Answer) 里面得到我们所需的 IP 参数。最后面一段的 Server 项目非常重要!你得要看是否与你的设定相同的那部 DNS 服务器 IP 才行! 以上面输出为例,鸟哥使用中华电信的 DNS 服务器,所以就出现 168.95.1.1 的 IP 地址啰。

  3. 主机名的修改、启动与观察

    修改主机名就得要改 /etc/sysconfig/network 以及 /etc/hosts 这两个档案,这两个档案的内容又简单的要命喔!

    [root@www ~]# vim /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=www.centos.vbird
    
    [root@www ~]# vim /etc/hosts
    192.168.1.100    www.centos.vbird
    # 特别注意,这个档案的原本内容不要删除!只要新增额外的数据即可!
    

    修改完毕之后要顺利启动的话,得要重新启动才可以。为什么需要重新启动呢?因为系统已经有非常多的服务启动了, 这些服务如果需要主机名,都是到这个档案去读取的。而我们知道配置文件更新过后,服务都得要重新启动才行。 因此,已经启动而且有读到这个档案的服务,就得要重新启动啊!真麻烦~因此,最简单的方法,就是重新启动。 但重开机之前还需要进行一项工作,否则,你的系统开机会花掉很多时间喔!

    [root@www ~]# hostname
    localhost.localdomain
    # 还是默认值,尚未更新成功!我们还得要进行底下的动作!
    
    # 检查五:看看你的主机名有没有对应的 IP 呢?没有的话,开机流程会很慢!
    [root@www ~]# ping -c 2 www.centos.vbird
    PING www.centos.vbird (192.168.1.100) 56(84) bytes of data.
    64 bytes from www.centos.vbird (192.168.1.100): icmp_seq=1 ttl=64 time=0.015 ms
    64 bytes from www.centos.vbird (192.168.1.100): icmp_seq=2 ttl=64 time=0.028 ms
    
    --- www.centos.vbird ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1000ms
    rtt min/avg/max/mdev = 0.015/0.021/0.028/0.008 ms
    # 因为我们有设定 /etc/hosts 规定 www.centos.vbird 的 IP ,
    # 所以才找的到主机主机名对应的正确 IP!这时才能够 reboot 喔!重要重要!
    

上面的信息中,检查的内容总共有五个步骤,这五个步骤每一步都要成功后才能够继续往下处理喔! 至于最重要的一点,当你修改过 /etc/sysconfig/network 里面的 HOSTNAME 后, 务必要重新启动 (reboot)。但是重新启动之前,请务必『 ping 主机名』且得到 time 的响应才行!


4.2.2 自动取得 IP 参数 (DHCP 方法,适用 Cable modem、IP 分享器的环境)

可自动取得 IP 的环境是怎么回事啊?不是很简单吗?当你在 IP 分享器后头的主机在设定时,不是都会选择『自动取得 IP 』吗?那就是可自动取得 IP 的环境啦!那么这个自动取得是怎么回事啊?也不难了解啦,其实就是『有一部主机提供 DHCP 服务给整个网域内的计算机』就是了!例如 IP 分享器就可能是一部 DHCP 主机。那么 DHCP 是啥? 他是:Dynamic Host Configuration Protocol 的简写,顾名思义,他可以『动态的调整主机的网络参数』的意思。详细的 DHCP 功能我们会在第十二章说明的。好了,那么这个方法适合哪些联机的方式呢?大致有这些:

  • Cable Modem:就是使用电视缆线进行网络回路联机的方式啊!
  • ADSL 多 IP 的 DHCP 制:就鸟哥所知, SeedNet 有推出一种专案, 可以让 ADSL 用户以 DHCP 的方式来自动取得 IP ,不需要拨接。那使用的也是这种方法!
  • IP 分享器或 NAT 有架设 DHCP 服务时:当你的主机位于 IP 分享器的后端,或者是你的 LAN 当中有 NAT 主机且 NAT 主机有架设 DHCP 服务时, 那取得 IP 的方法也是这样喔!

你依旧需要前一小节手动设定 IP 的主机名设定 (第三步骤),至于 IP 参数与 DNS 则不需要额外设定, 仅需要修改 ifcfg-eth0 即可喔!这样处理吧:

[root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR="08:00:27:71:85:BD"
NM_CONTROLLED="no"
ONBOOT=yes
BOOTPROTO=dhcp

没盖你喔!只要这几个项目即可,其他的都给他批注 (#) 掉!尤其是那个 GATEWAY 一定不能设定! 避免互相干扰!然后给他重新启动网络:

[root@www ~]# /etc/init.d/network restart
Shutting down interface eth0:         [ OK ]  <== 先关闭界面
Shutting down loopback interface:     [ OK ]
Bringing up loopback interface:       [ OK ]  <== 再开启界面
Bringing up interface eth0:           [ OK ]
Determining IP information for eth0.. [ OK ]  <== 重要!是 DHCP 的特点!
# 你可以透过最后一行去判断我们是否有透过 DHCP 协议取得 IP!

我们局域网络内的 IP 分享器或 DHCP 主机,就会立刻帮你的 Linux 主机做好网络参数的规划, 包括 IP 参数与 GATEWAY 等,就通通设定妥当啦!很方便也很简单吧!

Tips: 基本上,/etc/resolv.conf 预设会被 DHCP 所修改过,因此你不需要修改 /etc/resolv.conf。甚至连主机名都会被 DHCP 所修订。不过,如果你有特殊需求,那么 /etc/sysconfig/network 以及 /etc/hosts 请自行修改正确呦!


4.2.3 ADSL 拨接上网 (适用台湾 ADSL 拨接以及光纤到大楼)

终于来到台湾最热门的 ADSL 拨接上网的介绍啦!来谈一谈如何在 Linux 上拨接上网吧! 要拨接上网时,可以使用 rp-pppoe 这套软件来帮忙(注1),所以,你必须要确认你的 Linux distributions 上面已经存在这个玩意儿了!CentOS 本身就含有 rp-pppoe ,请使用原版光盘,或者是使用 yum 来进行安装吧!

[root@www ~]# mount /dev/cdrom /mnt
[root@www ~]# cd /mnt/Packages
[root@www ~]# rpm -ivh rp-pppoe* ppp*
[root@www ~]# rpm -q rp-pppoe
rp-pppoe-3.10-8.el6.x86_64    <==你瞧瞧!确实已经安装喔!

当然,很多 distributions 都已经将拨接这个动作归类到图形接口里面去了,所以可能没有提供 rp-pppoe 这个咚咚,没关系,你可以到底下的网站去取得的:

然后再自行手动安装即可。如何安装的过程鸟哥在这里就不谈了,请自行前往基础篇的原始码与 Tarball 章节查阅相关资料吧。 另外请注意,虽然整个联机是由主机的以太网络卡连接到 ADSL 调制解调器上,然后再透过电话线路联机到 ISP 的机房去,最后在主机上以 rp-pppoe 拨接达成联机。但是 rp-pppoe 使用的是 Point to Point (ppp) over Ethernet 的点对点协议所产生的网络接口,因此当你顺利的拨接成功之后, 会多产生一个实体网络接口『 ppp0 』喔!

而由于 ppp0 是架构在以太网络卡上的,你必须要有以太网卡,同时,即使拨接成功后,你也不能将没有用到的 eth0 关闭喔!注意注意!因此,拨接成功后就会有:

  • 内部循环测试用的 lo 接口;
  • 网络卡 eth0 这个接口;
  • 拨接之后产生的经由 ISP 对外连接的 ppp0 接口。

虽然 ppp0 是架构在以太网卡上面的,但上头这三个接口在使用上是完全独立的,互不相干, 所以关于 eth0 的使用上,你就可以这样思考:

  • 这张网络卡 (假设是 eth0) 有接内部网络(LAN):

    举例来说,如果你的局域网络如同第三章的图3.1-1 所示,也就是说,你的 ppp0 可以连上 Internet ,但是内网则使用 eth0 来跟其他内部主机联机时, 那么你的 IP 设定参数: /etc/sysconfig/network-scripts/ifcfg-eth0 应该要给予一个私有 IP 以使内部的 LAN 也可以透过 eth0 来进行联机啊!所以鸟哥会这样设定:

    [root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=none
    NM_CONTROLLED=no
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    ONBOOT=yes
    

    并请记得一件事情,那就是:『千万不要有 GATEWAY 的设定!』, 因为 ppp0 拨接成功后, ISP 会主动的给予 ppp0 接口一个可以连上 Internet 的 default gateway , 如果你又设定另一个 default gateway ,两个网关可能会造成你的网络不通喔!

  • 这部主机仅有连接 ADSL 调制解调器,并没有内部网域:

    如果这部 Linux 主机是直接连接到 ADSL 调制解调器上头,并没有任何内部主机与其联机,也就是说,你的 eth0 有没有 IP 都没有关系时,那么上面的设定当中的那个『 ONBOOT=yes 』直接改成『 ONBOOT=no 』就好了!那拨接不会有问题吗? 没关系啊,因为你拨接启动 ppp0 时,系统会主动的唤醒 eth0 ,只是 eth0 不会有 IP 信息就是了。

至于其他的档案请参考 4.2.1 手动设定 IP 的联机方法来处理即可。 当然啦,拨接之前,请确认你的 ADSL 调制解调器 (小乌龟) 已经与主机联机妥当,也取得账号与密码,也安装好了 rp-pppoe ,然后就来处理吧!

  1. 设定连接到 ADSL 调制解调器那张网卡 (暂订为 eth0)

    说实在的,鸟哥比较建议将内外网域分的清清楚楚比较好,所以,通常我都是主机上面接两块网络卡, 一张对内一张对外,对外的那张网卡预设是不启动的 (ONBOOT=no)。考虑到你可能仅有一张网卡,那么鸟哥也会给你建议, 直接给 eth0 一个私有 IP 接口吧!设定就如同本节稍早提到的那样啰!

  2. 设定拨接的账号与密码

    好了,那么开始来设定你的账号与密码吧!这个动作只要在第一次建立账号/密码时处理即可,未来除非账号密码改变了, 否则这个动作都不需要重新处理啦!(留意一下,拨接的设定指令有改变喔!与之前的 adsl-setup 不一样啰!仔细看看!)

    [root@www ~]# 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...
    
    LOGIN NAME  (从 ISP 处取得的账号填入处)
    Enter your Login Name (default root): T1234567
    # 注意啊!这个账号名称是 ISP 给的,其中如果是 SeedNet ,输入如上,
    # 如果是 Hinet 的话,就得要输入 [email protected],后面的主机名也要写。
    
    INTERFACE  (ADSL 调制解调器所接的网卡代号)
    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
    
    Enter the demand value (default no): no
    
    DNS  (就填入 ISP 处取得的 DNS 号码吧)
    Enter the DNS information here: 168.95.1.1
    Enter the secondary DNS server address here: <==若无第二部就按 enter
    
    PASSWORD  (从 ISP 处取得的密码啊!)
    Please enter your Password: <==输入密码两次,屏幕不会有星号 * 喔!
    Please re-enter your Password:
    
    USERCTRL  (要不要让一般用户启动与关闭?最好是不要!)
    Please enter 'yes' (three letters, lower-case.) if you want to allow
    normal user to start or stop DSL connection (default yes): no
    
    FIREWALLING  (防火墙方面,先取消,用自己未来设定的)
    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
    
    Start this connection at boot time (要不要开机立即启动拨接程序?)
    Do you want to start this connection at boot time?
    Please enter no or yes (default no):yes
    
    ** Summary of what you entered **
    Ethernet Interface: eth0
    User name:          T1234567
    Activate-on-demand: No
    Primary DNS:        168.95.1.1
    Firewalling:        NONE
    User Control:       no
    Accept these settings and adjust configuration files (y/n)? y
    Adjusting /etc/sysconfig/network-scripts/ifcfg-ppp0
    Adjusting /etc/resolv.conf
      (But first backing it up to /etc/resolv.conf.bak)
    Adjusting /etc/ppp/chap-secrets and /etc/ppp/pap-secrets
      (But first backing it up to /etc/ppp/chap-secrets.bak)
      (But first backing it up to /etc/ppp/pap-secrets.bak)
    # 上面具有特殊字体的档案主要功能是:
    # ifcfg-ppp0  :亦即是 ppp0 这个网络接口的配置文件案;
    # resolv.conf :这个档案会被备份后,然后以刚刚我们上面输入的 DNS 数据取代;
    # pap-secrets, chap-secrets:我们输入的密码就放在这里!
    

    这样设定就成功啦!很简单吧!唯一需要注意的是在上面的 username 那个地方,千万注意, 因为 hinet 与 seednet 的设定是不一样的!千万小心呢!否则会无法连上线呦!此外, 由于我们在未来还会有 firewall 的建置,所以这里不太需要使用到防火墙啦!否则也可能无法连上 Internet 呦!另外,注意一下,一般拨接需要的身份认证机制透过的是 chap 与 pap(注2), 在 rp-pppoe 这套软件中,就将两种认证机制所需的数据通通记录下来啦!那就是 chap-secrets, pap-secrets, 你可以分别察看两个档案的内容,就知道那是啥咚咚了!

  3. 透过 adsl-start, pppoe-start 或 network restart 开始拨接上网

    启动 ADSL 的方法很多,通常鸟哥都是使用 /etc/init.d/network restart 即可处理!不过,如果发生一些不明的错误, 也可以使用 pppoe-stop 关闭后再以 pppoe-start 立即启动拨接试看看。 通常比较容易出问题的地方在于硬件的联机情况,请先确认所有的硬件联机没有问题喔! 通常,如果你使用小乌龟 (ATU-R) 时,请使用跳线连接网络卡与 ATU-R。另外一个容易出错的地方在于输入的账号与密码, 账号与密码都是你的 ISP 给你的,并且注意大小写(可以到 /etc/ppp/{chap,pap}-secrets 察看一下是否设定错误?)

  4. 开始检查的步骤:

    上面的步骤搞定就可以连上 Internet 了。如果担心设定方面有问题,可以透过手动设定 IP 的那个小节的五个步骤去检查看看, 指令分别是:

    [root@www ~]# ifconfig
    [root@www ~]# route -n
    [root@www ~]# ping GW的IP
    [root@www ~]# dig www.google.com
    [root@www ~]# hostname
    

    比较特殊的是,因为 ADSL 拨接是透过点对点 (ppp) 协议,所谓的点对点,就是你的 ppp0 直接连接到 ISP 的某个点 (IP) , 所以,理论上,ppp0 是个独立的 IP ,并没有子网!因此,当你察看 ppp0 的网络参数时,他会变成这样:

    [root@www ~]# ifconfig ppp0
    ppp0      Link encap:Point-to-Point Protocol
              inet addr:111.255.69.90  P-t-P:168.95.98.254  Mask:255.255.255.255
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
              RX packets:59 errors:0 dropped:0 overruns:0 frame:0
              TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:3
              RX bytes:7155 (6.9 KiB)  TX bytes:8630 (8.4 KiB)
    

    如上所示,那个 inet addr 就是你的 IP ,而 P-t-P 就是 Gateway 的意思啦!你也会看到, Mask 是 255.255.255.255 哩! 没有子网呦!要仔细看清楚哩!

  5. 取消拨接功能 (Option)

    如果你明明没有 ADSL 联机,但是却作了上面的动作,那么得要注意喔,因为每次重新启动网络都会花很多时间在侦测 ADSL 调制解调器上。所以啰,我们得要修改 ppp0 的配置文件才行。动作很简单,将 /etc/sysconfig/network-scripts/ifcfg-ppp0 内的 ONBOOT 改成 no, 然后进行:

    [root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-ppp0
    DEVICE=ppp0
    ONBOOT=no
    ....(其他省略)....
    
    [root@www ~]# chkconfig pppoe-server off
    

很快的,这样你就已经做好 ADSL 拨接上网的动作了!很快乐吧!但是不要忘记了,你的主机若还没有更新 (update) 系统,恐怕资安方面会有些问题哩!所以,赶紧往下两个章节读读去!