天天看點

DHCP伺服器的架設

               DHCP伺服器的架設

DHCP- 是Dynamic Host Configuration Protocol 動态主機配置設定協定的縮寫,但是它的前身是BOOTP。該協一般應用在大的網絡配置中,可以省去管理者為每個主機配置的ip位址,以及在配置中出現ip位址沖突。

1 先确認要作為DHCP伺服器的主機上的DHCP 的rpm包是否安裝,

  # rpm  -qa  dhcp

  如果沒有安裝則需要挂載本地CD光牒,并安裝dhcp rpmbao

 #mkdir  /media/cdrom  

#mount   /dev/cdrom   /media/cdrom

#cd  /media/cdrom/Server

2在redaht 5.4 上提供的是dhcp-3.0.5-21.el5.i386.rpm

 #rpm –vhi   dhcp-3.0.5-21.el5.i386.rpm

 warning: dhcp-3.0.5-21.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

   1:dhcp                   ########################################### [100%]

3 在安裝完dhcp的rpm包後,可以檢視系統自動為之安裝的檔案

  Dhcp的主配置文:etc/dhcpd.conf   但是在redhat 5.4 上是個空檔案,在配置前需要拷貝模闆檔案, /usr/share/doc/dhcp*/dhcpd.conf.sample 

服務腳本檔案是:/etc/rc.d/init.d/dhcpd

Dhcp中繼器的腳本檔案:/etc/rc.d/init.d/dhcrelay

Dhcp執行參數檔案:/etc/sysconfig/dhcpd

Dhcp 中繼器的執行參數檔案:/etc/sysconfig/dhcrelay

Dhcp 的租鑰檔案/var/lib/dhcpd/dhcpd.leases/

Dhcp伺服器的監聽端口是68 而dhcp中繼器伺服器的監聽端口是67

4 dhcp用戶端向dhcp伺服器發送請求的過程分為四個階段

Dhcpdiscovery  ;dhcpoffer ; dhcprequest  ;dhcpack

5  因為dhcp的主配置檔案預設是空的 ,是以 在配置dhcp伺服器是,應先拷貝主配置檔案

[root@freehat ~]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample  /etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {

注:subnet是指的會dhcp 伺服器中的位址池的ip位址所在的網絡,但是注意的是dhcp伺服器的ip位址必須在該網絡内,不然,dhcp服務啟動不了,顯然netmask 是子網路遮罩

# --- default gateway

        option routers                  192.168.0.1;

             注:這是dhcp用戶端在擷取IP位址時自動獲得的網關

        option subnet-mask              255.255.255.0;

             注:dhcp用戶端,獲得到的子網路遮罩

        option nis-domain               "domain.org";

              注: 為dhcp用戶端在擷取位址的同時自動為之配置nis伺服器的域名、

        option domain-name              "domain.org";

             注 在dhcp獲得位址的同時也有獲得域名

        option domain-name-servers      192.168.1.1;

           注:為客戶指向dns伺服器

        option time-offset              -18000; # Eastern Standard Time

#       option ntp-servers              192.168.1.1;

           該項是指的網絡時間伺服器

#       option netbios-name-servers     192.168.1.1;

    該項指的是,wins伺服器

# --- Selects point-to-point node (default is hybrid). Don't change this unless

# -- you understand Netbios very well

#       option netbios-node-type 2;

        range  192.168.0.10 192.168.0.20

         當然在配置dhcp伺服器是這是最關鍵的,應為隻是dhcp的位址池,當用戶端發送請求,伺服器端在接到請求是會自動的在位址池中找未用的ip位址,但是Linux 上的dhcp伺服器是按照從大到小的順序為用戶端配置設定ip位址的

        default-lease-time 21600;

             該項是指的是dhcp的預設的租用期限

        max-lease-time 43200;

          該項是指dhcp的最大熱租用期限

   注:dhcp 用戶端在獲得到ip位址 後,當使用的時間達到租期的一半是就會就會向DHCP伺服器續約,當續約不成功時,dhcp用戶端就會在租約的87%,還會繼續續約,如果還不能成功是,則用戶端還會繼續使用當足月到期時,就會釋放該ip位址,但是在續約是庫胡端使用的是單點傳播;dhcp用戶端就會發送DHCPDISCOVER包,

        # we want the nameserver to appear at a fixed address

當然有時,也會為一些主機綁定ip位址,是以就可以用下面的host,為某些主機

綁定ip位址

      Hardware ethernet:該項是指的要綁定主機的mac位址

       Fixed-address :是指的是要綁定的ip位址

例如        host ns {

                ;

                hardware ethernet 12:34:56:78:AB:CD;

                fixed-address 192.168.1.2;

        }

}

