歡迎您光臨本站 註冊首頁

[RHEL5企業級Linux服務攻略]--DHCP服務全攻略

←手機掃碼閱讀     火星人 @ 2014-03-29 , reply:0

1 DHCP原理
1.1 DHCP概述
DHCP(Dynamic Host Configuration Protocal)就是動態主機配置協議哈,可以自動配置主機的IP地址、子網掩碼、網關及DNS等TCP/IP信息。所以DHCP可以有效地降低客戶端IP地址配置的複雜度和網路的管理成本。如果路由器能夠轉發DHCP請求,只需要在一個子網中配置DHCP伺服器就可以向其他子網提供TCP/IP配置的服務支持哈~~
1.2 DHCP的應用環境
DHCP主要應用在以下兩個應用環境,一個就是區域網中存在大量主機,第二種就是區域網中存在比較多的移動辦公設備。
1.3 DHCP術語
DHCP伺服器:配置DHCP服務的計算機
DHCP客戶端:啟用DHCP設置的計算機
作用域:一個完整連續的可用IP地址範圍,DHCP服務主要就是通過作用域來管理網路分佈、IP地址分配及其他相關配置參數。
超級作用域:管理級的作用域集合,用於支持同一物理網路上的多個邏輯IP子網。超級作用域包含子作用域的列表,對子作用域進行統一管理。
排除範圍:排除範圍是作用域內從DHCP服務中排除的有限IP地址序列。排除範圍確保在這些範圍中的任何地址都不是由網路上的伺服器提供給DHCP 客戶機的。
地址池:在定義DHCP作用域並應用排除範圍之後,剩餘的地址在作用域內形成可用地址池,也就是作用域中包含的可用IP地址範圍哈,地址池中的地址可以由DHCP伺服器動態分配給DHCP客戶機。
租約:客戶計算機可以使用動態分配的IP地址的時間,這個時間可以由DHCP伺服器設定哈。當向一台客戶機發出租約后,此租約就被看作是活動的,在租約終止前,客戶機可以向DHCP伺服器更新其租約。當租約到期或被伺服器刪除后,它就變成不活動的了,租約持續時間決定了租約什麼時候終止及客戶機隔多久向DHCP伺服器更新其租約。
預約:創建從DHCP伺服器到客戶機的永久地址租約指定,預約可以保證子網上的特定硬體設備總是使用相同的IP地址,這對於遠程訪問網關、DNS伺服器等必須要配置IP地址的計算機非常有用。
選項類型:DHCP伺服器向DHCP客戶機提供租約服務時可以指定的其他客戶機配置參數。典型地這些選項類型由各個作用域啟用和配置。雖然大多數選項都是在RFC2132中預定義了,但若需要的話,我們還是可以使用DHCP管理器定義並添加自定義選項類型。
選項類別:DHCP服務用於進一步提供給客戶機的選項類型的方法。選項類別可以在用戶的DHCP伺服器上配置以提供特定的客戶機支持。當一個選項類別添加到伺服器后,就可以為該類別的客戶機配置提供特定類別的選項類型。
1.4 DHCP工作原理
我們來了解下DHCP的工作原理哈~~
(1)當DHCP客戶機第一次登錄網路時,如果客戶機上沒有任何IP信息設定,它會向網路發出DHCP DISCVER數據包,為保證伺服器能夠接收到請求,數據包源地址設定為0.0.0.0,而目的地址為255.255.255.255,以廣播形式發送DHCP DISCOVER的信息。
(2)當DHCP伺服器監聽到客戶端發出的DHCP DISCOVER廣播后,它會從那些還沒有租出的地址範圍內選擇可用的IP及其他TCP/IP設定以DHCP OFFER數據包的形式發送給客戶機。
(3)如果客戶端收到網路上多台DHCP伺服器的響應,客戶端會挑選最快的一個DHCP OFFER並向網路發送一個DHCP REQUEST廣播封包,告訴所有DHCP伺服器它將使用哪一台伺服器提供的IP地址。同時,客戶端還會向網路發送ARP廣播數據包,查詢網路上面有沒有其他機器使用該IP地址,如果發現該IP地址已經被佔用,客戶端則會發送一個DHCP DECLINE數據包給DHCP伺服器,拒絕接受其DHCP OFFER,並重新發送DHCP REQUEST信息。
注:實際上並不是所有DHCP客戶端都會無條件接受DHCP伺服器的響應,客戶端可以保留自己的一些TCP/IP設定,比如網關、DNS地址等等哈~~~
(4)將地址分配給客戶端后,DHCP伺服器會發送一個DHCP ACK消息,以確認IP租約的正式生效,結束完整的DHCP工作過程。
(5)DHCP客戶端成功地從伺服器取得IP地址之後,一般不需要再發送DHCP DISCOVER信息了,除非其租約已經到期或者IP地址重新設定回0.0.0.0。此時客戶端會直接使用已經租用到的IP地址向為其發此IP地址的DHCP伺服器發出DHCP REQUEST信息,DHCP伺服器會盡量讓客戶端使用原來的IP地址,如果沒有特殊的情況,會直接響應DHCP ACK,允許客戶端繼續使用該IP地址。如果該地址已經失效或者已經被其他主機使用了,伺服器則會響應一個DHCP NACK數據包給客戶端,要求其重新執行DHCP DISCOVER。
注意:客戶端執行DHCP DISCOVER后,如果沒有DHCP伺服器響應客戶端的請求,客戶端會隨機使用169.254.0.0/16網段中的一個IP地址配置本機地址。
2 安裝DHCP服務
2.1 DHCP所需軟體
dhcp-3.0.5-7.el5.i386.rpm
這是DHCP主程序包,包括DHCP服務和中繼代理程序,安裝該軟體包進行相應配置,即可以為客戶機動態分配IP地址及其他TCP/IP信息。
dhcp-devel-3.0.5-7.el5.i386.rpm
這是DHCP伺服器開發工具軟體包,為DHCP開發提供庫文件支持。
dhcpv6-0.10-33.el5.i386.rpm
這是DHCP的IPv6擴展工具,使DHCP伺服器能夠支持IPv6的最新功能,如IPv6地址的動態配置以及IPv6中繼代理等等哈~~
dhcpv6_client-0.10-33.el5.i386.rpm
這是DHCP客戶端IPv6軟體包,幫助客戶端獲取動態IP地址。
2.2 DHCP的安裝
我們先檢測下系統是否已經安裝了DHCP相關軟體哈~:rpm -qa | grep dhcp

