# 4.2 連上 Internet 的設定方法
## 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 請自行修改正確呦!

- - - - - -
### 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://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) 系統,恐怕資安方面會有些問題哩!所以,趕緊往下兩個章節讀讀去!
- - - - - -
- 鳥哥的Linux私房菜:服務器架設篇 第三版
- 第一部份:架站前的進修專區
- 作者序
- 第一章、架設服務器前的準備工作
- 1.1 前言: Linux 有啥功能
- 1.2 基本架設服務器流程
- 1.3 自我評估是否已經具有架站的能力
- 1.4 本章習題
- 第二章、基礎網絡概念
- 2.1 網絡是個什么玩意兒
- 2.2 TCP/IP 的鏈結層相關協議
- 2.3 TCP/IP 的網絡層相關封包與數據
- 2.4 TCP/IP 的傳輸層相關封包與數據
- 2.5 連上 Internet 前的準備事項
- 2.6 重點回顧:
- 2.7 本章習題
- 2.8 參考數據與延伸閱讀
- 第三章、局域網絡架構簡介
- 3.1 局域網絡的聯機
- 3.2 本書使用的內部聯機網絡參數與通訊協議
- 第四章、連上 Internet
- 4.1 Linux 連上 Internet 前的注意事項
- 4.2 連上 Internet 的設定方法
- 4.3 無線網絡--以筆記本電腦為例
- 4.4 常見問題說明
- 4.5 重點回顧
- 4.6 本章習題
- 4.7 參考數據與延伸閱讀
- 第五章、 Linux 常用網絡指令
- 5.1 網絡參數設定使用的指令
- 5.2 網絡偵錯與觀察指令
- 5.3 遠程聯機指令與實時通訊軟件
- 5.4 文字接口網頁瀏覽
- 5.5 封包擷取功能
- 5.6 重點回顧
- 5.7 本章習題
- 5.8 參考數據與延伸閱讀
- 第六章、 Linux 網絡偵錯
- 6.1 無法聯機原因分析
- 6.2 處理流程
- 6.3 本章習題
- 6.4 參考數據與延伸閱讀
- 第二部分:主機的簡易資安防護措施
- 第七章、網絡安全與主機基本防護:限制端口, 網絡升級與 SELinux
- 7.1 網絡封包聯機進入主機的流程
- 7.2 網絡自動升級軟件
- 7.3 限制聯機埠口 (port)
- 7.4 SELinux 管理原則
- 7.5 被攻擊后的主機修復工作
- 7.6 重點回顧
- 7.7 課后練習
- 7.8 參考數據與延伸閱讀
- 第八章、路由觀念與路由器設定
- 8.1 路由
- 8.2 路由器架設
- 8.3 動態路由器架設:quagga (zebra + ripd)
- 8.4 特殊狀況:路由器兩邊界面是同一個 IP 網段: ARP Proxy
- 8.5 重點回顧
- 8.6 本章習題
- 8.7 參考數據與延伸閱讀
- 第九章、防火墻與 NAT 服務器
- 9.1 認識防火墻
- 9.2 TCP Wrappers
- 9.3 Linux 的封包過濾軟件:iptables
- 9.4 單機防火墻的一個實例
- 9.5 NAT 服務器的設定
- 9.6 重點回顧
- 9.7 本章習題
- 9.8 參考數據與延伸閱讀
- 第十章、申請合法的主機名
- 10.1 為何需要主機名
- 10.2 注冊一個合法的主機名
- 10.3 重點回顧
- 10.4 本章習題
- 10.5 參考數據與延伸閱讀
- 第三部分:局域網絡內常見的服務器架設
- 第十一章、遠程聯機服務器SSH / XDMCP / VNC / RDP
- 11.1 遠程聯機服務器
- 11.2 文字接口聯機服務器: SSH 服務器
- 11.3 最原始圖形接口: Xdmcp 服務的啟用
- 11.4 華麗的圖形接口: VNC 服務器
- 11.5 仿真的遠程桌面系統: XRDP 服務器
- 11.6 SSH 服務器的進階應用
- 11.7 重點回顧
- 11.8 本章習題
- 11.9 參考數據與延伸閱讀
- 第十二章、網絡參數控管者: DHCP 服務器
- 12.1 DHCP 運作的原理
- 12.2 DHCP 服務器端的設定
- 12.3 DHCP 客戶端的設定
- 12.4 DHCP 服務器端進階觀察與使用
- 12.5 重點回顧
- 12.6 本章習題
- 12.7 參考數據與延伸閱讀
- 第十三章、文件服務器之一:NFS 服務器
- 13.1 NFS 的由來與其功能
- 13.2 NFS Server 端的設定
- 13.3 NFS 客戶端的設定
- 13.4 案例演練
- 13.5 重點回顧
- 13.6 本章習題
- 13.7 參考數據與延伸閱讀
- 第十四章、賬號控管: NIS 服務器
- 14.1 NIS 的由來與功能
- 14.2 NIS Server 端的設定
- 14.3 NIS Client 端的設定
- 14.4 NIS 搭配 NFS 的設定在叢集計算機上的應用
- 14.5 重點回顧
- 14.6 本章習題
- 14.7 參考數據與延伸閱讀
- 第十五章、時間服務器: NTP 服務器
- 15.1 關于時區與網絡校時的通訊協議
- 15.2 NTP 服務器的安裝與設定
- 15.3 客戶端的時間更新方式
- 15.4 重點回顧
- 15.5 本章習題
- 15.6 參考數據與延伸閱讀
- 第十六章、文件服務器之二: SAMBA 服務器
- 16.1 什么是 SAMBA
- 16.2 SAMBA 服務器的基礎設定
- 16.3 Samba 客戶端軟件功能
- 16.4 以 PDC 服務器提供賬號管理
- 16.5 服務器簡單維護與管理
- 16.6 重點回顧
- 16.7 本章習題
- 16.8 參考數據與延伸閱讀
- 第十七章、區網控制者: Proxy 服務器
- 17.1 什么是代理服務器 (Proxy)
- 17.2 Proxy 服務器的基礎設定
- 17.3 客戶端的使用與測試
- 17.4 服務器的其他應用設定
- 17.5 重點回顧
- 17.6 本章習題
- 17.7 參考數據與延伸閱讀
- 第十八章、網絡驅動器裝置: iSCSI 服務器
- 18.1 網絡文件系統還是網絡驅動器
- 18.2 iSCSI target 的設定
- 18.3 iSCSI initiator 的設定
- 18.4 重點回顧
- 18.5 本章習題
- 18.6 參考數據與延伸閱讀
- 第四部分:常見因特網服務器架設
- 第十九章、主機名控制者: DNS 服務器
- 19.1 什么是 DNS
- 19.2 Client 端的設定
- 19.3 DNS 服務器的軟件、種類與 cache only DNS 服務器設定
- 19.4 DNS 服務器的詳細設定
- 19.5 協同工作的 DNS: Slave DNS 及子域授權設定
- 19.6 DNS 服務器的進階設定
- 19.7 重點回顧
- 19.8 本章習題
- 19.9 參考數據與延伸閱讀
- 第二十章、WWW 伺服器
- 20.1 WWW 的簡史、資源以及伺服器軟體
- 20.2 WWW (LAMP) 伺服器基本設定
- 20.3 Apache 伺服器的進階設定
- 20.4 登錄檔分析以及 PHP 強化模組
- 20.5 建立連線加密網站 (https) 及防砍站腳本
- 20.6 重點回顧
- 20.7 本章習題
- 20.8 參考資料與延伸閱讀
- 第二十一章、文件服務器之三: FTP 服務器
- 21.1 FTP 的數據鏈路原理
- 21.2 vsftpd 服務器基礎設定
- 21.3 客戶端的圖形接口 FTP 聯機軟件
- 21.4 讓 vsftpd 增加 SSL 的加密功能
- 21.5 重點回顧
- 21.6 本章習題
- 21.7 參考數據與延伸閱讀
- 第二十二章、郵件服務器: Postfix
- 22.1 郵件服務器的功能與運作原理
- 22.2 MTA 服務器: Postfix 基礎設定
- 22.3 MRA 服務器: dovecot 設定
- 22.4 MUA 軟件:客戶端的收發信軟件
- 22.5 郵件服務器的進階設定
- 22.6 重點回顧
- 22.7 本章習題
- 22.8 參考數據與延伸閱讀