日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

鸟哥的Linux私房菜(服务器)- 第十二章、网络参数控管者: DHCP 服务器

發(fā)布時(shí)間:2025/3/21 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 鸟哥的Linux私房菜(服务器)- 第十二章、网络参数控管者: DHCP 服务器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
第十二章、網(wǎng)絡(luò)參數(shù)控管者:?DHCP?服務(wù)器
最近更新日期:2011/07/27
想象兩種情況:(1)如果你在工作單位使用的是筆記本電腦,而且常常要帶著你的筆記本電腦到處跑, 那么由第四章、連上 Internet?的說明中會(huì)發(fā)現(xiàn),哇! 我的網(wǎng)絡(luò)卡參數(shù)要常常修改啊!而且,每到一個(gè)新的地方,就得問清楚該地的網(wǎng)絡(luò)參數(shù)才行!真是麻煩。 (2)你的公司常常有訪客或貴客來臨,因?yàn)樗麄円矌砉P電,所以也得常常跑來找你問網(wǎng)絡(luò)參數(shù)才能設(shè)定他的計(jì)算機(jī)。 哇!這兩種情況都會(huì)讓你想哭哭吧?這個(gè)時(shí)候,動(dòng)態(tài)主機(jī)設(shè)定協(xié)議 (DHCP) 可就大大的派上用場(chǎng)啦!DHCP 這個(gè)服務(wù)可以自動(dòng)的分配 IP 與相關(guān)的網(wǎng)絡(luò)參數(shù)給客戶端,來提供客戶端自動(dòng)以服務(wù)器提供的參數(shù)來設(shè)定他們的網(wǎng)絡(luò)。 如此一來,使用者只要將自己的筆電設(shè)定好經(jīng)由 DHCP 協(xié)議來取得網(wǎng)絡(luò)參數(shù)后,一插上網(wǎng)絡(luò)線,呵呵!馬上就可以享受 Internet 的服務(wù)啦!很方便吧!所以得來瞧一瞧這個(gè)好用的協(xié)定喔!

12.1?DHCP 運(yùn)作的原理
  12.1.1?DHCP 服務(wù)器的用途
  12.1.2?DHCP 協(xié)議的運(yùn)作方式:?IP 參數(shù),?租約期限,?多部 DHCP 服務(wù)器
  12.1.3?何時(shí)需要架設(shè) DHCP 服務(wù)器
12.2?DHCP 服務(wù)器端的設(shè)定
  12.2.1?所需軟件與檔案結(jié)構(gòu)
  12.2.2?主要配置文件 /etc/dhcp/dhcpd.conf 的語(yǔ)法
  12.2.3?一個(gè)局域網(wǎng)絡(luò)的 DHCP 服務(wù)器設(shè)定案例
  12.2.4?DHCP 服務(wù)器的啟動(dòng)與觀察
  12.2.5?內(nèi)部主機(jī)的 IP 對(duì)應(yīng)
12.3?DHCP 客戶端的設(shè)定
  12.3.1?客戶端是 Linux
  12.3.2?客戶端是 Windows
12.4?DHCP 服務(wù)器端進(jìn)階觀察與使用
  12.4.1?檢查租約檔案
  12.4.2?讓大量 PC 都具有固定 IP 的腳本
  12.4.3?使用 ether-wake 實(shí)行遠(yuǎn)程自動(dòng)開機(jī) (remote boot)
  12.4.4?DHCP 與 DNS 的關(guān)系
12.5?重點(diǎn)回顧
12.6?本章習(xí)題
12.7?參考數(shù)據(jù)與延伸閱讀
12.8?針對(duì)本文的建議:http://phorum.vbird.org/viewtopic.php?p=117845

12.1 DHCP 運(yùn)作的原理

在正式的進(jìn)入?DHCP (Dynamic Host Configuration Protocol)?服務(wù)器設(shè)定之前,我們先來認(rèn)識(shí)一下 DHCP 這個(gè)協(xié)議吧!還有,需要了解的是,我們是否『一定』得設(shè)定 DHCP 這個(gè)服務(wù)器呢?這里都需要厘清一下概念喔!?


12.1.1 DHCP 服務(wù)器的用途

在開始 DHCP 的說明之前,我們先來復(fù)習(xí)一下之前在第二章網(wǎng)絡(luò)基礎(chǔ)里面提到的幾個(gè)網(wǎng)絡(luò)參數(shù)吧! 要設(shè)定好一個(gè)網(wǎng)絡(luò)的環(huán)境,使計(jì)算機(jī)可以順利的連上 Internet ,那么你的計(jì)算機(jī)里面一定要有底下幾個(gè)網(wǎng)絡(luò)的參數(shù)才行,分別是:

  • IP, netmask, network, broadcast, gateway, DNS IP

其中,那個(gè) IP, netmask, network, broadcast 與 gateway 都可以在 /etc/sysconfig/network-scripts/ifcfg-eth[0-n] 這檔案里面設(shè)定,DNS 服務(wù)器的地址則是在 /etc/resolv.conf 里頭設(shè)定。只要這幾個(gè)項(xiàng)目設(shè)定正確,那么計(jì)算機(jī)應(yīng)該就沒問題的可以上網(wǎng)了! 所以說,你家里面的 3, 4 部計(jì)算機(jī),你都可以手動(dòng)的來設(shè)定好你所需要的網(wǎng)絡(luò)參數(shù), 然后利用?NAT 服務(wù)器的功能,就可以大搖大擺的連上 Internet?了!真是不錯(cuò) ^_^,不是嗎?