我們安裝DHCP主程序包哈~

如果需要我們還可以安裝DHCP伺服器開發工具軟體包和DHCP的IPv6擴展工具

安裝完后我們再查詢下哈~

3 DHCP常規伺服器配置
基本的DHCP伺服器搭建流程:
(1)編輯主配置文件dhcpd.conf,指定IP作用域(指定一個或多個IP地址範圍)。
(2)建立租約資料庫文件。
(3)重新載入配置文件或重新啟動dhcpd服務使配置生效。
DHCP工作流程:

(1)客戶端發送廣播向伺服器申請IP地址。
(2)伺服器收到請求后查看主配置文件dhcpd.conf,先根據客戶端的MAC地址查看是否為客戶端設置了固定IP地址。
(3)如果為客戶端設置了固定IP地址則將該IP地址發送給客戶端。如果沒有設置固定IP地址,則將地址池中的IP地址發送給客戶端。
(4)客戶端收到伺服器回應后,客戶端給於伺服器回應,告訴伺服器已經使用了分配的IP地址。
(5)伺服器將相關租約信息存入資料庫。
3.1 主配置文件dhcpd.conf
1)dhcpd.conf主配置文件組成部分
parameters(參數)
declarations(聲明)
option(選項)

2)dhcpd.conf主配置文件整體框架
dhcpd.conf包括全局配置和局部配置。
全局配置可以包含參數或選項,該部分對整個DHCP伺服器生效。
局部配置通常由聲明部分來表示,該部分僅對局部生效,比如只對某個IP作用域生效哈~
dhcpd.conf文件格式:
#全局配置
參數或選項; #全局生效

#局部配置
聲明 {
參數或選項; #局部生效
}


當DHCP主程序包安裝好後會自動生成主配置文件的範本文件/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample

而在/etc目錄下會建立一個空白的dhcpd.conf主配置文件。


現在我們將範本配置文件複製到/etc目錄下替換掉空白dhcpd.conf主配置文件。

