企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 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](http://linux.vbird.org/linux_server/0120intranet.php#protocol_parameter) 里面的图 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](http://linux.vbird.org/linux_server/0340dhcp.php) 功能我们会在第十二章说明的。好了,那么这个方法适合哪些联机的方式呢?大致有这些: * 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 请自行修改正确呦! ![](https://box.kancloud.cn/2016-05-13_5735736501917.gif) * * * ### 4.2.3 ADSL 拨接上网 (适用台湾 ADSL 拨接以及光纤到大楼) 终于来到台湾最热门的 ADSL 拨接上网的介绍啦!来谈一谈如何在 Linux 上拨接上网吧! 要拨接上网时,可以使用 rp-pppoe 这套软件来帮忙([注1](#ps1)),所以,你必须要确认你的 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 这个咚咚,没关系,你可以到底下的网站去取得的: * [http://www.roaringpenguin.com/pppoe/](http://www.roaringpenguin.com/pppoe/) * [http://freshmeat.net/projects/rp-pppoe/](http://freshmeat.net/projects/rp-pppoe/) 然后再自行手动安装即可。如何安装的过程鸟哥在这里就不谈了,请自行前往基础篇的[原始码与 Tarball 章节](http://linux.vbird.org/linux_basic/0520source_code_and_tarball.php)查阅相关资料吧。 另外请注意,虽然整个联机是由主机的以太网络卡连接到 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](http://linux.vbird.org/linux_server/0120intranet.php#fig3.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 的联机方法](#connect_fix_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 的话,就得要输入 username@hinet.net,后面的主机名也要写。 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](#ps2)), 在 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) 系统,恐怕资安方面会有些问题哩!所以,赶紧往下两个章节读读去! * * *