7  這裡我們配置個完整的dhcp伺服器的過程,當然在配置dhcp先安裝dhcp軟體包,這裡就不在重複上面的過程了

 值得注意的是: dhcp伺服器的ip位址 必須在該位址池中,否則dhcp服務不能啟動

      在subnet的網絡号必須和rang中的位址池相對應

subnet 192.168.2.0 netmask 255.255.255.0 {

        option routers                  192.168.2.1;

        option domain-name-servers      192.168.2.1;

#       option ntp-servers              192.168.2.1;

#       option netbios-name-servers     192.168.2.1;

        range 192.168.2.2 192.168.2.25;

        host ns {

                next-server marvin.redhat.com;

                fixed-address 207.175.42.254;

當然我這裡指是個例子,僅供參考

8 啟動dhcp服務,并 把該服務加入到開機啟動隊列中

 # service dhcpd  start

 # chkconfig   dhcpd   on

9 接下來可以驗證剛才的實驗是否成功,如果用的是虛拟機做的實驗,則可以在開啟一台虛拟主機,并讓其的網卡類型在同一個通道中,并讓其網開的設定成自動擷取的方式,當擷取成功是,如果是Windows,可以在dos視窗中執行指令: ipconfig /all

 來檢視其獲得ip位址及dns  網關,等其他資訊

 如果是Linux的用戶端時則可以,執行

[root@freehat ~]#  dhclient –d 可以檢視其擷取ip位址的過程

執行ifconfig 檢視器擷取的ip位址

DHCP 中繼伺服器

 1有時考慮其他的因素,不能在兩個網絡中同時配置兩台DHCP伺服器,但是有時有的路由器符合RFC1542 的協定是,則 不需要配置中繼代理,但是有時有些路由器支援中繼代理的,價格比較昂貴,是以有是會考慮; 用Windows server或者Linux主機來配置dhcp中繼代理服務,當然這裡的配置是用linux來配置的。

2 當然,我們還需要配置dhcp伺服器,在這裡就略過,但是在配置dhcp是必須指出預設網關,不然,需要中繼的網絡不能獲得ip位址

3 在配置dhcp中繼代理是同樣需要安裝dhcp 的rpm 包,但是需要配置/etc/sysconfig/dhcrelay

Vim  /etc/sysconfig/dhcrelay

INTERFACES="" 

  該項是dhcp代理伺服器監聽的網卡,如果有多快網卡則在填寫多快網開并用“,”分開

DHCPSERVERS=""

   該項是指明dhcp伺服器的ip位址

4 關閉dhcp代理伺服器的dhcp服務,并啟用dhcrelay 服務,并加入到開機啟動列隊中

   [root@freehat ~]# service dhcrelay stop

   [root@freehat ~]  chkconfig  dhcpd   off

[root@freehat ~]# service dhcrelay start

[root@freehat ~] chkconfig   dhcrelay   on

5 當然也需要驗證,該服務是否配置成功

  在用戶端執行:

本文轉自 freehat08 51CTO部落格,原文連結:,如需轉載請自行聯系原作者

繼續閱讀