好了,現(xiàn)在讓我們換一個(gè)大一些些的場(chǎng)景吧!假設(shè)你是學(xué)校宿舍的網(wǎng)絡(luò)管理員,所管理的學(xué)生計(jì)算機(jī)大概有 100 部好了,那么你怎么設(shè)定好這 100 部的計(jì)算機(jī)呢?

  • 直接每一部計(jì)算機(jī)都讓你登門拜訪手動(dòng)的去設(shè)定好?
  • 將所有的學(xué)生都集合起來,然后精神訓(xùn)話.....喔不!是直接教導(dǎo)一下怎么設(shè)定?還是
  • 藉由一部主機(jī)來自動(dòng)的分配所有的網(wǎng)絡(luò)參數(shù)給宿舍內(nèi)的任何一部計(jì)算機(jī)?
  • 這三種解決方案所需要的時(shí)間都不相同,如果你選擇的是(1),那么鳥哥個(gè)人認(rèn)為,你不是工作狂就是瘋掉了, 因?yàn)樗ㄙM(fèi)的時(shí)間與你所得的薪水與付出的心力是完全不成比例的。如果選擇是(2),那么很可能你會(huì)被掛上獨(dú)裁者、 沒良心的管理員的稱號(hào)!如果是選擇(3)呢?恭喜你!這個(gè)方案的管理時(shí)間花費(fèi)最短,也是最不麻煩的作法啦!

    呵呵!知道鳥哥要說些什么了嗎?是的!這個(gè)?DHCP (Dynamic Host Configuration Protocol)?服務(wù)器最主要的工作,就是在進(jìn)行上面的第三個(gè)方案,也就是自動(dòng)的將網(wǎng)絡(luò)參數(shù)正確的分配給網(wǎng)域中的每部計(jì)算機(jī), 讓客戶端的計(jì)算機(jī)可以在開機(jī)的時(shí)候就立即自動(dòng)的設(shè)定好網(wǎng)絡(luò)的參數(shù)值,這些參數(shù)值可以包括了 IP、netmask、network、gateway 與 DNS 的地址等等。如此一來,身為管理員的你,只要注意到這一部提供網(wǎng)絡(luò)參數(shù)的主機(jī)有沒有掛掉就好了, 其他同學(xué)們的個(gè)人計(jì)算機(jī),哈!你想都不必想要怎么去幫忙!因?yàn)?DHCP 主機(jī)已經(jīng)完全都幫你搞定啦! ^_^! 阿!當(dāng)管理員最大的幸福就是可以喝喝茶、聊聊天就能控管好一切的網(wǎng)絡(luò)問題呢!


    12.1.2 DHCP 協(xié)議的運(yùn)作方式

    你必需要知道的是,DHCP 通常是用于局域網(wǎng)絡(luò)內(nèi)的一個(gè)通訊協(xié)議,他主要藉由客戶端傳送廣播封包給整個(gè)物理網(wǎng)段內(nèi)的所有主機(jī), 若局域網(wǎng)絡(luò)內(nèi)有 DHCP 服務(wù)器時(shí),才會(huì)響應(yīng)客戶端的 IP 參數(shù)要求。所以啰,DHCP 服務(wù)器與客戶端是應(yīng)該要在同一個(gè)物理網(wǎng)段內(nèi)的。 至于整個(gè) DHCP 封包在服務(wù)器與客戶端的來來回回情況有點(diǎn)像底下這樣:(注1)


    圖 12.1-1、

    戶端取得 IP 參數(shù)的程序可以簡(jiǎn)化如下:

  • 客戶端:利用廣播封包發(fā)送搜索 DHCP 服務(wù)器的封包:

    若客戶端網(wǎng)絡(luò)設(shè)定使用 DHCP 協(xié)議取得 IP (在 Windows 內(nèi)為『自動(dòng)取得 IP』),則當(dāng)客戶端開機(jī)或者是重新啟動(dòng)網(wǎng)絡(luò)卡時(shí), 客戶端主機(jī)會(huì)發(fā)送出搜尋 DHCP 服務(wù)器的 UDP 封包給所有物理網(wǎng)段內(nèi)的計(jì)算機(jī)。此封包的目標(biāo) IP 會(huì)是 255.255.255.255, 所以一般主機(jī)接收到這個(gè)封包后會(huì)直接予以丟棄,但若局域網(wǎng)絡(luò)內(nèi)有 DHCP 服務(wù)器時(shí),則會(huì)開始進(jìn)行后續(xù)行為。

  • 服務(wù)器端:提供客戶端網(wǎng)絡(luò)相關(guān)的租約以供選擇:

    DHCP 服務(wù)器在接收到這個(gè)客戶端的要求后,會(huì)針對(duì)這個(gè)客戶端的硬件地址 (MAC)?與本身的設(shè)定數(shù)據(jù)來進(jìn)行下列工作:

    • 到服務(wù)器的登錄文件中尋找該用戶之前是否曾經(jīng)用過某個(gè) IP ,若有且該 IP 目前無(wú)人使用,則提供此 IP 給客戶端;
    • 若配置文件針對(duì)該 MAC 提供額外的固定 IP (static IP) 時(shí),則提供該固定 IP 給客戶端;
    • 若不符合上述兩個(gè)條件,則隨機(jī)取用目前沒有被使用的 IP 參數(shù)給客戶端,并記錄下來。

    總之,服務(wù)器端會(huì)針對(duì)客戶端的要求提供一組網(wǎng)絡(luò)參數(shù)租約給客戶端選擇,由于此時(shí)客戶端尚未有 IP ,因此服務(wù)器端響應(yīng)的封包信息中, 主要是針對(duì)客戶端的 MAC 來給予回應(yīng)。此時(shí)服務(wù)器端會(huì)保留這個(gè)租約然后開始等待客戶端的回應(yīng)。

  • 客戶端:決定選擇的 DHCP 服務(wù)器提供的網(wǎng)絡(luò)參數(shù)租約并回報(bào)服務(wù)器:

    由于局域網(wǎng)絡(luò)內(nèi)可能并非僅有一部 DHCP 服務(wù)器,但客戶端僅能接受一組網(wǎng)絡(luò)參數(shù)的租約。 因此客戶端必需要選擇是否要認(rèn)可該服務(wù)器提供的相關(guān)網(wǎng)絡(luò)參數(shù)的租約。當(dāng)決定好使用此服務(wù)器的網(wǎng)絡(luò)參數(shù)租約后, 客戶端便開始使用這組網(wǎng)絡(luò)參數(shù)來設(shè)定自己的網(wǎng)絡(luò)環(huán)境。此外,客戶端也會(huì)發(fā)送一個(gè)廣播封包給所有物理網(wǎng)段內(nèi)的主機(jī), 告知已經(jīng)接受該服務(wù)器的租約。此時(shí)若有第二臺(tái)以上的 DHCP 服務(wù)器,則這些沒有被接受的服務(wù)器會(huì)收回該 IP 租約。至于被接受的 DHCP 服務(wù)器會(huì)繼續(xù)進(jìn)行底下的動(dòng)作。

  • 服務(wù)器端:記錄該次租約行為并回報(bào)客戶端已確認(rèn)的響應(yīng)封包信息:

    當(dāng)服務(wù)器端收到客戶端的確認(rèn)選擇后,服務(wù)器會(huì)回傳確認(rèn)的響應(yīng)封包,并且告知客戶端這個(gè)網(wǎng)絡(luò)參數(shù)租約的期限, 并且開始租約計(jì)時(shí)喔!那么該次租約何時(shí)會(huì)到期而被解約 (真可怕的字眼) ?你可以這樣想:

    • 客戶端脫機(jī):不論是關(guān)閉網(wǎng)絡(luò)接口 (ifdown)、重新啟動(dòng) (reboot)、關(guān)機(jī) (shutdown) 等行為,皆算是脫機(jī)狀態(tài),這個(gè)時(shí)候 Server 端就會(huì)將該 IP 回收,并放到 Server 自己的備用區(qū)中,等待未來的使用;

    • 客戶端租約到期:前面提到 DHCP server 端發(fā)放的 IP 有使用的期限,客戶端使用這個(gè) IP 到達(dá)期限規(guī)定的時(shí)間,而且沒有重新提出 DHCP 的申請(qǐng)時(shí),就需要將 IP 繳回去!這個(gè)時(shí)候就會(huì)造成斷線。但用戶也可以再向 DHCP 服務(wù)器要求再次分配 IP 啰。
  • 以上就是 DHCP 這個(gè)協(xié)議在 Server 端與 Client 端的運(yùn)作狀態(tài),由上面這個(gè)運(yùn)作狀態(tài)來看,我們可以曉得,只要 Server 端設(shè)定沒有問題,加上 Server 與 Client 在硬件聯(lián)機(jī)上面確定是 OK 的,那么 Client 就可以直接藉由 Server 來取得上網(wǎng)的網(wǎng)絡(luò)參數(shù),當(dāng)然啦,只要我們這些管理員能夠好好的、正確的管理好我們的 DHCP 服務(wù)器, 嘿嘿!那么上網(wǎng)的設(shè)定自然就變成一件很簡(jiǎn)單的事情啦!不過,關(guān)于上述的流程還是有一些需要額外說明的啦:


    • DHCP 服務(wù)器給予客戶端的 IP 參數(shù)為固定或動(dòng)態(tài):

    在上面的步驟里面,注意到第二步驟了嗎?就是服務(wù)器會(huì)去比較客戶端的 MAC 硬件地址,并判斷該 MAC 是否需要給予一個(gè)固定的 IP 呢!所以啦,我們可以設(shè)定 DHCP 服務(wù)器給予客戶端的 IP 參數(shù)主要有兩種:

    • 固定 (Static) IP:

      只要那個(gè)客戶端計(jì)算機(jī)的網(wǎng)絡(luò)卡不換掉,那么 MAC 肯定就不會(huì)改變,由于 DHCP 可以根據(jù) MAC 來給予固定的 IP 參數(shù)租約,所以該計(jì)算機(jī)每次都能以一個(gè)固定的 IP 連上 Internet !呵呵! 這種情況比較適合當(dāng)這部客戶端計(jì)算機(jī)需要用來做為提供區(qū)域內(nèi)的一些網(wǎng)絡(luò)服務(wù)的主機(jī)之用 (所以 IP 要固定)。那么如何在 Linux 上面知道網(wǎng)絡(luò)卡的 MAC 呢?很簡(jiǎn)單啦!有很多的方式,最簡(jiǎn)單的方式就是使用 ifconfig 及 arp 來進(jìn)行:
      # 1. 觀察自己的 MAC 可用 ifconfig: [root@www ~]# ifconfig | grep HW eth0 Link encap:Ethernet HWaddr 08:00:27:71:85:BD eth1 Link encap:Ethernet HWaddr 08:00:27:2A:30:14 # 因?yàn)轼B哥有兩張網(wǎng)卡,所以有兩個(gè)硬件地址喔!# 2. 觀察別人的 MAC 可用 ping 配合 arp [root@www ~]# ping -c 3 192.168.1.254 [root@www ~]# arp -n Address HWtype HWaddress Flags Mask Iface 192.168.1.254 ether 00:0c:6e:85:d5:69 C eth0

    • 動(dòng)態(tài) (dynamic) IP:

      Client 端每次連上 DHCP 服務(wù)器所取得的 IP 都不是固定的!都直接經(jīng)由 DHCP 所隨機(jī)由尚未被使用的 IP 中提供!

    除非你的局域網(wǎng)絡(luò)內(nèi)的計(jì)算機(jī)有可能用來做為主機(jī)之用,所以必需要設(shè)定成為固定 IP ,否則使用動(dòng)態(tài) IP 的設(shè)定比較簡(jiǎn)單,而且使用上面具有較佳的彈性。怎么說呢?假如你是一個(gè) ISP 好了,而你只申請(qǐng)到 150 個(gè) IP 來做為你的客戶聯(lián)機(jī)之用。那么你是否真的只能邀集到 150 的使用者?呵呵!當(dāng)然不啰!我可以邀集 200 個(gè)使用者以上呢!

    為什么?這樣想好了,我今天開了一家餐館,里面只有 20 個(gè)座位,那么是否我一餐只能賣給 20 個(gè)人呢?當(dāng)然不是啦!因?yàn)榭腿耸侨藖砣送?#xff0c;有人先吃有人后吃,所以同樣是 20 個(gè)座位,但是可以有 40 個(gè)人來吃我的簡(jiǎn)餐,因?yàn)閬淼臅r(shí)間不一樣嘛!了解了嗎?呵呵!對(duì)啦!你這個(gè) ISP 雖然只有 150 個(gè) IP 可以發(fā)放,但是因?yàn)槟愕氖褂谜卟⒎?24 小時(shí)都掛在在線的,所以你可以將這 150 個(gè) IP 做良好的分配,讓 200 個(gè)人來『輪流使用』這 150 個(gè) IP 哩!

    Tips:
    其實(shí) IP 只有 Public IP 與 Private IP 兩種,中文翻譯成『公共 IP』與『私有 IP』這兩個(gè), 至于其他所謂的『靜態(tài) IP』、『實(shí)體 IP』、『虛擬 IP』、『浮動(dòng)式 IP』等等,都是藉由一些 IP 取得的方式來分類的, 關(guān)于 IP 的種類我們?cè)诰W(wǎng)絡(luò)基礎(chǔ)中談過了, 記得再好好的厘清一下觀念喔!

    事實(shí)上現(xiàn)在主流的 ADSL 寬帶撥接上網(wǎng)也有使用到『靜態(tài) IP?』與『固定 IP?』之類的概念喔! 舉例來說好了,hinet/seed net 等主要 ISP 都有提供所謂的:『一個(gè)固定 IP 搭配 7~8 個(gè)浮動(dòng) IP 』的 ADSL 撥接功能,也就是說同樣透過一條電話線撥接到 ISP ,但是其中一個(gè)撥接是可以取得固定的 IP 呢! 而其他的則是非固定的 IP ,DHCP 的 static/dynamic 跟這個(gè)玩意兒有點(diǎn)類似啦! ^_^


    • 關(guān)于租約所造成的問題與租約期限:

    怪了!如果我們觀察上面 DHCP 運(yùn)作模式的第四個(gè)步驟,你會(huì)發(fā)現(xiàn)最后 DHCP 服務(wù)器還會(huì)給予一個(gè)租約期限! 干嘛還要這樣的一個(gè)期限呢?其實(shí)設(shè)定期限還是有個(gè)優(yōu)點(diǎn)啦!最大的優(yōu)點(diǎn)就是可以避免 IP 被某些使用者一直占用著,但該使用者卻是 Idle (發(fā)呆) 的狀態(tài)!

    舉個(gè)例子來說,我們剛剛不是說到,我有 150 個(gè) IP ,但是偏偏我有 200 個(gè)用戶嗎?我們以 2010 年的世界杯足球賽來說明好了。假設(shè)每個(gè)使用者都急著上網(wǎng)知道世足賽的消息, 那么某些熱門對(duì)戰(zhàn)時(shí)段網(wǎng)絡(luò)將可能達(dá)到使用尖峰!也就是說,這 200 個(gè)人同時(shí)要來使用這 150 個(gè) IP ,有可能嗎?當(dāng)然不可能!肯定會(huì)有 50 個(gè)人無(wú)法聯(lián)機(jī),因?yàn)椤汉鼙?#xff01;目前系統(tǒng)正在忙線中,請(qǐng)你稍后再撥!』

    那怎么辦?這個(gè)時(shí)候租約到期的方式就很有用處啦!那幾個(gè)已經(jīng)聯(lián)機(jī)進(jìn)來很久的人, 就會(huì)因?yàn)樽饧s到期而被迫脫機(jī),這個(gè)時(shí)候該 IP 就會(huì)被釋放出來,哈哈!大家趕快搶呀!先搶到先贏喔! 所以,那 50 個(gè)人 (包括被迫脫機(jī)的那個(gè)朋友) 只好繼續(xù)的、努力的、加油的來進(jìn)行 DHCP 的要求啰! ^_^""

    雖然說是優(yōu)點(diǎn),但是其實(shí)如果站在使用者的角度來看,還是可能會(huì)造成公憤的!憑什么大家一起交錢, 我先聯(lián)機(jī)進(jìn)來就需要先被踢出去?~呵呵!所以啰,如果要當(dāng) ISP ,還是得要先規(guī)劃好服務(wù)的方針才行呦! 這樣你可以了解租約到期的行為了嗎?! ^_^

    既然有租約時(shí)間,那么是否代表我用 DHCP 取得的 IP 就得要『手動(dòng)』的在某個(gè)時(shí)間點(diǎn)去重新取得新的 IP 呢?不需要的啦!因?yàn)槟壳暗?DHCP 客戶端程序大多會(huì)主動(dòng)的依據(jù)租約時(shí)間去重新申請(qǐng) IP (renew) 的!也就是說在租約到期前你的 DHCP 客戶端程序就已經(jīng)又重新申請(qǐng)更新租約時(shí)間了。所以除非 DHCP 主機(jī)掛點(diǎn), 否則你所取得的 IP 應(yīng)該是可以一直使用下去的!

    Tips:
    一般來說,假設(shè)租約期限是 T 小時(shí),那么客戶端在 0.5T 會(huì)主動(dòng)向 DHCP 服務(wù)器發(fā)出重新要求網(wǎng)絡(luò)參數(shù)的封包。 如果這次封包要求沒有成功,那么在 0.875T 后還會(huì)再次的發(fā)送封包一次。正因如此,所以服務(wù)器端會(huì)啟動(dòng) port 67 監(jiān)聽用戶要求,而用戶會(huì)啟動(dòng) port 68 主動(dòng)向服務(wù)器要求哩!鳥哥覺得這是很特殊的一件事呢!

    • 多部 DHCP 服務(wù)器在同一物理網(wǎng)段的情況

    或許你曾經(jīng)發(fā)現(xiàn)過一件事情,那就是當(dāng)我的網(wǎng)域里面有兩部以上的 DHCP 服務(wù)器時(shí), 到底哪一部服務(wù)器會(huì)提供我的這部客戶端計(jì)算機(jī)所發(fā)出的 DHCP 要求?呵呵!很抱歉,俺也不曉得! 因?yàn)樵诰W(wǎng)絡(luò)上面,很多時(shí)候都是『先搶先贏』的, DHCP 的回應(yīng)也是如此!當(dāng) Server1 先響應(yīng)時(shí),你使用的就是 Server1 所提供的網(wǎng)絡(luò)參數(shù)內(nèi)容,如果是 Server2 先響應(yīng),你就是使用 Server2 的參數(shù)來設(shè)定你的客戶端 PC !不過,前提之下當(dāng)然是這些計(jì)算機(jī)的『物理聯(lián)機(jī)』都是在一起的啊!

    因?yàn)檫@個(gè)特色的關(guān)系,所以當(dāng)你在練習(xí) DHCP 服務(wù)器的設(shè)定之前, 不要在已經(jīng)正常運(yùn)作的區(qū)網(wǎng)下測(cè)試,否則會(huì)很慘。舉個(gè)鳥哥的例子來說好了,某一次其他系的研究生在測(cè)試網(wǎng)絡(luò)安全時(shí), 在原有的區(qū)網(wǎng)上面放了一部 IP 分享器,結(jié)果你猜怎么著?整棟大樓的網(wǎng)絡(luò)都不通了!因?yàn)槟菚r(shí)整棟大樓的網(wǎng)絡(luò)是串接在一起的, 而我們學(xué)校是使用 DHCP 讓客戶端上網(wǎng)。由于 IP 分享器的設(shè)定并不能連上 Internet ,哇!大家都無(wú)法上網(wǎng)了啦! 那你曉得了嗎?不要隨便測(cè)試?yán)策@個(gè) DHCP 服務(wù)器!


    12.1.3 何時(shí)需要架設(shè) DHCP 服務(wù)器

    既然 DHCP 的好處是『免客戶端設(shè)定』,而且對(duì)于行動(dòng)裝置的上網(wǎng)方面非常的方便!那么是否代表你就得要架設(shè)一部 DHCP 呢?那可不一定!接下來要告知大家的是幾個(gè)概念性的問題, 你倒不一定『必需』遵守底下的一些概念呢!反正,自己的網(wǎng)域自己『爽』就好啦!


    • 使用 DHCP 的幾個(gè)時(shí)機(jī)

    在某些情況之下,倒是強(qiáng)烈的建議架設(shè) DHCP 主機(jī)的!什么情況呢?例如:

    • 具有相當(dāng)多行動(dòng)裝置的場(chǎng)合:
      例如你的公司內(nèi)部很多筆記本電腦使用的場(chǎng)合!因?yàn)檫@種筆電本身就是移動(dòng)性的裝置, 如果每到一個(gè)地方都要去問人家『喂!你這邊的網(wǎng)絡(luò)參數(shù)是什么?』還得要擔(dān)心是否會(huì)跟人家的 IP 相沖突等等的問題!這個(gè)時(shí)候,DHCP 可就是你的救星啰!

    • 區(qū)域內(nèi)計(jì)算機(jī)數(shù)量相當(dāng)?shù)亩鄷r(shí):
      另外一個(gè)情況就是你所負(fù)責(zé)的網(wǎng)域內(nèi)計(jì)算機(jī)數(shù)量相當(dāng)龐大時(shí), 大到你沒有辦法一個(gè)一個(gè)的進(jìn)行說明來設(shè)定他們自己的網(wǎng)絡(luò)參數(shù),這個(gè)時(shí)候?yàn)榱耸÷闊?#xff0c;還是架設(shè) DHCP 來的方便吶!況且,維護(hù)一部你熟悉的 DHCP 主機(jī),要比造訪幾十個(gè)不懂計(jì)算機(jī)的人要簡(jiǎn)單的多哩!^_^


    • 不建議使用 DHCP 主機(jī)的時(shí)機(jī)

    雖然 DHCP 有很多好處,但是你有沒有發(fā)現(xiàn)一個(gè)步驟怪怪的呀!回頭看一下那個(gè)步驟一, 客戶端在開機(jī)的時(shí)候會(huì)主動(dòng)的發(fā)送訊息給網(wǎng)域上的所有機(jī)器,這個(gè)時(shí)候,如果網(wǎng)域上就是沒有 DHCP 主機(jī)呢?很抱歉,那么你的這部客戶端計(jì)算機(jī),『仍然會(huì)持續(xù)的發(fā)送訊息!』 真正的時(shí)間與次數(shù)不曉得會(huì)有多久,不過,肯定會(huì)超過 30 秒以上,?甚至可以達(dá)到一分鐘以上!哇!那么這段時(shí)間你能干嘛?呵呵!除了等、還是等! 所以啰,如果計(jì)算機(jī)數(shù)不多,還是使用手動(dòng)的方式來設(shè)定一下就好了!方便嘛!

    • 在你網(wǎng)域內(nèi)的計(jì)算機(jī),有很多機(jī)器其實(shí)是做為主機(jī)的用途,很少用戶需求,那么似乎就沒有必要架設(shè) DHCP ;
    • 更極端的情況是,像一般家里,只有 3 ~ 4 部計(jì)算機(jī),這個(gè)時(shí)候,架設(shè) DHCP 只能拿來練練功力,事實(shí)上,并沒有多大的效益;
    • 當(dāng)你管理的網(wǎng)域當(dāng)中,大多網(wǎng)絡(luò)卡都屬于老舊的型號(hào),并不支持 DHCP 的協(xié)議時(shí);
    • 很多用戶的信息知識(shí)都很高,那么也沒有需要架設(shè) DHCP 啦。


    如前所述,上面的都是概念性的說法,事實(shí)上,一件事情的解決之道是有很多的方案的, 沒有所謂的『完全正確』的方案,只有『相對(duì)可行、并且符合經(jīng)濟(jì)效益與功能』的方案! 所以啰,架設(shè)任何網(wǎng)站之前,請(qǐng)先多評(píng)估評(píng)估吶!


    12.2 DHCP 服務(wù)器端的設(shè)定

    事實(shí)上,目前市面上的 IP 分享器已經(jīng)便宜到爆了!而 IP 分享器本身就含有 DHCP 的功能。 所以如果你只是想要單純的使用 DHCP 在你的局域網(wǎng)絡(luò)當(dāng)中而已,那么建議你直接購(gòu)買一部 IP 分享器來使用即可, 因?yàn)橹辽偎苁‰姟H绻氵€有其他考慮的話,才來架設(shè) DHCP 吧!底下我們以一個(gè)簡(jiǎn)單的范例來架設(shè) DHCP 先。


    12.2.1 所需軟件與檔案結(jié)構(gòu)

    DHCP 的軟件需求很簡(jiǎn)單,就是只要服務(wù)器端軟件即可,在 CentOS 6.x 上面,這個(gè)軟件的名稱就是 dhcp 啰!如果是默認(rèn)安裝,那么這個(gè)軟件是不會(huì)安裝的,請(qǐng)自行使用 yum 去裝好這個(gè)軟件吧!安裝完畢之后, 你可以使用『 rpm -ql dhcp 』來看看這個(gè)軟件提供了哪些檔案,基本上,比較重要的檔案數(shù)據(jù)如下:

    • /etc/dhcp/dhcpd.conf
      這個(gè)就是 dhcp 服務(wù)器的主要配置文件咯!在某些 Linux 版本上頭這個(gè)檔案可能不存在,所以如果你確定有安裝 dhcp 軟件卻找不到這個(gè)檔案時(shí),請(qǐng)手動(dòng)自行建立它即可。
      Tips:
      其實(shí) dhcp 軟件在釋出的時(shí)候都會(huì)附上一個(gè)范例檔案,你可以使用『 rpm -ql dhcp 』來查詢到 dhcpd.conf.sample 這個(gè)范例檔案,然后將該檔案復(fù)制成為 /etc/dhcp/dhcpd.conf 后,再手動(dòng)去修改即可,這樣設(shè)定比較容易啦!
    • /usr/sbin/dhcpd
      啟動(dòng)整個(gè) dhcp daemon 的執(zhí)行檔啊!其實(shí)最詳細(xì)的執(zhí)行方式應(yīng)該要使用『 man dhcpd 』來查閱一番的呢!^_^

    • /var/lib/dhcp/dhcpd.leases
      這檔案頗有趣的!我們前面原理部分不是有提到『租約』嗎?DHCP 服務(wù)器端與客戶端租約建立的啟始與到期日就是記錄在這個(gè)檔案當(dāng)中的咯!

    就跟你說很簡(jiǎn)單吧!整個(gè)軟件數(shù)據(jù)也不過才如此而已呢!


    12.2.2 主要配置文件 /etc/dhcp/dhcpd.conf 的語(yǔ)法

    在 CentOS 5.x 以前,這個(gè)檔案都被放置到 /etc/dhcpd.conf 的,新版的才放置于此處。其實(shí) DHCP 的設(shè)定很簡(jiǎn)單啊,只要將 dhcpd.conf 設(shè)定好就可以啟動(dòng)了。不過編輯這個(gè)檔案時(shí)你必須要留意底下的規(guī)范:

    • 『 # 』為批注符號(hào);
    • 除了右括號(hào) ")" 后面之外,其他的每一行設(shè)定最后都要以『 ; 』做為結(jié)尾!重要!
    • 設(shè)定項(xiàng)目語(yǔ)法主要為:『 <參數(shù)代號(hào)> <設(shè)定內(nèi)容> 』,例如:
      default-lease-time 259200;
    • 某些設(shè)定項(xiàng)目必須以 option 來設(shè)定,基本方式為『 option <參數(shù)代碼> <設(shè)定內(nèi)容> 』例如:
      option domain-name "your.domain.name";

    基本上,我們剛剛前面提過說, DHCP 的 IP 分配可分為給予動(dòng)態(tài) IP 與固定 IP ,其中又需要了解的是,?如果需要設(shè)定固定 IP 的話,那么就必須要知道要設(shè)定成固定 IP 的那部計(jì)算機(jī)的硬件地址 (MAC)?才行,請(qǐng)使用 arp 或 ifconfig 來查知你的接口的 MAC 吧!好了,那么需要設(shè)定的項(xiàng)目有哪些呢? 其實(shí) dhcpd.conf 里頭的設(shè)定主要分為兩大項(xiàng)目,一個(gè)是服務(wù)器運(yùn)作的整體設(shè)定 (Global) 一個(gè)是 IP 設(shè)定模式 (動(dòng)態(tài)或固定), 每個(gè)項(xiàng)目的設(shè)定值大概有底下這幾項(xiàng):


    • 整體設(shè)定 (Global)

    假設(shè)你的 dhcpd 只管理一個(gè)區(qū)段的區(qū)網(wǎng),那么除了 IP 之外的許多網(wǎng)絡(luò)參數(shù)就可以放在整體設(shè)定的區(qū)域中,這包括有租約期限、DNS 主機(jī)的 IP 地址、路由器的 IP 地址還有動(dòng)態(tài) DNS (DDNS) 更新的類型等等。當(dāng)固定 IP 及動(dòng)態(tài) IP 內(nèi)沒有規(guī)范到某些設(shè)定時(shí),則以整體設(shè)定值為準(zhǔn)。這些參數(shù)的設(shè)定名稱為:

    • default-lease-time 時(shí)間
      用戶的計(jì)算機(jī)也能夠要求一段特定長(zhǎng)度的租約時(shí)間,但若使用者沒有特別要求租約時(shí)間的話, 那么就以此為預(yù)設(shè)的租約時(shí)間。后面的時(shí)間參數(shù)默認(rèn)單位為秒;

    • max-lease-time 時(shí)間
      與上面的預(yù)設(shè)租約時(shí)間類似,不過,這個(gè)設(shè)定值是在規(guī)范使用者所能要求的最大租約時(shí)間。也就是說, 使用者要求的租約時(shí)間若超過此設(shè)定值,則以此值為準(zhǔn);

    • option domain-name "領(lǐng)域名"
      如果你在 /etc/resolv.conf 里面設(shè)定了一個(gè)『 search google.com 』的話,這表示當(dāng)你要搜尋主機(jī)名時(shí), DNS 系統(tǒng)會(huì)主動(dòng)幫你加上這個(gè)領(lǐng)域名的意思。

    • option domain-name-servers IP1, IP2
      這個(gè)設(shè)定參數(shù)可以修改客戶端的 /etc/resolv.conf 檔案!就是 nameserver 后面接的那個(gè) DNS IP 啰!特別注意設(shè)定參數(shù)最末尾為『servers』 (有 s 喔);

    • ddns-update-style 類型
      因?yàn)?DHCP 客戶端所取得的 IP 通常是一直變動(dòng)的,所以某部主機(jī)的主機(jī)名與 IP 的對(duì)應(yīng)就很難處理。此時(shí) DHCP 可以透過 ddns (請(qǐng)參考第十章與第十九章 DNS?的說明) 來更新主機(jī)名與 IP 的對(duì)應(yīng)。不過我們這里不談這么復(fù)雜的東西,所以你可以將他設(shè)定為 none 喔

    • ignore client-updates
      與上一個(gè)設(shè)定值較相關(guān),客戶端可以透過 dhcpd 服務(wù)器來更新 DNS 相關(guān)的信息。不過,這里我們也先不談這個(gè), 因此就將它設(shè)定為 ignore (忽略) 了。

    • option routers 路由器的地址
      設(shè)定路由器的 IP 所在,記得那個(gè)『 routers 』要加 s 才對(duì)!


    • IP 設(shè)定模式 (動(dòng)態(tài)或固定)

    由于 dhcpd 主要是針對(duì)局域網(wǎng)絡(luò)來給予 IP 參數(shù)的,因此在設(shè)定 IP 之前,我們得要指定一個(gè)區(qū)網(wǎng)才行。 指定區(qū)網(wǎng)的方式使用如下的參數(shù):

    subnet NETWORK_IP netmask NETMASK_IP { ... }

    我們知道區(qū)網(wǎng)要給予 network / netmask IP 這兩個(gè)參數(shù)才行,例如之前談過的: 192.168.100.0 / 255.255.255.0 這樣的設(shè)定值。 上頭設(shè)定值當(dāng)中, subnet 與 netmask 是關(guān)鍵詞,而大寫部分就填上你的區(qū)網(wǎng)參數(shù)啰。那在括號(hào)內(nèi)還有什么參數(shù)需要設(shè)定的? 那就是到底 IP 是固定的還是動(dòng)態(tài)的設(shè)定啊:

    • range IP1 IP2:
      在這個(gè)區(qū)網(wǎng)當(dāng)中,給予一個(gè)連續(xù)的 IP 群用來發(fā)放成動(dòng)態(tài) IP 的設(shè)定,那個(gè) IP1 IP2 指的是開放的 IP 范圍。 舉例來說,你想要開放 192.168.100.101 到 192.168.100.200 這 100 個(gè) IP 用來作為動(dòng)態(tài)分配,那就是:?range 192.168.100.101 192.168.100.200;

    • host 主機(jī)名 { ... };?
      這個(gè) host 就是指定固定 IP 對(duì)應(yīng)到固定 MAC 的設(shè)定值,那個(gè)主機(jī)名可以自己想想再給予即可。 不過在大括號(hào)內(nèi)就得要指定 MAC 與固定的 IP 啰!那這兩個(gè)設(shè)定值怎么設(shè)定呢?看看底下啰:

      • hardware ethernet 硬件地址
        利用網(wǎng)絡(luò)卡上面的固定硬件地址來設(shè)定,亦即該設(shè)定僅針對(duì)這個(gè)硬件地址有效的意思;

      • fixed-address IP地址
        給予一個(gè)固定的 IP 地址的意思。
    說再多也沒有什么用啦!讓我們實(shí)際來玩一個(gè)案例吧!你就知道該如何處理了。


    12.2.3 一個(gè)局域網(wǎng)絡(luò)的 DHCP 服務(wù)器設(shè)定案例

    假設(shè)我的環(huán)境當(dāng)中,Linux 主機(jī)除了 NAT 服務(wù)器之外還得要負(fù)責(zé)其他服務(wù)器,例如郵件服務(wù)器的支持。 而在后端局域網(wǎng)絡(luò)中則想要提供 DHCP 的服務(wù)。整個(gè)硬件配置的情況就如同第三章的圖 3.2-1所示的內(nèi)部獨(dú)立區(qū)網(wǎng) (centos.vbird 網(wǎng)域)。 需要注意的是,在圖中 Linux Router 有兩塊接口,其中 eth1 對(duì)內(nèi)而 eth0 對(duì)外,至于其他的網(wǎng)絡(luò)參數(shù)設(shè)計(jì)為:

    • Linux 主機(jī)對(duì)內(nèi)的 eth1 的 IP 設(shè)定為 192.168.100.254 這個(gè);
    • 內(nèi)部網(wǎng)段設(shè)定為 192.168.100.0/24 這一段,且內(nèi)部計(jì)算機(jī)的 router 為 192.168.100.254 ,此外 DNS 主機(jī)的 IP 為中華電信的 168.95.1.1 及 Seednet 的 139.175.10.20 這兩個(gè);
    • 我想要讓每個(gè)使用者預(yù)設(shè)租約為 3 天,最長(zhǎng)為 6 天;
    • 只想要分配的 IP 只有 192.168.100.101 到 192.168.100.200 這幾個(gè),其他的 IP 則保留下來;
    • 我還有一部主機(jī),他的 MAC 是『 08:00:27:11:EB:C2 』,我要給他的主機(jī)名為 win7 ,且 IP 為 192.168.100.30 這個(gè) (請(qǐng)對(duì)照?qǐng)D 3.2-1 喔!)。

    那我的配置文件就會(huì)像底下這個(gè)樣子了:

    [root@www ~]# vim /etc/dhcp/dhcpd.conf # 1. 整體的環(huán)境設(shè)定 ddns-update-style none; <==不要更新 DDNS 的設(shè)定 ignore client-updates; <==忽略客戶端的 DNS 更新功能 default-lease-time 259200; <==預(yù)設(shè)租約為 3 天 max-lease-time 518400; <==最大租約為 6 天 option routers 192.168.100.254; <==這就是預(yù)設(shè)路由 option domain-name "centos.vbird"; <==給予一個(gè)領(lǐng)域名 option domain-name-servers 168.95.1.1, 139.175.10.20; # 上面是 DNS 的 IP 設(shè)定,這個(gè)設(shè)定值會(huì)修改客戶端的 /etc/resolv.conf 檔案內(nèi)容# 2. 關(guān)于動(dòng)態(tài)分配的 IP subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.101 192.168.100.200; <==分配的 IP 范圍# 3. 關(guān)于固定的 IP 啊!host win7 {hardware ethernet 08:00:27:11:EB:C2; <==客戶端網(wǎng)卡 MACfixed-address 192.168.100.30; <==給予固定的 IP} } # 相關(guān)的設(shè)定參數(shù)意義,請(qǐng)查詢前一小節(jié)的介紹,或者 man dhcpd.conf

    夠簡(jiǎn)單吧!這樣就設(shè)定好了!你可以復(fù)制上頭的數(shù)據(jù)然后修改一下,讓里頭的 IP 參數(shù)符合你的環(huán)境, 就能夠設(shè)定好你的 DHCP 服務(wù)器了。接下來理論上你就能夠啟動(dòng) dhcp 了。不過,在某些早期的 Linux distribution 上面, 當(dāng)你的 Linux 主機(jī)具有多個(gè)接口時(shí),你的一個(gè)設(shè)定可能會(huì)讓多個(gè)接口同時(shí)來監(jiān)聽,那就可能會(huì)發(fā)生錯(cuò)誤了。

    舉例來說,我們現(xiàn)在的設(shè)定是 192.168.100.0/24 這個(gè)在 eth1 上頭的網(wǎng)域,假設(shè)你還有一個(gè)界面 eth2 在 192.168.2.0/24 好了, 那萬(wàn)一你的 DHCP 同時(shí)監(jiān)聽兩塊接口的話,想一想,如果 192.168.2.0/24 網(wǎng)域的客戶端發(fā)送出 dhcp 封包的要求時(shí), 他會(huì)取得什么 IP ?當(dāng)然是 192.168.100.X !所以啰,我們就得要針對(duì) dhcpd 這個(gè)執(zhí)行文件設(shè)定他監(jiān)聽的接口, 而不是針對(duì)所有的接口都監(jiān)聽啊!你說是吧!^_^!那如何處理呢?在 CentOS (Red Hat 系統(tǒng)) 可以這樣做:

    [root@www ~]# vim /etc/sysconfig/dhcpd DHCPDARGS="eth0"

    不過這個(gè)動(dòng)作在 CentOS 5.x 以后的版本上面已經(jīng)不需要了,因?yàn)樾掳姹镜?dhcp 會(huì)主動(dòng)的分析服務(wù)器的網(wǎng)段與實(shí)際的 dhcpd.conf 設(shè)定, 如果兩者無(wú)法吻合,就會(huì)有錯(cuò)誤提示,人性化多了。 ^_^!接下來我們可以開始啟動(dòng) dhcp 試看看啰!


    12.2.4 DHCP 服務(wù)器的啟動(dòng)與觀察

    開始來啟動(dòng) dhcp 吧!在啟動(dòng)前你得要注意幾件事情喔:

    • 你的 Linux 服務(wù)器網(wǎng)絡(luò)環(huán)境已經(jīng)設(shè)定好,例如 eth1 已經(jīng)是 192.168.100.254;
    • 你的防火墻規(guī)則已經(jīng)處理好,例如:(1)放行內(nèi)部區(qū)網(wǎng)的聯(lián)機(jī)、(2)iptables.rule 的 NAT 服務(wù)已經(jīng)設(shè)定妥當(dāng);

    另外你要注意的是:dhcpd 使用的埠口是 port 67 ,并且啟動(dòng)的結(jié)果會(huì)記錄在 /var/log/messages 檔案內(nèi),你最好能去觀察一下 /var/log/messages 所顯示的 dhcpd 相關(guān)信息才好。

    # 1. 啟動(dòng)后觀察一下埠口的變化: [root@www ~]# /etc/init.d/dhcpd start [root@www ~]# chkconfig dhcpd on [root@www ~]# netstat -tlunp | grep dhcp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address PID/Program name udp 0 0 0.0.0.0:67 0.0.0.0:* 1581/dhcpd# 2. 固定去看看登錄文件的輸出信息 [root@www ~]# tail -n 30 /var/log/messages Jul 27 01:51:24 www dhcpd: Internet Systems Consortium DHCP Server 4.1.1-P1 Jul 27 01:51:24 www dhcpd: Copyright 2004-2010 Internet Systems Consortium. Jul 27 01:51:24 www dhcpd: All rights reserved. Jul 27 01:51:24 www dhcpd: For info, please visit https://www.isc.org/software/dhcp/ Jul 27 01:51:24 www dhcpd: WARNING: Host declarations are global. They are not limited to the scope you declared them in. Jul 27 01:51:24 www dhcpd: Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file Jul 27 01:51:24 www dhcpd: Wrote 0 deleted host decls to leases file. Jul 27 01:51:24 www dhcpd: Wrote 0 new dynamic host decls to leases file. Jul 27 01:51:24 www dhcpd: Wrote 0 leases to leases file. Jul 27 01:51:24 www dhcpd: Listening on LPF/eth1/08:00:27:2a:30:14/192.168.100.0/24 Jul 27 01:51:24 www dhcpd: Sending on LPF/eth1/08:00:27:2a:30:14/192.168.100.0/24 ....(以下省略)....

    看到這些資料就是成功的象征啦!尤其是上述有特殊字體的部分。恭喜你啊!真是『福氣啦!』不過, 萬(wàn)一你看到的登錄檔是類似底下的模樣呢?

    Jul 27 01:56:30 www dhcpd: /etc/dhcp/dhcpd.conf line 7: unknown option dhcp.domain-name-server Jul 27 01:56:30 www dhcpd: option domain-name-server#011168. Jul 27 01:56:30 www dhcpd: ^ Jul 27 01:56:30 www dhcpd: /etc/dhcp/dhcpd.conf line 9: Expecting netmask Jul 27 01:56:30 www dhcpd: subnet 192.168.100.0 network Jul 27 01:56:30 www dhcpd: ^ Jul 27 01:56:30 www dhcpd: Configuration file errors encountered -- exiting

    上述的數(shù)據(jù)表示在第 7, 9 行恐怕有點(diǎn)設(shè)定錯(cuò)誤,設(shè)定錯(cuò)誤的地方在行號(hào)底下還有指數(shù)符號(hào) (^) 特別標(biāo)注出來! 由上面的情況來看,第 7 行的地方應(yīng)該是 domain-name-servers 忘了加 s 了,而第 9 行則是參數(shù)下錯(cuò), 應(yīng)該是 netmask 而非 network !這樣了解乎?


    12.2.5 內(nèi)部主機(jī)的 IP 對(duì)應(yīng)

    如果你有仔細(xì)的瞧過第二章的網(wǎng)絡(luò)基礎(chǔ)的話,那么應(yīng)該還會(huì)記得那個(gè)?/etc/hosts (第四章 4.4.1)?會(huì)影響內(nèi)部計(jì)算機(jī)在聯(lián)機(jī)階段的等待時(shí)間吧?那么我現(xiàn)在使用 DHCP 之后,糟糕!我怎么知道哪一部 PC 連上我的主機(jī),那要怎么填寫 /etc/hosts 的內(nèi)容呢?這真是太簡(jiǎn)單了!就將所有可能的計(jì)算機(jī) IP 都加進(jìn)去該檔案呀! ^_^ !以鳥哥為例,在這個(gè)例子中,鳥哥的分配的 IP 至少有 192.168.100.30, 192.168.100.101 ~ 192.168.100.200 ,所以 /etc/hosts 可以寫成:

    [root@www ~]# vim /etc/hosts 127.0.0.1   localhost.localdomain localhost 192.168.100.254 vbird-server 192.168.100.30   win7 192.168.100.101  dynamic-101 192.168.100.102  dynamic-102 ....(中間省略).... 192.168.100.200 dynamic-200

    這樣一來,所有可能連進(jìn)來的 IP 都已經(jīng)有紀(jì)錄了,哈哈!當(dāng)然沒有什么大問題啰! ^_^!不過,?更好的解決方案則是架設(shè)內(nèi)部的 DNS 服務(wù)器,這樣一來,內(nèi)部的其他 Linux 服務(wù)器也不必更改 /etc/hosts 就能夠取得每部主機(jī)的 IP 與主機(jī)名對(duì)應(yīng),那樣就更加妥當(dāng)啦!


    12.3 DHCP 客戶端的設(shè)定

    DHCP 的客戶端可以是 Windows 也可以是 Linux 呢!鳥哥的網(wǎng)域內(nèi)使用三部計(jì)算機(jī),就如圖 3.2-1 所示的那樣。 Linux 與 Windows XP 的設(shè)定方式已經(jīng)分別在第四章與第三章談過了,底下就稍微介紹過而已。至于圖示的部分, 我們主要是以 Windows 7 來做介紹啰。


    12.3.1 客戶端是 Linux

    Linux 的網(wǎng)絡(luò)參數(shù)設(shè)定還記得吧?不記得的話就得要打屁股了!在第四章 (4.2.2)?我們談過自動(dòng)取得 IP 的方式,設(shè)定真的很簡(jiǎn)單:

    [root@clientlinux ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 NM_CONTROLLED=no ONBOOT=yes BOOTPROTO=dhcp <==就是他!指定這一個(gè)就對(duì)了![root@clientlinux ~]# /etc/init.d/network restart

    同時(shí)記得要拿掉預(yù)設(shè)路由的設(shè)定喔!改完之后,就將我們的整個(gè)網(wǎng)絡(luò)重新啟動(dòng)即可 (不要使用 ifdown 與 ifup ,因?yàn)檫€有預(yù)設(shè)路由要設(shè)定!)。請(qǐng)注意,如果你是在遠(yuǎn)程進(jìn)行這個(gè)動(dòng)作, 你的聯(lián)機(jī)『肯定會(huì)掛掉!』,因?yàn)榫W(wǎng)絡(luò)卡被你關(guān)了嘛!呵呵!所以請(qǐng)?jiān)诒緳C(jī)前面才進(jìn)行喔!如果執(zhí)行的結(jié)果有找到正確的 DHCP 主機(jī),那么幾個(gè)檔案可能會(huì)被更動(dòng)喔:

    # 1. DNS 的 IP 會(huì)被更動(dòng)呢!查閱一下 resolv.conf 先: [root@clientlinux ~]# cat /etc/resolv.conf search centos.vbird <==還記得設(shè)定過 domain-name 否? domain centos.vbird <==還記得設(shè)定過 domain-name 否? nameserver 168.95.1.1 <==這就是我們?cè)?dhcpd.conf內(nèi)的設(shè)定值 nameserver 139.175.10.20# 2. 觀察一下路由啦! [root@clientlinux ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.100.254 0.0.0.0 UG 0 0 0 eth0 # 嗯!沒錯(cuò)!路由也被正確的捉到了!OK的啦!# 3. 察看一下客戶端的指令吧! [root@clientlinux ~]# netstat -tlunp | grep dhc Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 0.0.0.0:68 0.0.0.0:* 1694/dhclient # 你沒看錯(cuò)!確實(shí)是有個(gè)小程序在監(jiān)測(cè) DHCP 的聯(lián)機(jī)狀態(tài)吶!# 4. 看一看客戶端租約所記載的信息吧! [root@clientlinux ~]# cat /var/lib/dhclient/dhclient* lease {interface "eth0";fixed-address 192.168.100.101; <==取得的 IP 呦!option subnet-mask 255.255.255.0;option routers 192.168.100.254;option dhcp-lease-time 259200;option dhcp-message-type 5;option domain-name-servers 168.95.1.1,139.175.10.20;option dhcp-server-identifier 192.168.100.254;option domain-name "centos.vbird";renew 4 2011/07/28 05:01:24; <==下一次預(yù)計(jì)更新 (renew) 的時(shí)間點(diǎn)rebind 5 2011/07/29 09:06:36;expire 5 2011/07/29 18:06:36; } # 這個(gè)檔案會(huì)記錄該適配卡所曾經(jīng)要求過的 DHCP 信息喔!重要! # 有沒有看出來,他幾乎就與你設(shè)定的 /etc/dhcp/dhcpd.conf 類似? ^_^

    有沒有發(fā)現(xiàn)其實(shí)你的客戶端取得的數(shù)據(jù)都被記載在 /var/lib/dhclient/dhclient*-eth0.leases 里頭啊? 如果你有多張網(wǎng)卡,那么每張網(wǎng)卡自己的 DHCP 要求就會(huì)被寫入到不同檔名的檔案當(dāng)中去! 觀察該檔案就知道你的數(shù)據(jù)是如何啰!這可也是挺重要的呦!

    Tips:
    你或許會(huì)問說, dhcp 不是都會(huì)隨機(jī)取得 IP 嗎?那為什么這部客戶端 clientlinux.centos.vbird 每次都能夠取得相同的固定 IP 呢? 很簡(jiǎn)單,因?yàn)樯项^的 dhclient-eth0.leases 里面的 fixed-address 指定了想要固定 IP 的選項(xiàng)。如果 DHCP 服務(wù)器的該 IP 沒有被用走,也在規(guī)定的 range 設(shè)定值內(nèi),那就會(huì)發(fā)放給你這個(gè) IP 了。如果你想要不同的 IP 呢? 那就將你想要的 IP 取代上述的設(shè)定值啦!
    例題: 在文獻(xiàn)中談到,如果區(qū)網(wǎng)內(nèi)有多個(gè) DHCP 服務(wù)器 (假設(shè)有 DHCP1, DHCP2),那么每次客戶端對(duì)整個(gè)物理網(wǎng)絡(luò)區(qū)段廣播時(shí),DHCP 服務(wù)器將是先搶先贏的局面。 但是若第一次取得 DHCP1 服務(wù)器的 IP 后,未來重新啟動(dòng)網(wǎng)絡(luò),都只會(huì)取得 DHCP1 的網(wǎng)絡(luò)參數(shù),這是為什么? 答: 看到上述的 dhclient-eth0.leases 客戶端檔案了嗎?因?yàn)槟愕闹鳈C(jī)想要取得上次取得的網(wǎng)絡(luò)參數(shù),因此將會(huì)對(duì) DHCP1 要求網(wǎng)絡(luò)參數(shù)。 如果你想要使用先搶先贏的方式來取得 IP ,或者想要使用 DHCP2 來取得 IP ,那么得要修訂或者刪除 dhclient-eth0.leases 才行。


    12.3.2 客戶端是 Windows

    在 Windows 底下設(shè)定 DHCP 協(xié)議以取得 IP 實(shí)在是很簡(jiǎn)單喔!例如,你可以到第三章的?3.2.2?小節(jié)去瞧瞧如何設(shè)定的擷取圖示。 我們這里以 Windows 7 作為介紹好了。你可以依據(jù)『開始』-->『控制臺(tái)』-->『檢視網(wǎng)絡(luò)狀態(tài)及工作』 -->『變更適配卡設(shè)定』,在出現(xiàn)的圖示中,選擇屬于你的相關(guān)網(wǎng)卡,然后連擊兩下之后,就開始底下的設(shè)定程序:

  • 如上所述,點(diǎn)擊網(wǎng)絡(luò)卡設(shè)定后,會(huì)出現(xiàn)如下圖示:


    圖 12.3-1、局域網(wǎng)絡(luò)的 Windows 7 系統(tǒng)設(shè)定 DHCP 的方式

  • 在圖 12.3-1 的地方按下箭頭所指的『內(nèi)容』處,就會(huì)出現(xiàn)如下畫面啰:


    圖 12.3-2、局域網(wǎng)絡(luò)的 Windows 7 系統(tǒng)設(shè)定 DHCP 的方式

    在上面的畫面當(dāng)中,先點(diǎn)選 TCP/IP4 第四版 IP 協(xié)議,然后按下『內(nèi)容』就可以開始來修改網(wǎng)絡(luò)參數(shù)啰!

  • 接下來如下圖所示,你只要勾選『自動(dòng)取得 IP 地址』那個(gè)項(xiàng)目,然后按下『確定』并離開設(shè)定畫面, 如此一來 Windows 就會(huì)開始自動(dòng)取得 IP 的工作了。


    圖 12.3-3、局域網(wǎng)絡(luò)的 Windows 7 系統(tǒng)設(shè)定 DHCP 的方式

  • 那你如何確認(rèn)你的 IP 已經(jīng)被順利的取得呢?如果是在早期的 Windows 95 ,你可以使用一個(gè)名為『 winipcfg 』 來觀察你的 IP 設(shè)定。不過在 windows 2000 以后,你可能需要使用命令提示字符來觀察才行。你可以使用: 『開始』-->『所有程序』-->『附屬應(yīng)用程序』-->『命令提示字符』來取出終端機(jī),然后這樣處理看看:
    C:\Users\win7> ipconfig /all ....(前面省略).... 以太網(wǎng)絡(luò)卡 區(qū)域聯(lián)機(jī):聯(lián)機(jī)特定 DNS 后綴 . . . . . . . . : centos.vbird描述 . . . . . . . . . . . . . . .: Intel(R) PRO/1000 MT Desktop Adapter實(shí)體地址 . . . . . . . . . . . . .: 08-00-27-11-EB-C2DHCP 已啟用 . . . . . . . . . . . : 是自動(dòng)設(shè)定啟用 . . . . . . . . . . .: 是鏈接-本機(jī) IPv6 地址 . . . . . . . : fe80::ec92:b907:bc2a:a5fa%11(偏好選項(xiàng))IPv4 地址 . . . . . . . . . . . . : 192.168.100.30(偏好選項(xiàng)) <==這是取得的IP子網(wǎng)掩碼 . . . . . . . . . . . .: 255.255.255.0租用取得 . . . . . . . . . . . . .: 2011年7月27日 上午 11:59:18 <==這是租約租用到期 . . . . . . . . . . . . .: 2011年7月30日 上午 11:59:18預(yù)設(shè)網(wǎng)關(guān) . . . . . . . . . . . . .: 192.168.100.254DHCP 服務(wù)器 . . . . . . . . . . . : 192.168.100.254 <==這一部 DHCP 服務(wù)器DNS 服務(wù)器 . . . . . . . . . . . .: 168.95.1.1 <==取得的 DNS139.175.10.20NetBIOS over Tcpip . . . . . . . .: 啟用C:\Users\win7> ipconfig /renew # 這樣可以立即要求更新 IP 信息喔!
    這樣就 OK 的啦!簡(jiǎn)單吧!

  • 12.4 DHCP 服務(wù)器端進(jìn)階觀察與使用

    如果你要管理的是幾十部甚至是幾百部的計(jì)算機(jī)時(shí),你總是希望能夠根據(jù)座位來進(jìn)行 IP 的給予吧?因此,固定 IP 配合 MAC 就顯的很重要啦!那么如何取得每部主機(jī)的 IP 呢?還有,你怎么查詢到相關(guān)的租約呢?以及,如果你還想要進(jìn)行遠(yuǎn)程開機(jī), 幫使用者在固定的時(shí)間就開機(jī)呢?那就來看看底下的其他用途吧!


    12.4.1 檢查租約檔案

    客戶端會(huì)主動(dòng)的紀(jì)錄租約信息,那服務(wù)器端更不能忘記記錄啰!服務(wù)器端是記錄在這個(gè)地方:

    [root@www ~]# cat /var/lib/dhcpd/dhcpd.leases lease 192.168.100.101 {starts 2 2011/07/26 18:06:36; <==租約開始日期ends 5 2011/07/29 18:06:36; <==租約結(jié)束日期tstp 5 2011/07/29 18:06:36;cltt 2 2011/07/26 18:06:36;binding state active;next binding state free;hardware ethernet 08:00:27:34:4e:44; <==客戶端網(wǎng)卡 }

    從這個(gè)檔案里面我們就知道有多少客戶端已經(jīng)向我們申請(qǐng)了 DHCP 的 IP 使用了呢!很容易了解吧!


    12.4.2 讓大量 PC 都具有固定 IP 的腳本

    想一想,如果你有一百臺(tái)計(jì)算機(jī)要管理,每部計(jì)算機(jī)都希望是固定 IP 的情況下,那你要如何處置? 很簡(jiǎn)單,透過 DHCP 的 fixed-address 就行啦!但是,這一百臺(tái)計(jì)算機(jī)的 MAC 如何取得?你要怎么改啦? 難道每部計(jì)算機(jī)都去抄寫,然后再回來設(shè)定 dhcpd.conf 嗎?這也太可怕了吧?既然每部計(jì)算機(jī)最終都得要開機(jī), 那么你在開機(jī)之后,利用手動(dòng)的方法來設(shè)定好每部主機(jī)的 IP 后,在根據(jù)底下的腳本來處理好你的 dhcpd.conf 啰!

    [root@www ~]# vim setup_dhcpd.conf #!/bin/bash read -p "Do you finished the IP's settings in every client (y/n)? " yn read -p "How many PC's in this class (ex> 60)? " num if [ "$yn" = "y" ]; thenfor site in $(seq 1 ${num})dositeip="192.168.100.${site}"allip="$allip $siteip"ping -c 1 -w 1 $siteip > /dev/null 2>&1if [ "$?" == "0" ]; thenokip="$okip $siteip"elseerrorip="$errorip $siteip"echo "$siteip is DOWN"fidone[ -f dhcpd.conf ] && rm dhcpd.conffor site in $allipdopcname=pc$(echo $site | cut -d '.' -f 4)mac=$(arp -n | grep "$site " | awk '{print $3}')echo " host $pcname {"echo " hardware ethernet ${mac};"echo " fixed-address ${site};"echo " }"echo " host $pcname {" >> dhcpd.confecho " hardware ethernet ${mac};" >> dhcpd.confecho " fixed-address ${site};" >> dhcpd.confecho " }" >> dhcpd.confdone fi echo "You can use dhcpd.conf (this directory) to modified your /etc/dhcp/dhcpd.conf" echo "Finished."

    這個(gè)腳本的想法很簡(jiǎn)單,如果你管理的計(jì)算機(jī)都是 Linux 的話,那么先開機(jī)后使用『 ifconfig eth0 YOURIP 』 來設(shè)定對(duì)應(yīng)的 IP ,在鳥哥這個(gè)例子中,我使用的是 192.168.100.X/24 這個(gè)區(qū)段,此時(shí) IP 就設(shè)定好了! 然后在透過上面的腳本跑一次,每部計(jì)算機(jī)的 MAC 與 IP 對(duì)應(yīng)就順利的寫入 dhcpd.conf 啰! 然后你在將它貼上 /etc/dhcp/dhcpd.conf 即可!如果你管理的計(jì)算機(jī)是 Windows 的話, 那使用文字接口下達(dá)『 netsh interface ip set address xxx 』之類的指令來修訂啰!


    12.4.3 使用 ether-wake 實(shí)行遠(yuǎn)程自動(dòng)開機(jī) (remote boot)

    既然已經(jīng)知道客戶端的 MAC 地址了,如果客戶端的主機(jī)符合一些電源標(biāo)準(zhǔn), 并且該客戶端主機(jī)所使用之網(wǎng)絡(luò)卡暨主板支持網(wǎng)絡(luò)喚醒的功能時(shí),我們就可以透過網(wǎng)絡(luò)來讓客戶端計(jì)算機(jī)開機(jī)了。 如果你有一部主機(jī)想要讓他可以透過網(wǎng)絡(luò)來啟動(dòng)時(shí),你必須要在這部客戶端計(jì)算機(jī)上進(jìn)行:

  • 首先你得要在 BIOS 里面設(shè)定『網(wǎng)絡(luò)喚醒』的功能,否則是沒有用的喔!
  • 再來你必須要讓這部主機(jī)接上網(wǎng)絡(luò)線,并且電源也是接通的。
  • 將這部主機(jī)的 MAC 抄下來,然后關(guān)機(jī)等待網(wǎng)絡(luò)喚醒。
  • 接下來請(qǐng)到永遠(yuǎn)開著的主機(jī) DHCP 服務(wù)器上面 (其實(shí)只要任何一部 Linux 主機(jī)均可!) ,安裝 net-tools 這個(gè)軟件后, 就會(huì)取得 ether-wake 這個(gè)指令,這就是網(wǎng)絡(luò)喚醒的主要功能!那該如何使用這個(gè)指令呢?假設(shè)客戶端主機(jī)的 MAC 為 11:22:33:44:55:66 并且與我的服務(wù)器 eth1 相連接好了,那么你想要讓這部主機(jī)被喚醒,就這樣做吧:

    [root@www ~]# ether-wake -i eth1 11:22:33:44:55:66# 更多功能可以這樣查閱喔: [root@www ~]# ether-wake -u

    然后你就會(huì)發(fā)現(xiàn),哈哈!那部客戶端主機(jī)被啟動(dòng)了!以后如果你要連到局域網(wǎng)絡(luò)內(nèi)的話, 只要能夠連上你的防火墻主機(jī),然后透過這個(gè) ether-wake 軟件,就能夠讓你局域網(wǎng)絡(luò)內(nèi)的主機(jī)啟動(dòng)了, 控管上面就更加方便的啦!你說是吧! ^_^

    Tips:
    鳥哥辦公室有一部桌機(jī)是經(jīng)常用來測(cè)試的機(jī)器,但是因?yàn)楸容^耗電,因此當(dāng)鳥哥離開辦公室時(shí),就會(huì)將計(jì)算機(jī)關(guān)閉。 不過鳥哥辦公室有一部 NAT server 在負(fù)責(zé)防火墻的第一道關(guān)卡,當(dāng)鳥哥在家里有需要查詢到學(xué)校桌機(jī)的數(shù)據(jù)時(shí), 桌機(jī)關(guān)了怎辦?沒關(guān)系,透過 NAT server 登入后,使用 ether-wake 喚醒桌機(jī),那就能夠開機(jī)進(jìn)去工作啰! 這樣也比較不怕耗電問題~

    12.4.4 DHCP 與 DNS 的關(guān)系

    我們知道局域網(wǎng)絡(luò)內(nèi)如果很多 Linux 服務(wù)器時(shí),你得要將 private IP 加入到每部主機(jī)的 /etc/hosts 里面, 這樣在聯(lián)機(jī)階段的等待時(shí)間才不會(huì)有逾時(shí)或者是等待太久的問題。問題是,如果計(jì)算機(jī)數(shù)量太大,又有很多測(cè)試機(jī)時(shí), 這時(shí)你得要常常去更新維護(hù)那些重灌過的機(jī)器的 /etc/hosts ,煩不煩吶?

    此時(shí)在區(qū)網(wǎng)內(nèi)架設(shè)一部 DNS 服務(wù)器負(fù)責(zé)主機(jī)名解析就很重要!因此既然已經(jīng)有 DNS 服務(wù)器幫忙進(jìn)行主機(jī)名的解析,那你根本不需要更動(dòng) /etc/hosts !未來的新機(jī)器或者是新灌的計(jì)算機(jī)也不需要改寫任何網(wǎng)絡(luò)參數(shù),這樣維護(hù)會(huì)輕松很多。 因此,一個(gè)好的區(qū)網(wǎng)內(nèi),理論上,我們應(yīng)該在 DHCP 服務(wù)器主機(jī)上面在安裝一個(gè) DNS 服務(wù)器,提供內(nèi)部計(jì)算機(jī)的名稱解析為宜。 相關(guān)的設(shè)定就請(qǐng)參考第十九章 DNS?的介紹啰。


    • DHCP 響應(yīng)速度與有網(wǎng)管 switch 的設(shè)定問題

    鳥哥在昆山信息傳播系 (http://www.dic.ksu.edu.tw) 負(fù)責(zé)五間計(jì)算機(jī)教室的維護(hù),每間計(jì)算機(jī)教室內(nèi)部的 giga switch 是低階的有網(wǎng)管功能的機(jī)器!有網(wǎng)管功能機(jī)器的設(shè)定信息比較多, switch 也能夠進(jìn)行封包異常的偵測(cè)與抵擋。問題是,如果抵擋的行為『太超過』時(shí),也可能造成許多問題。

    鳥哥管理的計(jì)算機(jī)教室在重新啟動(dòng)網(wǎng)絡(luò)取得 DHCP 時(shí),都會(huì)等待幾乎達(dá) 30 秒,雖然最終是成功的,但是等這么久呢! 取得 IP 之后,網(wǎng)絡(luò)速度卻又是正常的,一切沒問題~就是教導(dǎo)網(wǎng)絡(luò)參數(shù)設(shè)定時(shí),學(xué)生都會(huì)哇哇叫!以為失敗了, 有的等了將近一分鐘才告知取得 IP 且為正常...

    后來問了有經(jīng)驗(yàn)的計(jì)中的羅組長(zhǎng),才發(fā)現(xiàn)可能是 switch 的問題。大多在設(shè)定位于『L2 Features』-->『Spanning Tree』-->『STP Port Settings』的子項(xiàng)目之類的字眼,將 STP 之類的埠口都設(shè)定為關(guān)閉 (Disabled) 看看, 鳥哥做完這個(gè)設(shè)定后,DHCP 的取得就順暢了!連帶的網(wǎng)絡(luò)開機(jī)功能也就沒有問題~這部份也提供給大家參考呦!

    Tips:
    網(wǎng)友鞏立偉兄來信談到,STP 主要的目的是在抵擋廣播風(fēng)暴,若偵測(cè)到廣播風(fēng)暴時(shí),該 switch 的埠口會(huì)被停用。 只是啟動(dòng)這個(gè)功能后,會(huì)較緩慢的進(jìn)入運(yùn)作狀態(tài),所以會(huì)產(chǎn)生較慢的情況發(fā)生。較好的 switch 會(huì)支援 RSTP (Rapid spanning tree protocol),速度會(huì)較快一些。感謝朋友提供的信息喔!^_^

    12.5 重點(diǎn)回顧
    • DHCP (Dynamic Host Configuration Protocol) 可以提供網(wǎng)絡(luò)參數(shù)給客戶端計(jì)算機(jī),使其自動(dòng)設(shè)定網(wǎng)絡(luò)的功能;
    • 透過 DHCP 的統(tǒng)一管理,在同一網(wǎng)域當(dāng)中就比較不容易出現(xiàn) IP 沖突的情況發(fā)生;
    • DHCP 可以透過 MAC 的比對(duì)來提供 Static IP (或稱為固定 IP),否則通常提供客戶端 dynamic IP (或稱為動(dòng)態(tài) IP);
    • DHCP 除了 Static IP 與 Dynamic IP 之外,還可以提供租約行為之設(shè)定;
    • 在租約期限到期之前,客戶端 dhcp 軟件即會(huì)主動(dòng)的要求更新 (約 0.5, 0.85 倍租約時(shí)間左右);
    • DHCP 可以提供的 MAC 比對(duì)、Dynamic IP 的 IP 范圍以及租約期限等等,都在 dhcpd.conf 這個(gè)檔案當(dāng)中設(shè)定的;
    • 一般的情況之下,使用者需要自行設(shè)定 dhcpd.leases 這個(gè)檔案,不過,真正的租約檔案記錄是在 /var/lib/dhclient/dhclient-eth0.leases 里面;
    • 如果只是要單純的 DHCP 服務(wù),建議可以購(gòu)買類似 IP 分享器的設(shè)備即可提供穩(wěn)定且低耗電的網(wǎng)絡(luò)服務(wù)。
    • DHCP 服務(wù)與 DNS 服務(wù)的相關(guān)性很高;
    • 若 DHCP 客戶端取得 IP 的速度太慢,或許可以找一下有網(wǎng)管 switch 的 STP 設(shè)定值。

    12.6 本章習(xí)題
    • DHCP 主要的兩種 IP 分配模式為何? 主要的兩種分配模式分別為 Dynamic IP 與 Static IP , Static IP 透過 MAC 的比對(duì),至于 Dynamic IP 則是直接取用網(wǎng)域中尚未被使用到的 IP 來進(jìn)行 Client 端的分配。
    • 在有 DHCP 主機(jī)存在的網(wǎng)域當(dāng)中,且 client 端亦使用 DHCP 來規(guī)劃客戶端的網(wǎng)絡(luò)參數(shù),那么請(qǐng)問,在該網(wǎng)域當(dāng)中,Client 端透過 DHCP 取得 IP 的流程為何?
    • 首先, Client 端會(huì)發(fā)出一個(gè) DHCP 要求封包;
    • server 端接收到要求后,會(huì)主動(dòng)的響應(yīng)信息給 Client ;
    • Client 若接受該 DHCP 主機(jī)所提供的參數(shù),則主機(jī)會(huì)記錄下租約信息,至于 client 端則開始以主機(jī)提供的參數(shù)設(shè)定其網(wǎng)絡(luò)
    • DHCP 是如何發(fā)送 Static IP 的?可以使用何種指令取得該信息? DHCP 主要利用網(wǎng)絡(luò)卡的硬件地址,亦即俗稱的『網(wǎng)絡(luò)卡卡號(hào)』,也就是 MAC 來進(jìn)行 Client 端的比對(duì)的,至于主動(dòng)取得 Client 端的方式,可以透過 ping 以及 arp 來獲得。
    • 在 DHCP 服務(wù)器的租約檔,亦即 /var/lib/dhcpd/dhcpd.leases 當(dāng)中,記錄了什么信息? 這個(gè)檔案主要記錄了 Client 端連上 Server 端的紀(jì)錄數(shù)據(jù),他會(huì)被 DHCP 主機(jī)用來判定與 Client 端的租約行為喔!
    • DHCP 的登錄檔放置于何處? 就是最重要的 /var/log/messages 這個(gè)檔案啦(預(yù)設(shè)狀況下!)

    12.7 參考數(shù)據(jù)與延伸閱讀
    • 注1:在維基百科的 DHCP 相關(guān)說明:
      http://zh.wikipedia.org/zh-tw/DHCP
      http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol
    • 其他可供查閱之?dāng)?shù)據(jù):
      DHCP mini HOWTO:英文版:http://tldp.org/HOWTO/DHCP/index.html
      DHCP mini HOWTO:中文版:http://www.linux.org.tw/CLDP/MiniHOWTO/network/DHCP/
      Internet Software consortium:http://www.isc.org/software/dhcp
      Study Area:http://www.study-area.org/linux/servers/linux_dhcp.htm
      Study Area 網(wǎng)絡(luò)開機(jī)(我本善良兄撰寫):http://www.study-area.org/tips/wol.htm
    from:?http://vbird.dic.ksu.edu.tw/linux_server/0340dhcp.php

    總結(jié)

    以上是生活随笔為你收集整理的鸟哥的Linux私房菜(服务器)- 第十二章、网络参数控管者: DHCP 服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。