dhcp範本配置文件內容包含了部分參數、聲明以及選項的用法,其中註釋部分可以放在任何位置,並以「#」號開頭,當一行內容結束時,以「;」號結束,大括弧所在行除外哈~~~

可以看出整個配置文件分成全局和局部兩個部分。但是並不容易看出哪些屬於參數,哪些屬於聲明和選項哈~
3.2 常用參數介紹
參數主要用於設置伺服器和客戶端的動作或者是否執行某些任務,比如設置IP地址租約時間、是否檢查客戶端所用的IP地址等等哈~
常見參數使用如下:
(1)ddns-update-style (none|interim|ad-hoc)
作用:定義所支持的DNS動態更新類型。
none:表示不支持動態更新
interim:表示DNS互動更新模式
ad-hoc:表示特殊DNS更新模式

注意:這個選項是必選參數哈,配置文件中必須包含這一個參數並且要放在第一行。
(2)ignore client-updates
作用:忽略客戶端更新

注意:這個參數只能在伺服器端使用。
(3)default-lease-time number(數字)
作用:定義默認IP租約時間

(4)max-lease-time number(數字)
作用:定義客戶端IP租約時間的最大值

注意:(3)、(4)都是以秒為單位的租約時間,該項參數可以作用在全局配置中,也可以作用在局部配置中。
3.3 常用聲明介紹
聲明一般用來指定IP作用域、定義為客戶端分配的IP地址池等等哈~
聲明格式如下:
聲明 {
選項或參數;
}


常見聲明的使用如下:
(1)subnet 網路號 netmask 子網掩碼 {......}
作用:定義作用域,指定子網

注意:網路號必須與DHCP伺服器的網路號相同
(2)range 起始IP地址 結束IP地址
作用:指定動態IP地址範圍

注意:可以在subnet聲明中指定多個range,但多個range所定義IP範圍不能重複哈~
3.4 常用選項介紹
選項通常用來配置DHCP客戶端的可選參數,比如定義客戶端的DNS地址、默認網關等等。選項內容都是以option關鍵字開始滴~
常見選項使用如下:
(1)option routers IP地址
作用:為客戶端指定默認網關

(2)option subnet-mask 子網掩碼
作用:設置客戶端的子網掩碼

(3)option domain-name-servers IP地址
作用:為客戶端指定DNS伺服器地址

注意:(1)、(2)、(3)選項可以用在全局配置中,也可以用在局部配置中。
3.5 租約資料庫文件
租約資料庫文件用於保存一系列的租約聲明,其中包含客戶端的主機名、MAC地址、分配到的IP地址,以及IP地址的有效期等相關信息。這個資料庫文件是可編輯的ASCII格式文本文件。每當發生租約變化的時候,都會在文件結尾添加新的租約記錄。
DHCP剛安裝好后租約資料庫文件dhcpd.leases是個空文件。

當DHCP服務正常運行后就可以使用cat命令查看租約資料庫文件內容了
3.6 應用案例I
技術部有60台計算機,IP地址段為192.168.0.1-192.168.0.254,子網掩碼是255.255.255.0,網關為192.168.0.1,192.168.0.2-192.168.0.30網段地址給伺服器配置,客戶端可以使用的地址段為192.168.0.100-200,其餘剩下的IP地址為保留地址。
定製全局配置和局部配置,局部配置需要把192.168.0.0/24網段聲明出來,然後在該聲明中指定一個IP地址池,範圍為192.168.0.100-192.168.0.200,分配給客戶端使用,最後重新啟動dhcpd服務讓配置生效哈。

配置完后保存退出並重啟dhcpd服務

現在我們測試下:

查看租約資料庫文件
cat /var/lib/dhcpd/dhcpd.leases

3.7 DHCP的啟動與停止
(1)DHCP服務啟動
services dhcpd start
/etc/rc.d/init.d/dhcpd start
(2)DHCP服務停止
services dhcpd stop
/etc/rc.d/init.d/dhcpd stop
(3)DHCP服務重啟
services dhcpd restart
/etc/rc.d/init.d/dhcpd restart
(4)DHCP服務重啟
services dhcpd reload
/etc/rc.d/init.d/dhcpd reload
(5)自動載入DHCP服務
1)chkconfig
運行級別3自動載入dhcpd服務
chkconfig --level 3 dhcpd .
運行級別3關閉自動載入dhcpd服務
chkconfig --level 3 dhcpd off
2) ntsysv
選中就自動載入dhcpd服務哈~

