【Linux操作系統(tǒng)】第章動態(tài)主機配置協(xié)議DHCP
《【Linux操作系統(tǒng)】第章動態(tài)主機配置協(xié)議DHCP》由會員分享,可在線閱讀,更多相關《【Linux操作系統(tǒng)】第章動態(tài)主機配置協(xié)議DHCP(94頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、LinuxLinux操作系統(tǒng)操作系統(tǒng) 第第9章章 動態(tài)主機配置協(xié)議動態(tài)主機配置協(xié)議DHCP 9.1 DHCP簡介簡介 9.2 DHCP的配置的配置 9.3 DHCP效勞器的高級配置效勞器的高級配置 9.4 DHCP故障排除故障排除 習題習題 LinuxLinux操作系統(tǒng)操作系統(tǒng) 9.1 DHCP 簡簡 介介 9.1.1 為什么需要為什么需要DHCP TCP/IP協(xié)議目前已經(jīng)成為互聯(lián)網(wǎng)的公用通信協(xié)議,在局域網(wǎng)上也是必不可少的協(xié)議。用TCP/IP協(xié)議進行通信時,每一臺計算機(主機)都必須擁有一個IP地址用于在網(wǎng)絡上標識自己。如果IP地址的設置是由系統(tǒng)管理員在每一臺計算機上手工進行設置,把它設定為一
2、個固定的IP地址時,就稱為靜態(tài)IP地址。LinuxLinux操作系統(tǒng)操作系統(tǒng) 設定靜態(tài)的IP地址是常見的方法之一,但在許多場合并不適用。如果網(wǎng)絡的規(guī)模較大,系統(tǒng)管理員給每一臺計算機分配IP地址的工作量就會很大,而且常常因為用戶不遵守規(guī)那么而會出現(xiàn)錯誤,例如:導致IP地址的沖突等。在把大批計算機從一個網(wǎng)絡移動到另一個網(wǎng)絡或者改變部門計算機所屬子網(wǎng)時,同樣存在改變IP地址的工作量大的問題。隨著筆記本電腦的普及,移動辦公也是大家習以為常的事,當電腦從一個網(wǎng)絡移動到另一網(wǎng)絡時,那么每次移動也需要改變IP地址,并且移動的電腦在每個網(wǎng)絡都需要占用一個IP地址。LinuxLinux操作系統(tǒng)操作系統(tǒng) 我們再來
3、看看IP地址的占用問題。如果某個網(wǎng)絡上有200臺計算機,采用靜態(tài)IP地址時,每臺計算機都需要預留一個IP地址,即共需要200個IP地址。然而這200臺計算機并不同時開機,假設只有20臺計算機同時開機,我們就浪費了180個IP地址。這種情況對于ISP(Internet Service Provider)來說,是一個十分嚴重的問題,如果ISP有100000個用戶,難道需要100000個IP地址不成?因此必須要有方法解決這個問題。DHCP(Dynamic Host Configuration Protocol)就是應這個需求而誕生的。采用DHCP的方法配置計算機IP地址的方案稱為動態(tài)IP地址。Lin
4、uxLinux操作系統(tǒng)操作系統(tǒng) 在動態(tài)IP地址的方案中,每臺計算機并不設定固定的IP地址,而是在計算機開機時才被分配一個IP地址,這臺計算機被稱為DHCP客戶端(DHCP Client)。而負責給DHCP客戶端分配IP地址的計算機稱為DHCP效勞器。也就是說DHCP是采用客戶/效勞器(Client/Server)模式,有明確的客戶端和效勞器角色的劃分。DHCP效勞器在給DHCP客戶分配IP地址(即IP地址租用)的時候,還會有租用時間的限制,超過租用時間時,DHCP效勞器就把這個IP地址回收。LinuxLinux操作系統(tǒng)操作系統(tǒng) 回收的IP地址可以重新分配給另一個DHCP客戶,這樣IP地址就被重
5、復使用,大大提高了IP地址的利用率。移動的計算機在不同的網(wǎng)絡上開機時,將會獲得它所在網(wǎng)絡上的DHCP效勞器分配的有效IP地址,也就不必手工更改IP地址的設置了。由于DHCP客戶是在開機的時候自動獲得IP地址的,因此并不能保證每次獲得的IP地址是相同的。動態(tài)IP地址方案可以減少管理員的工作量是顯而易見的,只要DHCP效勞器正常,IP地址的沖突是不會發(fā)生的。要大批量更改計算機的所在子網(wǎng)或其他IP參數(shù),只要在DHCP效勞器上進行即可。LinuxLinux操作系統(tǒng)操作系統(tǒng) 9.1.2 BOOTP引導程序協(xié)議引導程序協(xié)議 DHCP是對是對BOOTP的擴展,所以我們要先介紹的擴展,所以我們要先介紹BOOT
6、P(BOOTstrap Protocol)。BOOTP也稱為自舉協(xié)也稱為自舉協(xié)議,它使用議,它使用UDP來使一個工作站自動獲取配置信息。來使一個工作站自動獲取配置信息。為了獲取配置信息,協(xié)議軟件播送一個為了獲取配置信息,協(xié)議軟件播送一個BOOTP請請求報文,收到請求報文的求報文,收到請求報文的BOOTP效勞器查找出發(fā)出請效勞器查找出發(fā)出請求的計算機的各項配置信息求的計算機的各項配置信息(如如IP地址、默認路由地址、地址、默認路由地址、子網(wǎng)掩碼等子網(wǎng)掩碼等),將配置信息放入一個,將配置信息放入一個BOOTP應答報文,應答報文,并將應答報文返回給發(fā)出請求的計算機。并將應答報文返回給發(fā)出請求的計算機
7、。LinuxLinux操作系統(tǒng)操作系統(tǒng) 這樣,一臺計算機就獲得了所需的配置信息。由于計算機發(fā)送BOOTP請求報文時還沒有IP地址,因此它會使用全播送地址作為目的地址,而使用全“0作為源地址,BOOTP效勞器可使用播送(Broadcast)將應答報文返回給計算機,或使用收到的播送幀上的MAC地址進行單播(Unicast)。LinuxLinux操作系統(tǒng)操作系統(tǒng) 但是,BOOTP設計用于相對靜態(tài)的環(huán)境,管理人員創(chuàng)立一個BOOTP配置文件,該文件定義了每一個主機的一組BOOTP參數(shù)。配置文件只能提供主機標識符到主機參數(shù)的靜態(tài)映射,如果主機參數(shù)沒有要求變化,BOOTP的配置信息通常保持不變。配置文件不能
8、快速更改,此外管理員必須為每一主機分配一個IP地址,并對效勞器進行相應的配置,使它能夠理解從主機到IP地址的映射。由于BOOTP是靜態(tài)配置IP地址和IP參數(shù)的,不可能充分利用IP地址和減少配置的工作量,因此有必要引入自動機制。LinuxLinux操作系統(tǒng)操作系統(tǒng) 9.1.3 DHCP動態(tài)主機配置協(xié)議動態(tài)主機配置協(xié)議 DHCP是對是對BOOTP的擴充,此協(xié)議從兩個方面對的擴充,此協(xié)議從兩個方面對BOOTP進行有力的擴充。第一,進行有力的擴充。第一,DHCP可使計算機通可使計算機通過一個消息獲取它所需要的配置信息,例如,一個過一個消息獲取它所需要的配置信息,例如,一個DHCP報文除了能獲得報文除了
9、能獲得IP地址,還能獲得子網(wǎng)掩碼、地址,還能獲得子網(wǎng)掩碼、網(wǎng)關等。第二,網(wǎng)關等。第二,DHCP允許計算機快速動態(tài)獲取允許計算機快速動態(tài)獲取IP地地址,為了使用址,為了使用DHCP的動態(tài)地址分配機制,管理員必的動態(tài)地址分配機制,管理員必須配置須配置DHCP效勞器使得它能夠提供一組效勞器使得它能夠提供一組IP地址。任地址。任何時候一旦有新的計算機連到網(wǎng)絡上,新的計算機與何時候一旦有新的計算機連到網(wǎng)絡上,新的計算機與效勞器聯(lián)系,并申請一個效勞器聯(lián)系,并申請一個IP地址。效勞器從管理員指地址。效勞器從管理員指定的定的IP地址中選擇一個地址,并將它分配給該計算機。地址中選擇一個地址,并將它分配給該計算機
10、。LinuxLinux操作系統(tǒng)操作系統(tǒng) DHCP允許有三種類型的地址分配。第一種,和BOOTP類似,DHCP允許手工配置,管理員可為特定的某個計算機配置特定的地址。第二種,管理員可為第一次連接到網(wǎng)絡的計算機分配一個固定的地址。第三種,DHCP允許完全動態(tài)配置,效勞器可使計算機在一段時間內(nèi)“租用一個地址。LinuxLinux操作系統(tǒng)操作系統(tǒng) 動態(tài)地址分配是DHCP的最重要和新穎的功能,與BOOTP所采用的靜態(tài)分配地址不同的是,動態(tài)IP地址的分配不是一對一的映射,效勞器不能預先知道客戶機的身份。我們通過配置DHCP效勞器使得任意一個主機都可以獲得IP地址并開始通信。為了使自動配置成為可能,DHCP
11、效勞器一開始就擁有網(wǎng)絡管理員交給它的一組IP地址,管理員定義效勞器操作的規(guī)定,DHCP客戶機通過與效勞器交換信息協(xié)商IP地址的使用。在交換中,效勞器為客戶機提供IP地址,客戶機確認它已經(jīng)接收此地址。一旦客戶機接收了一個地址,它就開始使用此地址進行通信。LinuxLinux操作系統(tǒng)操作系統(tǒng) 將所有的TCP/IP參數(shù)保存在DHCP效勞器有以下的好處:(1)管理員能夠快速地檢查IP地址及其他配置參數(shù)而不必前往每一臺計算機,此外由于DHCP的數(shù)據(jù)庫可以在一個中心位置(即DHCP效勞器)完成更改,因此重新配置時也無需對每一臺主機進行配置。(2)DHCP不會將相同的IP地址同時分配給兩臺主機,從而防止了沖
12、突。LinuxLinux操作系統(tǒng)操作系統(tǒng) 9.1.4 DHCP的工作過程的工作過程DHCP的工作過程如圖9-1所示。LinuxLinux操作系統(tǒng)操作系統(tǒng) 接收?DHCP客戶機(1)(2)(3)(4)廣播DHCPDISCOVER提供一個IP地址DHCPOFFERN:使用以前的配置Y:請求選擇的IP地址,DHCPREQUEST確認,其他配置信息,DHCPACKARP檢查(5)N:拒絕服務,DHCPDECLINEY:正確進行客戶端的配置DHCP服務器(6)放棄租用,DHCPRELEASE圖圖9-1 DHCP的工作過程的工作過程LinuxLinux操作系統(tǒng)操作系統(tǒng) (1)DHCP客戶機啟動時,客戶機在
13、當前的子網(wǎng)中播送DHCPDISCOVER報文向DHCP效勞器申請一個IP地址。(2)DHCP效勞器收到DHCPDISCOVER報文后,它將從針對那臺主機的地址區(qū)間中為它提供一個尚未被分配出去的IP地址,并把提供的IP地址暫時標記為不可用。效勞器以DHCPOFFER報文送回給主機。如果網(wǎng)絡里包含有不止一個的DHCP效勞器,那么客戶機可能收到好幾個DHCPOFFER報文,但客戶機通常只成認第一個DHCPOFFER。LinuxLinux操作系統(tǒng)操作系統(tǒng) (3)客戶端收到DHCPOFFER后,向效勞器發(fā)送一個含有有關DHCP效勞器提供的IP地址的DHCPREQUEST報文。如果客戶端沒有收到DHCPO
14、FFER報文并且還記得以前的網(wǎng)絡配置,此時使用以前的網(wǎng)絡配置(如果該配置仍然在有效期限內(nèi))。(4)DHCP效勞器向客戶機發(fā)回一個含有原先被發(fā)出的IP地址及其分配方案的一個應答報文(DHCPACK)。LinuxLinux操作系統(tǒng)操作系統(tǒng) (5)客戶端接收到包含了配置參數(shù)的DHCPACK報文,利用ARP檢查網(wǎng)絡上是否有相同的IP地址。如果檢查通過,那么客戶機接受這個IP地址及其參數(shù),如果發(fā)現(xiàn)有問題,客戶機向效勞器發(fā)送DHCPDECLINE信息,并重新開始新的配置過程。效勞器收到DHCPDECLINE信息,將該地址標為不可用。LinuxLinux操作系統(tǒng)操作系統(tǒng) (6)DHCP效勞器只能將那個IP地
15、址分配給DHCP客戶一定時間,DHCP客戶必須在該次租用過期前對它進行更新??蛻魴C在50%租借時間過去以后,每隔一段時間就開始請求DHCP效勞器更新當前租借,如果DHCP效勞器應答那么租用延期。如果DHCP效勞器始終沒有應答,那么在有效租借期的87.5%,客戶應該與任何一個其他的DHCP效勞器通信,并請求更新它的配置信息。LinuxLinux操作系統(tǒng)操作系統(tǒng) 如果客戶機不能和所有的DHCP效勞器取得聯(lián)系,租借時間到后,它必須放棄當前的IP地址并重新發(fā)送一個DHCPDISCOVER報文開始上述的IP地址獲得過程。(7)客戶端可以主動向效勞器發(fā)出DHCPRELEASE報文,將當前的IP地址釋放。L
16、inuxLinux操作系統(tǒng)操作系統(tǒng) 9.1.5 DHCP功能的進一步討論功能的進一步討論 從以上的討論中,可以看到從以上的討論中,可以看到DHCP可以提高可以提高IP地址地址的利用率,減少的利用率,減少IP地址的管理工作量,便于移動用戶地址的管理工作量,便于移動用戶的使用。但要注意的是,由于客戶機每次獲得的的使用。但要注意的是,由于客戶機每次獲得的IP地地址不是固定的址不是固定的(當然現(xiàn)在的當然現(xiàn)在的DHCP已經(jīng)可以針對某一計已經(jīng)可以針對某一計算機分配固定的算機分配固定的IP地址地址),如果想利用某主機對外提供,如果想利用某主機對外提供網(wǎng)絡效勞網(wǎng)絡效勞(例如例如Web效勞、效勞、DNS效勞效勞
17、)等,動態(tài)的等,動態(tài)的IP地址地址是不可行的,這時通常要求采用靜態(tài)是不可行的,這時通常要求采用靜態(tài)IP地址配置方法。地址配置方法。此外對于一個只有幾臺計算機的小網(wǎng)絡,此外對于一個只有幾臺計算機的小網(wǎng)絡,DHCP效勞效勞器那么顯得有點多余。器那么顯得有點多余。LinuxLinux操作系統(tǒng)操作系統(tǒng) 利用TCP/IP進行通信,光有IP地址是不夠的,常常需要網(wǎng)關、WINS、DNS等設置。DHCP效勞器除了能動態(tài)提供IP地址外,還能同時提供WINS、DNS主機名、域名等附加信息,完善IP地址參數(shù)的配置。LinuxLinux操作系統(tǒng)操作系統(tǒng) 9.2 DHCP的配置9.2.1 DHCP效勞器的配置效勞器的配
18、置DHCP效勞器的配置步驟主要有:效勞器的配置步驟主要有:(1)安裝安裝DHCP效勞器軟件包。效勞器軟件包。(2)配置配置/etc/dhcpd.conf文件。文件。(3)生成生成dhcpd.leases文件。文件。(4)啟動啟動dhcpd效勞。效勞。LinuxLinux操作系統(tǒng)操作系統(tǒng) 1.安裝DHCP軟件包 用“rpm-qa|grep dhcpd命令確認DHCP效勞器軟件包是否已經(jīng)存在,如果不存在,需先把紅旗Linux 3.0光盤mount上,在RedFlag/RPMS目錄下找到軟件包,用“rpm ivh dhcp-2.0pl5-4.i386.rpm命令進行安裝。LinuxLinux操作系統(tǒng)
19、操作系統(tǒng) 【實例9.1】root redflag/root#rpm-qa|grep dhcpdhcp-2.0pl5-4以上說明效勞器軟件包dhcp-2.0pl5-4已經(jīng)存在。LinuxLinux操作系統(tǒng)操作系統(tǒng) 2.配置/etc/dhcpd.conf文件 要向一個子網(wǎng)提供效勞,DHCP效勞器的守護進程dhcpd需要知道它提供效勞的子網(wǎng)號和子網(wǎng)掩碼,此外為了分配動態(tài)IP地址,還必須在每一個子網(wǎng)提供一個或多個IP地址范圍。以下是一個非常簡單的配置文件。LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.2】subnet 192.168.0.0 netmask 255.255.255.0#IP地址范圍。
20、range 192.168.0.100 192.168.0.199;DHCP效勞器將向子網(wǎng)提供到的IP地址。配置時,除了括號所在行外的其他每一行要加“;號,以“#號開頭的語句是注釋語句。LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.3】subnet 192.168.0.0 netmask 255.255.255.0 range 192.168.0.20 192.168.0.69;range 192.168.0.100 192.168.0.199;這是一個多地址范圍的例子。LinuxLinux操作系統(tǒng)操作系統(tǒng) DHCP的IP地址租用有時間的限制,租用時間可以是任意長度,具體長度根據(jù)需要效勞的主
21、機的類型來確定。例如:在一個辦公環(huán)境中,系統(tǒng)不斷增加、減少,但移動較少,那么其租用時間長度為一個月或更多個月比較適宜。而在一個工廠的測試車間里,一個最長30分鐘的租用期足以完成一個網(wǎng)絡應用的簡單測試過程,其租用時間就為幾十分鐘。可以指定兩個租用時間長度:缺省租用時間和最大租用時間。LinuxLinux操作系統(tǒng)操作系統(tǒng) 前者是DHCP客戶請求租用IP地址時如果未指定要租用的時間,DHCP效勞器會自動指定的租用時間長度;而后者是DHCP客戶請求租用IP地址時可以指定的最大租用時間長度。它們是作為子網(wǎng)聲明的子句定義的。常用的時間可以是86400(一天)、604800(一周)、2592000(30天)
22、。如果DHCP效勞器同時為多個子網(wǎng)效勞,每個子網(wǎng)的租用時間又不相同,可以分別在不同的子網(wǎng)配置不同的租用時間。LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.4】subnet 192.168.0.0 netmask 255.255.255.0#下一行是設置缺省租用時間。default-lease-time 600;#下一行是設置最大租用時間。max-lease-time 7200;range 192.168.0.100 192.168.0.199;LinuxLinux操作系統(tǒng)操作系統(tǒng) 這個特殊的子網(wǎng)聲明指定了一個10分鐘的缺省租用時間和一個兩小時的最大租用時間。DHCP提供一種機制,使得效勞器可
23、以向客戶提供有關如何配置網(wǎng)卡的信息(例如:子網(wǎng)掩碼)和客戶如何訪問各種網(wǎng)絡效勞(例如DNS、網(wǎng)關等)的信息。這些選項可以通過每一子網(wǎng)中的option語句來定義。DHCP可以指定的option很多,常用的選項見表9-1,更多的選項信息請參見“man dhcp-options命令。LinuxLinux操作系統(tǒng)操作系統(tǒng) 表9-1 dhcpd.conf配置文件中可以指定的常用選項關 鍵 字含 義subnet-mask ip-address子網(wǎng)掩碼routers ip-address1,ip-address2,網(wǎng)關domain-name-servers ip-address1,ip-address2,指
24、明DNShost-name string指明主機名domain-name string指明所在域的域名broadcast-address ip-address指明子網(wǎng)的廣播地址LinuxLinux操作系統(tǒng)操作系統(tǒng) static-routers ip-address ip-address,配置客戶的靜態(tài)路由表arp-cache-timeout int指明arp緩沖表項的生存時間nis-servers ip-addres1,ip-address2,指明NIS服務器的地址netbios-name-servers ip-address1,ip-address2,指明WINS服務器地址netbios-n
25、ode-tyoe int指明客戶的NetBIOS節(jié)點的類型:1 B-node:廣播2 P-node:WINS3 M-node:先廣播后WINS4 H-node:先WINS后廣播LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.5】subnet 192.168.0.0 netmask 255.255.255.0 default-lease-time 600;max-lease-time 7200;#下一行指定掩碼信息為。option subnet-mask 255.255.255.0;#下一行指定播送地址為。option broadcast-address 192.168.0.255;#下一行指定
26、網(wǎng)關為。LinuxLinux操作系統(tǒng)操作系統(tǒng) option routers 192.168.0.254;#下一行指定域名效勞器(DNS)為。option domain-name-servers 192.168.0.1;#下一行指定主機所在的域。option domain-name“wlj ;range 192.168.0.100 192.168.0.199;LinuxLinux操作系統(tǒng)操作系統(tǒng) 3.生成/var/lib/dhcp/dhcpd.leases文件 通常安裝DHCP軟件包時并不產(chǎn)生dhcpd.leases文件。效勞器守護進程dhcpd會使用這個文件來存儲目前的租用信息,dhcpd為每
27、一客戶分配一個IP地址時都會在這個文件記錄該租用信息。在系統(tǒng)出現(xiàn)故障后或重新啟動時,就可以從該文件中重新獲得租用信息。用以下命令生成文件:touch/var/lib/dhcp/dhcpd.leasesLinuxLinux操作系統(tǒng)操作系統(tǒng) 4.啟動dhcpd效勞 我們已迫不及待地要啟動DHCP效勞,然而還有如下一件事情要確定。eth0 Link encap:Ethernet HWaddr 00:E0:4C:30:03:F7 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:699 errors:0 dropped:0 over
28、runs:0 frame:0LinuxLinux操作系統(tǒng)操作系統(tǒng) TX packets:289 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:69881(68.2 Kb)TX bytes:27158(26.5 Kb)Interrupt:5 Base address:0 xe000LinuxLinux操作系統(tǒng)操作系統(tǒng) lo Link encap:Local Loopback UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:6 errors
29、:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:420(420.0 b)TX bytes:420(420.0 b)LinuxLinux操作系統(tǒng)操作系統(tǒng) 查看第3行是否有MULTICAST信息,應該慶幸的是大多數(shù)的系統(tǒng)有該信息。如果沒有,必須手工參加這個IP地址至routing-table中,請以root用戶登錄,輸入:root redflag/root#route add-host 255.255.255
30、.255 dev eth0LinuxLinux操作系統(tǒng)操作系統(tǒng) 這是為了讓dhcpd能夠正確地為過分挑剔的DHCP客戶端(例如:Windows 95)效勞。DHCP必須能夠發(fā)送數(shù)據(jù)包到這個IP地址,但是在以往的Linux系統(tǒng)中這個地址被用來做為監(jiān)聽子網(wǎng)播送的IP地址,所以在2.2內(nèi)核之前版本要輸入以上語句借以啟用MULTICAST功能,讓數(shù)據(jù)包傳遞到這個地址。LinuxLinux操作系統(tǒng)操作系統(tǒng) 9.2.2 DHCP客戶的配置客戶的配置 DHCP客戶可以有多類,如客戶可以有多類,如Windows 98、Windows 2000或或Linux,下面分別進行介紹。,下面分別進行介紹。1.Windo
31、ws 2000客戶的配置客戶的配置 首先在首先在Windows 2000下把下把TCP/IP地址設置為自動獲地址設置為自動獲得得(見圖見圖9-2),如果,如果DHCP效勞器還提供效勞器還提供DNS、WINS等,等,也把它們設置為自動獲得。也把它們設置為自動獲得。LinuxLinux操作系統(tǒng)操作系統(tǒng) 圖9-2 將TCP/IP地址改為自動獲得LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.6】C:ipconfig/renewWindows 2000 IP ConfigurationEthernet adapter 本地連接:Connection-specific DNS Suffix.:wlj L
32、inuxLinux操作系統(tǒng)操作系統(tǒng) C:ipconfig/allWindows 2000 IP Configuration Host Name.:w2000-client Primary DNS Suffix .:Node Type.:Broadcast IP Routing Enabled.:Yes WINS Proxy Enabled.:No DNS Suffix Search List.:wlj LinuxLinux操作系統(tǒng)操作系統(tǒng) Ethernet adapter 本地連接:Connection-specific DNS Suffix.:wlj Description.:Realtek
33、 RTL8139(A)PCI Fast Ethernet Adapter Physical Address.:00-E0-4C-83-C9-65 DHCP Enabled.:Yes Autoconfiguration Enabled.:YesLinuxLinux操作系統(tǒng)操作系統(tǒng) Lease Obtained.:2003年4月16日 10:47:57 Lease Expires.:2003年4月16日 10:57:57LinuxLinux操作系統(tǒng)操作系統(tǒng) C:ipconfig/releaseWindows 2000 IP ConfigurationIP address successfully
34、released for adapter 本地連接LinuxLinux操作系統(tǒng)操作系統(tǒng) 2.Windows 98客戶的配置 先在Windows 98下把TCP/IP地址設置為自動獲得,再執(zhí)行winipcfg命令,如圖9-3所示。點擊“釋放按鈕可以釋放IP地址,點擊“更新可以獲得新的IP地址。LinuxLinux操作系統(tǒng)操作系統(tǒng) 圖9-3 用winipcfg進行動態(tài)IP配置LinuxLinux操作系統(tǒng)操作系統(tǒng) 3.Linux客戶端的設置 設置DHCP客戶機有多種方式。下面介紹常見的三種。第一種是使用linuxconf命令,選擇要配置的DHCP客戶網(wǎng)絡設備,把IP地址設為DHCP方式。重新啟動系統(tǒng)
35、,系統(tǒng)將從DHCP效勞器上獲得IP地址。第二種是手工修改/etc/sysconfig/network-scripts/ifcfg-e t h 0 文 件,把 B O O T P R O T O=“n o n e 改 為BOOTPROTO=“dhcp,再執(zhí)行命令ifup。LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.7】root redflag/root#ifdown eth0root redflag/root#ifup eth0root redflag/root#ifconfigDetermining IP information for eth0.done.eth0 Link encap:
36、Ethernet HWaddr 00:E0:4C:83:C9:65 LinuxLinux操作系統(tǒng)操作系統(tǒng) UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:19 errors:0 dropped:0 overruns:0 frame:0 TX packets:41 errors:0 dropped:2 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:4530(4.4 Kb)TX bytes:16334(15.9 Kb)Interrupt:11 Base address:0 xc
37、000 LinuxLinux操作系統(tǒng)操作系統(tǒng) 可以看到IP地址已經(jīng)成功獲取。第三種是運行dhcpcd命令。首先要檢查客戶機是否安裝了dhcpcd軟件包。root redflag/root#rpm-qa|grep dhcpcd如果沒有安裝,請用rpm命令把dhcpcd軟件包安裝上。LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.8】root redflag/root#mount/dev/cdromroot redflag/root#cd/mnt/cdrom/RedFlag/RPMSPreparing.#100%1:dhcpcd#100%LinuxLinux操作系統(tǒng)操作系統(tǒng) root redfla
38、g/root#dhcpcdroot redflag/root#ifconfigDetermining IP information for eth0.done.eth0 Link encap:Ethernet HWaddr 00:E0:4C:83:C9:65 UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:19 errors:0 dropped:0 overruns:0 frame:0 TX packets:41 errors:0 dropped:2 overruns:0 carrier:0LinuxLinux操作系統(tǒng)操作系統(tǒng) collisi
39、ons:0 txqueuelen:100 RX bytes:4530(4.4 Kb)TX bytes:16334(15.9 Kb)Interrupt:11 Base address:0 xc000 可以看到IP地址已經(jīng)成功獲取。要停止dhcpcd進程,可以使用“dhcpcd-k命令,同時IP地址被釋放。LinuxLinux操作系統(tǒng)操作系統(tǒng) 9.3 DHCP效勞器的高級配置效勞器的高級配置 9.3.1 為計算機分配固定的為計算機分配固定的IP地址地址 如果你的主機做為效勞器為其他用戶提供網(wǎng)絡效勞如果你的主機做為效勞器為其他用戶提供網(wǎng)絡效勞(例例如如Web效勞、效勞、DNS效勞和效勞和FTP效勞效
40、勞),這時,這時IP地址最好能地址最好能夠固定。我們可以把它們的夠固定。我們可以把它們的IP地址設為靜態(tài)地址設為靜態(tài)IP而不用動而不用動態(tài)態(tài)IP,此外我們也可以讓,此外我們也可以讓DHCP效勞器為它分配固定的效勞器為它分配固定的IP地址。只要在地址。只要在dhcpd.conf文件中參加相應的配置。文件中參加相應的配置。LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.9】host webserver#Web效勞器上網(wǎng)卡的MAC地址。hardware Ethernet 00:80:c8:1c:29:96;#固定的IP地址。fixed-address 192.168.0.210;以上根據(jù)網(wǎng)卡MAC地
41、址分配固定的IP地址。LinuxLinux操作系統(tǒng)操作系統(tǒng) 9.3.2 進一步說明進一步說明dhcpd.conf 前面介紹了前面介紹了dhcpd.conf的根本用法,這里進一步介的根本用法,這里進一步介紹它的使用。紹它的使用。dhcpd.conf是一個遞歸下降格式的配置是一個遞歸下降格式的配置文件,由參數(shù)和聲明兩大類語句構(gòu)成。文件,由參數(shù)和聲明兩大類語句構(gòu)成。參數(shù)類語句主參數(shù)類語句主要告訴要告訴dhcpd怎么做怎么做(例如,地址租用的時間長短例如,地址租用的時間長短)、是、是否做什么事情否做什么事情(例如,是否給未知客戶分配地址例如,是否給未知客戶分配地址)以及提以及提供給客戶什么參數(shù)供給客戶
42、什么參數(shù)(例如,網(wǎng)關是例如,網(wǎng)關是192.168.0.254)。而聲。而聲明語句那么是描述網(wǎng)絡的拓撲、描述網(wǎng)絡上的客戶、明語句那么是描述網(wǎng)絡的拓撲、描述網(wǎng)絡上的客戶、要分配給客戶的要分配給客戶的IP地址以及提供一個參數(shù)組給一組聲地址以及提供一個參數(shù)組給一組聲明等。明等。LinuxLinux操作系統(tǒng)操作系統(tǒng) 描述網(wǎng)絡拓撲結(jié)構(gòu)的聲明語句有:“shared-network和“subnet語句。如果要給一個子網(wǎng)里的客戶動態(tài)分配IP地址,那么在subnet聲明里必須有一個 range 聲明,用于說明地址范圍。如果要給DHCP客戶靜態(tài)指定IP地址,那么每一個客戶都要有一個host 聲明。group語句用于
43、對主機進行分組,指定共同的參數(shù)。一個典型的dhcpd.conf如下:LinuxLinux操作系統(tǒng)操作系統(tǒng) 全局參數(shù)shared-network shared-networkname 共享網(wǎng)絡特定參數(shù).subnet 192.168.0.0 netmask 255.255.255.0 子網(wǎng)特定參數(shù).LinuxLinux操作系統(tǒng)操作系統(tǒng) range 192.168.0.10 192.168.0.199;subnet 192.168.1.0 netmask 255.255.255.0 子網(wǎng)特定參數(shù).range 192.168.1.10 192.168.1.199;subnet 192.168.2.0
44、netmask 255.255.255.0 子網(wǎng)特定參數(shù).LinuxLinux操作系統(tǒng)操作系統(tǒng) range 192.168.2.10 192.168.2.199;group 組特定參數(shù).host ws1.domain 特定主機參數(shù).host ws2.domain 特定主機參數(shù).LinuxLinux操作系統(tǒng)操作系統(tǒng) 當客戶啟動時,首先采用的參數(shù)是host語句中的特定主機參數(shù),其次是group語句中的組主機參數(shù),再到subnet語句中的子網(wǎng)主機參數(shù),下一個是shared-network語句中的共享網(wǎng)絡主機參數(shù),最后才是全局參數(shù)。即下層參數(shù)的聲明會覆蓋上層參數(shù)的聲明、下層如無聲明參數(shù)那么采用上層的參
45、數(shù)。LinuxLinux操作系統(tǒng)操作系統(tǒng) 1.聲明語句 shared-network語句用于告訴dhcpd效勞器以下幾個IP子網(wǎng),其實是共享同一個物理網(wǎng)絡。任何一個在共享物理網(wǎng)絡里的子網(wǎng)都必須聲明在 share-network 語句里。當屬于其子網(wǎng)里的客戶啟動時,將獲得在share-network語句里指定參數(shù),除非這些參數(shù)被subnet或host里的參數(shù)覆蓋。shared-network的用法如下:LinuxLinux操作系統(tǒng)操作系統(tǒng) shared-network shared-networkname 參數(shù) 聲明 用share-network是一種權(quán)宜之計,例如某公司用B類網(wǎng)絡,公司里的部門
46、A被劃在子網(wǎng)里,子網(wǎng)掩碼為,該子網(wǎng)最多只能容納254臺主機。但如果部門A急速增長,超過了254個節(jié)點,而物理網(wǎng)絡還來不及增加,因此就要在原來這個物理網(wǎng)絡上增加一個子網(wǎng)(例如,172.16.1.0),而這兩個子網(wǎng)其實是在同一個物理網(wǎng)絡上。LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.10】shared-network share1 subnet-mask 255.255.255.0;subnet 172.16.0.0 netmask 255.255.255.0 range 172.16.0.10 172.16.0.253;subnet 172.16.1.0 netmask 255.255.25
47、5.0 range 172.16.1.10 172.16.1.253;LinuxLinux操作系統(tǒng)操作系統(tǒng) subnet 語句用于提供足夠的信息來告訴dhcpd一個IP地址是否屬于該子網(wǎng)。也可以提供指定的子網(wǎng)參數(shù)和該子網(wǎng)的IP地址范圍,IP地址必須在 range 聲明里指定。subnet語句的用法如下:subnet subnet-number netmask netmask 參數(shù) 聲明 LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.11】subnet 172.16.3.0 netmask 255.255.255.0 option router 172.16.3.254;range 172.1
48、6.3.10 172.16.3.253;range語句的用法如下:range low-address high-address;LinuxLinux操作系統(tǒng)操作系統(tǒng) 對于一個有動態(tài)分配IP地址的subnet語句里,至少要有一個range語句,用來指明要分配的IP地址的范圍。如果只有一個IP地址要分配,高地址局部可以省略。host語句的用法如下:host hostname 參數(shù) 聲明 host語句的作用是為特定的客戶機提供網(wǎng)絡信息,常常用于給固定的主機分配固定的IP。LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.12】host ftpserverhareware Ethernet 00:80:
49、c8:1c:29:97;fixed-address 192.168.0.2;group的用法如下:group 參數(shù)聲明LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.13】group option router 192.168.0.254;host webserverhareware Ethernet 00:80:c8:1c:29:96;fixed-address 192.168.0.1;host ftpserverhareware Ethernet 00:80:c8:1c:29:97;fixed-address 192.168.0.2;LinuxLinux操作系統(tǒng)操作系統(tǒng) 例子中的兩個主機r
50、outer(網(wǎng)關)都為:。allow和deny語句用來控制dhcpd對不同類客戶請求的響應,unknown-clients關鍵字表示未知的客戶。如下:allow unknown-clients;deny unknown-clients;前者允許dhcpd分配動態(tài)IP給未知的客戶,而后者那么不允許,缺省是允許的。LinuxLinux操作系統(tǒng)操作系統(tǒng) 2.參數(shù)類語句 default-lease-time語法如下:default-lease-time time;指定缺省租約時間,這里的time是以秒為單位的。如果DHCP客戶在請求租用IP地址但沒有指定租約的時間,租約時間就是缺省租約時間。Linux
51、Linux操作系統(tǒng)操作系統(tǒng) max-lease-time語法如下:max-lease-time time;指定最大的租約時間,如果DHCP客戶機在請求IP地址時指定了租約時間,那么該值是被允許的最大租約時間。hardware語法如下:hardware hardware-type hardware-address;LinuxLinux操作系統(tǒng)操作系統(tǒng) 指明網(wǎng)卡類型(ethernet、token-ring)和硬件地址,硬件地址(即網(wǎng)卡地址)由12個十六進制位構(gòu)成,每2位以“:隔開,如00:80:c8:1c:29:96。fixed-address語法如下:fixed-address address,
52、address.;該語句指定一個或多個IP地址給一個DHCP客戶,該語句只能出現(xiàn)在host聲明里。LinuxLinux操作系統(tǒng)操作系統(tǒng) 3.選項類語句 選項類語句以option開頭,后面跟一個選項名,選項名后是選項數(shù)據(jù),選項非常的多,常用選項見表9-1。LinuxLinux操作系統(tǒng)操作系統(tǒng) 9.3.3 DHCP轉(zhuǎn)接代理轉(zhuǎn)接代理 當網(wǎng)絡中存在多個子網(wǎng)被路由器隔開的時候,由于當網(wǎng)絡中存在多個子網(wǎng)被路由器隔開的時候,由于客戶計算機只能通過播送發(fā)送客戶計算機只能通過播送發(fā)送DHCP請求,這些請求請求,這些請求一般不能跨越路由器。我們可以在每一網(wǎng)絡上都安置一般不能跨越路由器。我們可以在每一網(wǎng)絡上都安置D
53、HCP效勞器,然而這樣不便于管理。我們也可以設效勞器,然而這樣不便于管理。我們也可以設置路由器轉(zhuǎn)發(fā)置路由器轉(zhuǎn)發(fā)DHCP請求,即轉(zhuǎn)發(fā)相應的請求,即轉(zhuǎn)發(fā)相應的UDP 端口端口67和和68的播送數(shù)據(jù)包,但這樣設置就增加了網(wǎng)絡播送,的播送數(shù)據(jù)包,但這樣設置就增加了網(wǎng)絡播送,不利于減少網(wǎng)絡流量。不利于減少網(wǎng)絡流量。LinuxLinux操作系統(tǒng)操作系統(tǒng) 還有另外一種方法來使得DHCP客戶計算機能夠使用子網(wǎng)之外的DHCP效勞器來獲得IP地址。這就是使用DHCP轉(zhuǎn)接代理效勞器來轉(zhuǎn)發(fā)DHCP的請求。轉(zhuǎn)接代理效勞器把DHCP請求轉(zhuǎn)移到其他網(wǎng)絡的DHCP效勞器上。轉(zhuǎn)接代理效勞器相當于一個中介,它接收到一個請求時,將
54、把請求轉(zhuǎn)發(fā)到命令行指定的DHCP效勞器,由于它了解DHCP效勞器的IP地址,因此能通過正常的IP數(shù)據(jù)包將原播送包轉(zhuǎn)發(fā)到效勞器中,而不使用播送。LinuxLinux操作系統(tǒng)操作系統(tǒng) 當轉(zhuǎn)接代理效勞器收到DHCP效勞器分配的IP地址后,將在接受請求的網(wǎng)絡上進行播送,使發(fā)出DHCP請求的主機得到IP地址。轉(zhuǎn)接代理效勞器實際上是一個程序Dhcrelay。命令格式如下:dhcrelay DHCP效勞器地址LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.14】網(wǎng)絡的拓撲結(jié)構(gòu)如圖9-4所示。路由器DHCP轉(zhuǎn)接代理服務器客戶機DHCP服務器192.168.2.252圖圖9-4 使用使用DHCP轉(zhuǎn)接代理效勞器的
55、網(wǎng)絡轉(zhuǎn)接代理效勞器的網(wǎng)絡LinuxLinux操作系統(tǒng)操作系統(tǒng) Internet Software Consortium DHCP Relay Agent 2.0pl5Copyright 1997,1998,1999 The Internet Software Consortium.All rights reserved.Please contribute if you find this software useful.Listening on Socket/eth0Sending on Socket/eth0LinuxLinux操作系統(tǒng)操作系統(tǒng) 9.4 DHCP故障排除故障排除 如果DHCP
56、效勞器不能正常分配IP地址,要先根據(jù)DHCP效勞器的配置步驟逐一進行檢查,特別是配置文件dhcpd.conf中關鍵字不要錯誤,以及每行的行末是否加了“;。還可以以debug模式運行DHCP效勞器,觀察DHCP效勞器的運行情況。首先停止DHCP效勞,再以debug模式運行DHCP效勞器,如下。LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.15】root redflag/root#service dhcpd stopShutting down dhcpd:OK root redflag/root#dhcpd-dInternet Software Consortium DHCP Server 2.
57、0pl5Copyright 1995,1996,1997,1998,1999 The Internet Software Consortium.All rights reserved.LinuxLinux操作系統(tǒng)操作系統(tǒng) Please contribute if you find this software useful.DHCPDISCOVER from 00:e0:4c:83:c9:65 via eth0DHCPOFFER on 192.168.0.11 to 00:e0:4c:83:c9:65 via eth0LinuxLinux操作系統(tǒng)操作系統(tǒng) DHCPREQUEST for 192.
58、168.0.11 from 00:e0:4c:83:c9:65 via eth0DHCPACK on 192.168.0.11 to 00:e0:4c:83:c9:65 via eth0BOOTREQUEST from 00:ab:00:00:00:00 via eth0No applicable record for BOOTP host 00:ab:00:00:00:00 via eth0DHCPRELEASE of 192.168.0.11 from 00:e0:4c:83:c9:65 via eth0(found)LinuxLinux操作系統(tǒng)操作系統(tǒng) 從例子中可以清楚地看到DHCP效勞
59、器的工作過程,DHCP報文的發(fā)送和接收、IP地址分配過程等。Linux系統(tǒng)把系統(tǒng)的信息記錄在/var/log/messages文件中,因此我們可以查看文件中有關DHCP的內(nèi)容來進行排錯。同時,DHCP效勞器會把已經(jīng)出租的IP地址存放在文件/var/lib/dhcp/dhcpd.leases中,它也可以幫助我們排除故障。LinuxLinux操作系統(tǒng)操作系統(tǒng) 【實例9.16】root redflag/root#cat/var/lib/dhcp/dhcpd.leases#All times in this file are in UTC(GMT),not your local timezone.Th
60、is is#not a bug,so please dont ask about it.There is no portable way to#store leases in the local timezone,so please dont request this as a#feature.If this is inconvenient or confusing to you,we sincerelyLinuxLinux操作系統(tǒng)操作系統(tǒng)#apologize.Seriously,though-dont ask.#The format of this file is documented in
61、 the dhcpd.leases(5)manual page.lease 192.168.0.11 starts 1 2003/04/14 23:52:35;ends 2 2003/04/15 00:02:35;hardware ethernet 00:e0:4c:83:c9:65;uid 01:00:e0:4c:83:c9:65;client-hostname w2000-client;LinuxLinux操作系統(tǒng)操作系統(tǒng) 習習 題題 1.動態(tài)IP地址方案有什么優(yōu)點和缺點?2.要給DHCP客戶機分配到的IP地址,同時指明DNS為、網(wǎng)關為,應如何書寫dhcpd.conf文件?3.為什么要使用
62、DHCP轉(zhuǎn)接代理效勞器?LinuxLinux操作系統(tǒng)操作系統(tǒng) 4.在以下的配置文件中,主機的IP地址租用時間是多少?shared-network share1 option default-lease-time 28000;subnet 192.168.0.0 netmask 255.255.255.0 range 192.168.0.1 192.168.0.199;LinuxLinux操作系統(tǒng)操作系統(tǒng) host webserver option default-lease-time 31536000;hareware Ethernet 00:80:c8:1c:29:96;fixed-address 192.168.0.20;
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。