3.8 IP地址綁定
在DHCP中的IP地址綁定用於給客戶端分配固定IP地址。比如伺服器需要使用固定IP地址就可以使用IP地址綁定,通過MAC地址與IP地址的對應關係為指定的物理地址計算機分配固定IP地址。
整個配置過程需要用到host聲明和hardware、fixed-address參數。
(1)host 主機名 {......}
作用:用於定義保留地址

注意:該項通常搭配subnet聲明使用。
(2)hardware 類型 硬體地址
作用:定義網路介面類型和硬體地址。常用類型為乙太網(ethernet),地址為MAC地址。

(3)fixed-address IP地址
作用:定義DHCP客戶端指定的IP地址。

注意:(2)、(3)項只能應用於host聲明中。
3.9 應用案例II
技術部有200台計算機,採用192.168.8.0/24網段給技術部使用,路由器IP地址為192.168.8.1,DNS伺服器IP地址為192.168.8.2,DHCP伺服器為192.168.8.3,客戶端地址範圍為192.168.8.30-192.168.8.254,子網掩碼為255.255.255.0,技術總監CIO使用的固定IP地址為192.168.8.88,部門經理使用的固定IP地址為192.168.8.66。
要保證使用固定IP地址的話,就要在subnet聲明中嵌套host聲明,目的是要單獨為總監和經理的主機設置固定IP地址,並在host聲明中加入IP地址和MAC地址綁定的選項以申請固定IP地址。
(1)編輯主配置文件dhcpd.conf

(2)重啟dhcpd服務
service dhcpd restart

(3)測試驗證


4 DHCP高級伺服器配置
4.1 DHCP規劃
(1)小型網路DHCP伺服器

如果公司規模比較小,只有幾台計算機聯網,綜合考慮到管理複雜程度和維護成本的因素,我們完全可以不採用DHCP而直接手動配置IP地址哈,如果網路規模在幾十台計算機並且網路拓撲結構簡單,採用DHCP伺服器就是個不錯的選擇,我們可以修改dhcpd.conf主配置文件來實現,同時請注意以下兩點哈~~~
1)DHCP伺服器硬體設備選擇
DHCP伺服器需要長時間運行,所以需要選擇性能穩定的計算機來搭建。
2)計算機IP獲取方式規劃
確定哪些計算機需要採用動態IP地址配置,哪些計算機、伺服器及網路設備採用靜態IP地址來配置
(2)大型網路DHCP伺服器
如果網路存在較多計算機,為了管理和維護的方便,我們應該配置DHCP伺服器來動態分配IP地址,對於大型網路DHCP搭建考慮的因素就要更加全面和周到。

1)DHCP伺服器位置
客戶端在第一次獲取IP地址時發送DHCP DISCOVER消息採用廣播形式,這樣會造成網路帶寬的浪費,並且如果在一段時間內沒有接到DHCP伺服器的回應,客戶端會繼續發送DHCP DISCOVER消息,這樣會繼續增加網路的負擔。所以為了提高DHCP伺服器的響應時間,搭建DHCP伺服器要選擇適當的接入位置,盡量使用伺服器連接網路核心設置,在上圖大型企業網路拓撲中DHCP伺服器就直接連接企業網路中的核心交換機哈~
2)DHCP伺服器作用域設置
企業中部門職能不同,相應的需求也不相同,管理員需要按照企業的實際需求,設計作用域並進行租約、網關及IP範圍的劃分。比如銷售部人員就一般使用筆記本等移動設備,因業務需要會比較頻繁地出差,那麼銷售部的計算機會不斷接入或脫離企業網路,如果IP租約設置過長,移動設備申請並且暫不使用的IP地址無法得到釋放,會導致網路中IP資源短缺,所以需要合理規劃DHCP伺服器的設置。關於大型網路的DHCP配置方法可以參考4.2 DHCP多作用域設置哈~
(3)跨路由網路DHCP伺服器

對於大型網路來說DHCP伺服器是不可或缺的,如果網路內部劃分多個子網並採用路由器進行連接。因為廣播數據包無法穿越路由器,所以默認情況下,一個子網內的客戶機無法向其他子網的DHCP伺服器發送請求,所以需要為每個子網搭建一台DHCP伺服器,顯然這樣會增加硬體成本哈。因此我們可以搭建一台DHCP伺服器,同時在連接多個子網的路由器上設置DHCP中繼代理就可以利用路由器轉發DHCP消息,所有計算機能夠通過DHCP伺服器獲取TCP/IP信息,具體配置可以參考4.3 DHCP中繼代理哈~~~
配置存在路由的網路需要注意兩點:
1)存在DHCP伺服器
一個物理網路被劃分為多個邏輯子網,在所有子網中必須存在一台DHCP伺服器能夠提供TCP/IP信息分配服務。
2)路由器中繼代理設置
路由器默認並不轉發廣播數據包,為了能夠轉送DHCP DISCOVER消息,必須要在路由器上配置DHCP中繼代理。
(4)80/20規則
對於一個物理網路而言,搭建一台DHCP伺服器已經可以實現動態IP地址分配,但還是存在不穩定因素,如果一旦僅有的DHCP伺服器崩潰,那麼客戶機將無法獲取IP地址。如果我們選擇安裝多台DHCP伺服器,然而DHCP伺服器之間沒有監督機制,無法保證分配地址沒有衝突。
因此我們需要合理劃分DHCP伺服器的地址池,防止為客戶端分配重複的地址。考慮到網路的穩定性,可以選擇兩台DHCP伺服器,採用80/20規則劃分DHCP伺服器的作用域,一台DHCP伺服器作為主伺服器,管理80%的網路IP地址,另一台DHCP伺服器作為輔助伺服器,包含剩餘20%的網路地址。日常工作中,分配TCP/IP信息由主DHCP伺服器完成,在該伺服器不可用時,輔助DHCP伺服器才開始工作。此規則適用於多子網的網路拓撲結構,我們可以根據具體需求進行伺服器規劃。
4.2 DHCP多作用域設置
DHCP伺服器使用單一的作用域,大部分時間能夠滿足網路的需求,但是有些特殊情況下,按照網路規劃我們需要配置多作用域。
網路中如果計算機和其他設備數量增加,IP地址需要進行擴容才能滿足需求。小型網路可以對所有設備重新分配IP地址,其網路內部客戶機和伺服器數量較少,實現起來比較簡單。但如果是一個大型網路,重新配置整個網路的IP地址是不明智的,如果操作不當,可能會造成通信暫時中斷以及其他網路故障。我們可以通過多作用域的設置,即DHCP伺服器發布多個作用域實現IP地址增容的目的。
公司IP地址規劃為192.168.2.0/24網段,可以容納254台設備,使用DHCP伺服器建立一個192.168.2.0網段的作用域,動態管理網路IP地址,但網路規模擴大到500台機器,顯然一個C類網的地址無法滿足要求了。這時,可以再為DHCP伺服器添加一個新作用域,管理分配192.168.3.0/24網段的IP地址,為網路增加254個新的IP地址,這樣既可以保持原有IP地址的規劃,又可以擴容現有的網路IP地址。
(1)簡單實現DHCP多作用域
對於多作用域的配置,必須保證DHCP伺服器能夠偵聽所有子網客戶機的請求信息,下面將講解配置多作用域的基本方法,為DHCP添加多個網卡連接每個子網,併發布多個作用域的聲明。
注意:劃分子網時,如果選擇直接配置多作用域實現動態IP分配的任務,則必須要為DHCP伺服器添加多塊網卡,並配置多個IP地址,否則DHCP伺服器只能分配與其現有網卡IP地址對應網段的作用域。
採用雙網卡實現兩個作用域

1)網卡配置IP地址
DHCP伺服器有多塊網卡時,需要使用ifconfig命令為每塊網卡配置獨立的IP地址,但要注意,IP地址配置的網段要與DHCP伺服器發布的作用域對應哈~
ifconfig eth0 192.168.2.1 netmask 255.255.255.0
ifconfig eth1 192.168.3.1 netmask 255.255.255.0

2)編輯dhcpd.conf主配置文件
當DHCP伺服器網路環境搭建完畢后,我們可以編輯dhcpd.conf主配置文件完成多作用域的設置。
ddns-update-style none;
ignore client-updates;
subnet 192.168.2.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.2.2;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.2.50 192.168.2.250;
default-lease-time 21600;
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
subnet 192.168.3.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.3.1;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.2.2;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.3.50 192.168.3.250;
default-lease-time 21600;
max-lease-time 43200;
max-lease-time 43200;
}

保存退出哈~
3)測試驗證
重啟DHCP服務后檢查系統日誌,檢測配置是否成功,使用tail命令動態顯示日誌信息。
tail -F /etc/log/messages

經過設置,對於DHCP伺服器將通過eth0和eth1兩塊網卡偵聽客戶機的請求,併發送相應的回應。
Jan 19 16:02:51 rhel5 dhcpd: DHCPDISCOVER from 00:19:21:bd:a3:da via eth1
Jan 19 16:02:51 rhel5 dhcpd: DHCPDISCOVER from 00:19:21:bd:a3:da via eth0
Jan 19 16:02:52 rhel5 dhcpd: DHCPOFFER . 192.168.3.250 to 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:52 rhel5 dhcpd: DHCPOFFER . 192.168.2.250 to 00:19:21:bd:a3:da (mis) via eth0
Jan 19 16:02:52 rhel5 dhcpd: DHCPREQUEST for 192.168.3.250 (192.168.3.1) from 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:52 rhel5 dhcpd: DHCPACK . 192.168.3.250 to 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:52 rhel5 dhcpd: DHCPREQUEST for 192.168.3.250 (192.168.3.1) from 00:19:21:bd:a3:da (mis) via eth0: ignored (not authoritative).
Jan 19 16:02:53 rhel5 dhcpd: DHCPDISCOVER from 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:53 rhel5 dhcpd: DHCPOFFER . 192.168.3.250 to 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:53 rhel5 dhcpd: DHCPDISCOVER from 00:19:21:bd:a3:da (mis) via eth0
Jan 19 16:02:53 rhel5 dhcpd: DHCPOFFER . 192.168.2.250 to 00:19:21:bd:a3:da (mis) via eth0
Jan 19 16:02:53 rhel5 dhcpd: DHCPREQUEST for 192.168.3.250 (192.168.3.1) from 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:53 rhel5 dhcpd: DHCPACK . 192.168.3.250 to 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:53 rhel5 dhcpd: DHCPREQUEST for 192.168.3.250 (192.168.3.1) from 00:19:21:bd:a3:da (mis) via eth0: ignored (not authoritative).
Jan 19 16:02:54 rhel5 dhcpd: DHCPDISCOVER from 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:54 rhel5 dhcpd: DHCPOFFER . 192.168.3.250 to 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:54 rhel5 dhcpd: DHCPDISCOVER from 00:19:21:bd:a3:da (mis) via eth0
Jan 19 16:02:54 rhel5 dhcpd: DHCPOFFER . 192.168.2.250 to 00:19:21:bd:a3:da (mis) via eth0
Jan 19 16:02:54 rhel5 dhcpd: DHCPREQUEST for 192.168.3.250 (192.168.3.1) from 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:54 rhel5 dhcpd: DHCPACK . 192.168.3.250 to 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:54 rhel5 dhcpd: DHCPREQUEST for 192.168.3.250 (192.168.3.1) from 00:19:21:bd:a3:da (mis) via eth0: ignored (not authoritative).
Jan 19 16:02:55 rhel5 dhcpd: DHCPDISCOVER from 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:55 rhel5 dhcpd: DHCPOFFER . 192.168.3.250 to 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:55 rhel5 dhcpd: DHCPDISCOVER from 00:19:21:bd:a3:da (mis) via eth0
Jan 19 16:02:55 rhel5 dhcpd: DHCPOFFER . 192.168.2.250 to 00:19:21:bd:a3:da (mis) via eth0
Jan 19 16:02:55 rhel5 dhcpd: DHCPREQUEST for 192.168.3.250 (192.168.3.1) from 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:55 rhel5 dhcpd: DHCPACK . 192.168.3.250 to 00:19:21:bd:a3:da (mis) via eth1
Jan 19 16:02:55 rhel5 dhcpd: DHCPREQUEST for 192.168.3.250 (192.168.3.1) from 00:19:21:bd:a3:da (mis) via eth0: ignored (not authoritative).


(2)DHCP超級作用域功能及實現
對於多作用域設置,使用多網卡的方式,雖然可以達到擴展可用IP地址範圍的目的,但會增加網路拓撲的複雜性,並加大維護的難度。而如果想保持現有網路的結構,並實現網路擴容,可以選擇採用超級作用域。
超級作用域是DHCP伺服器的一種管理功能,使用超級作用域可以將多個作用域組合為單個管理實體,進行統一的管理操作。
使用超級作用域,DHCP伺服器能夠具備以下功能:

通過這種方式,DHCP伺服器可為單個物理網路上的客戶機提供多個作用域的租約。
支持DHCP和BOOTP中繼代理,能夠為遠程DHCP客戶端分配TCP/IP信息,搭建DHCP伺服器時,可以根據網路部署需求,選擇使用超級作用域。
現有網路IP地址有限,而且需要向網路添加更多的計算機,最初的作用域無法滿足要求,需要使用新的IP地址範圍擴展地址空間。
客戶端需要從原有作用域遷移到新作用域;當前網路對IP地址進行重新規劃,使客戶端變更使用的地址,使用新作用域聲明的IP地址。
關於超級作用域的配置,在dhcpd.conf配置文件中有固定格式
shared-network 超級作用域名稱 { #作用域名稱,標示超級作用域

[參數]
#該參數對所有子作用域有效,可以不配置
subnet 子網編號 netmask 子網掩碼 {
[參數]
[聲明]
}
}


企業內部建立DHCP伺服器,網路規劃採用單作用域的結構,使用192.168.0.0/24網段的IP地址。隨著公司規模擴大,設備數量增多,現有的IP地址無法滿足網路的需求,需要添加可用的IP地址。這時我們可以使用超級作用域完成增加IP地址的目的,在DHCP伺服器上添加新的作用域,使用192.168.8.0/24網段擴展網路地址的範圍。

修改dhcpd.conf配置文件,建立超級作用域並添加新作用域。

檢測配置文件:dhcpd

重啟dhcpd服務

使用cat命令查看系統日誌

DHCP伺服器啟用超級作用域后,將會在其網路介面上根據超級作用域的設置,偵聽併發送多個子網的信息。使用單塊網卡就可以完成多個作用域的IP地址管理工作。想比多網卡實現多作用域的設置,能夠不改變當前網路拓撲結構,輕鬆完成IP地址的擴容。

注意:DHCP伺服器啟用超級作用域能夠方便地為網路中的客戶機提供分配IP地址的服務,但是超級作用域可能由多個作用域組成,那麼分配給客戶機的IP地址也可以並不在同一個網段,這個時候,這些客戶機互相訪問和訪問外網就成了問題,我們可以對網關配置多個IP地址,並在每個作用域中設置對應的網關IP地址,就可以使用客戶機通過網關與其他不在同一網段的計算機進行通信哈~
4.3 DHCP中繼代理
在ISC DHCP軟體中提供的中繼代理程序為dhcrelay,通過簡單的配置就可以完成DHCP的中繼設置,啟動dhcrelay的方式為將DHCP請求中繼到指定的DHCP伺服器。
dhcrelay命令格式:
開戶所有網路介面的DHCP中繼功能,轉發到指定DHCP伺服器
dhcrelay DHCP伺服器地址
開啟指定網路介面的DHCP中繼功能
dhcrelay -i 網卡 DHCP伺服器地址
公司內部存在兩個子網,分別為192.168.2.0/24,192.168.3.0/24,現在需要使用一台DHCP伺服器為這兩個子網客戶機分配IP地址。

(1)配置DHCP伺服器
配置DHCP伺服器IP地址

DHCP伺服器位於LAN1,需要為LAN1和LAN2的客戶機分配IP地址,也就是申明兩個網段,這裡可以建立兩個作用域,聲明192.168.2.0/24和192.168.3.0/24網段。

(2)配置DHCP中繼代理
1)配置網卡IP地址
根據網路拓撲圖設置DHCP伺服器網卡IP地址

2)啟用中繼代理
在DHCP中繼代理計算機上安裝dhcp-3.0.5-7.el5.i386.rpm軟體包。

中繼代理計算機默認不轉發DHCP客戶機的請求,需要使用dhcrelay指定DHCP伺服器的位置。

(3)客戶端測試驗證
在LAN2中選擇客戶機測試能否正常獲取DHCP伺服器的IP地址。
DHCP伺服器端日誌信息

LAN2中guest客戶端獲取IP地址。

LAN1客戶端獲取IP地址時DHCP伺服器端日誌信息。

LAN1中客戶端獲取IP地址。

注意:當有多台DHCP伺服器時,把DHCP伺服器放在不同子網上能夠取得一定的容錯能力,而不是把所有DHCP伺服器都放在同一子網上。這些伺服器在它們的作用域中不應有公共的IP地址(每台伺服器都有獨立唯一的地址池哈~)。當本地的DHCP伺服器崩潰時,請求就轉發到遠程子網。遠程子網中的DHCP伺服器如果有所請求子網的IP地址作用域(每台DHCP伺服器都有每個子網的地址池,但IP範圍不重複),它就響應DHCP請求,能在遠程客戶機自己的DHCP伺服器離線時向其提供IP地址。
5 DHCP客戶端配置
5.1 Linux客戶端配置
配置Linux客戶端需要修改網卡配置文件,將BOOTPROTO項設置為BOOTPROTO=dhcp。
(1)將BOOTPROTO=none修改為BOOTPROTO=dhcp,啟用客戶端DHCP功能。
vim /etc/sysconfig/network-.s/ifcfg-eth0

(2)重新啟動網卡或者使用dhclient命令
ifdown eth0;ifup eth0

使用dhclient命令則重新發送廣播申請IP地址:dhclient eth0

(3)使用ifconfig命令測試

客戶端IP地址已經由原來的192.168.8.88改為192.168.3.250哈~
5.2 Windows客戶端配置
windows客戶端沒什麼好講的,這個比較簡單,設置兩個自動獲得就可以了哈~

釋放IP地址:ipconfig /release

重新申請IP地址:ipconfig /renew

6 DHCP服務配置排錯
6.1 dhcpd

檢查后發現沒有18行代碼沒有以「;」結尾哈

修改後提示「There's already a DHCP server running.」

配置文件錯誤並不是唯一導致dhcpd服務無法啟動的原因,如果網卡介面配置錯誤也可能導致服務啟動失敗。

提示沒有為eth0(192.168.100.188)設置子網聲明,沒有配置任何介面進行偵聽哈,我們只要更改網卡IP地址就可以了哈~~~
6.2 租約文件
一定要確保租約文件存在哈,否則無法啟動dhcpd服務,如果租約文件不存在,我們可以手動建立一個哈~
6.3 ping
DHCP設置完后,重啟dhcp服務使配置生效,如果客戶端仍然無法連接DHCP伺服器,我們可以使用ping命令測試網路連通性哈~
6.4 MULTICAST
如果網路正常,DHCP伺服器配置正確,但是還是無法獲得IP地址等信息的話,很可以是因為DHCP伺服器的網卡沒有開啟MULTICAST(多點傳送)功能。只要在該網卡上開啟MULTICAST(多點傳送)功能即可。
創建一個到地址255.255.255.255的路由,加這條路由命令到/etc/rc.d/rc.local使得每次啟動后自動運行。

如果提示「255.255.255.255:Unkown host」,那麼我們需要修改/etc/hosts文件,並添加一條主機記錄。
255.255.255.255後面為主機名,主機名沒有特別約束,只要是合法的主機名就可以了哈~

注意:可以編輯/etc/rc.d/rc.local文件,添加route add -host 255.255.255.255 dev eth0條目使多點傳送功能長久生效哈~

6.5 查看系統日誌
不管什麼服務哈,查看系統日誌都是必不可少滴,這是個好習慣哈。如果遇到的問題沒有我沒有提到哈,當然,每種可能性問題我也不可能都說全哈,那麼查看系統日誌文件/etc/log/messages看看,說不定問題的答案就在裡面哈~~~

[火星人 ] [RHEL5企業級Linux服務攻略]--DHCP服務全攻略已經有768次圍觀

http://coctec.com/docs/linux/show-post-200119.html