1. 程式人生 > >Linux服務器搭建之DHCP服務器

Linux服務器搭建之DHCP服務器

serve host x86_64 toc 開頭 redhat .com 範圍 rest

Linux服務器搭建之DHCP服務器

當局域網絡中有大量主機時,如果逐個為每一臺主機手動設置IP地址、默認網關、DNS服務器地址等網絡參數,顯然是一個費力也未必討好的辦法。而DHCPDynamic Host Configuration Protocol,動態主機配置協議)服務器的應用,正好可以解決這一問題。

DHCP的典型應用模式如下:在網絡中架設一臺專用的DHCP服務器,負責集中分配各種網絡地址參數(主要包括IP地址、子網掩碼、廣播地址、默認網關地址、DNS服務器地址);其他主機作為DHCP客戶機,將網卡配置為自動獲取地址,即可與DHCP服務器進行通信,完成自動配置過程。

下面將介紹在Redhat6.5

系統中構建DHCP服務器。

配置DHCP服務器

1、安裝DHCP服務器軟件

先執行“rpm –q dhcp”命令查看系統中是否已經安裝了DHCP軟件包,如果沒有安裝,只要掛載RHEL6.5系統光盤,安裝其中的dhcp-4.1.1-38.P1.el6.x86_64.rpm軟件包即可。安裝dhcp軟件包後系統會將自動復制相關程序,並添加名為dhcpd的系統服務。

[root@twgdh /]# rpm -q dhcp
package dhcp is not installed
[root@twgdh /]# cd /media/Packages/
[root@twgdh Packages]# rpm -ivh dhcp-4.1.1-38.P1.el6.x86_64.rpm


2、建立主配置文件dhcpd.conf

dhcpd服務的主配置文件是/etc/dhcp/dhcpd.conf,但是該文件中默認並不包含任何有效的配置,需要管理員手動建立。這是管理員可以根據文件中的提示,參考配置文件範本建立新的dhcpd.conf文件。

[root@twgdh ~]# vim /etc/dhcp/dhcpd.conf

#

# DHCP Server Configuration file.

# see /usr/share/doc/dhcp*/dhcpd.conf.sample

# see 'man 5 dhcpd.conf'

#

:r /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample

使用末行命令“r”可以把”/usr/share/doc/dhcp*/dhcpd.conf.sample”範本文件中的內容導入到dhcpd.conf文件中來。

2.1)、/etc/dhcp/dhcpd.conf文件的配置構成

在主配置文件dhcpd.conf中,可以使用聲明、參數、選項這三種類型的配置,各自的作用和表現形式如下所述。

聲明:用來描述dhcpd服務器中對網絡布局的劃分,是網絡設置的邏輯範圍。較常見的聲明是subnethost,其中subnet聲明用來約束一個網段,host聲明來約束一臺特定的主機。

參數:由配置關鍵字和對應的值組成,總是以分號“;”結束,一般位於指定的聲明範圍之內,用來設置所在範圍的運行特性(如默認租約時間、最大租約時間等)。

選項:由“option”引導,後面跟具體的配置關鍵字和對應的值,也是以分號“;”結束,用於指定分配給客戶機的各種地址參數(如默認網關地址、子網掩碼地址、DNS服務器地址等。)

2.2)、確定dhcpd服務的全局配置

為了使配置文件的結構更加清晰,全局配置通常會存放在配置文件dhcpd.conf的開頭部分,可以是配置參數,也可以是配置選項。常用的全局配置參數和選項如下所述。

ddns-update-style,動態DNS更新模式。用來設置與DHCP服務相關聯的DNS數據動態更新模式。在實際的DHCP應用中很少用到該參數,將值設為“none”即可。


default-lease-time,默認租約時間。單位為秒,表示客戶端可以從DHCP服務器租用某個IP地址的默認時間。


max-lease-time,最大租約時間。單位為秒,表示允許DHCP客戶端請求的最大租約時間,當客戶端末請求明確的租約時間時,服務器將采用默認租約時間。


option domain-name,默認搜索區域。為客戶機指定解析主機名時的默認搜索域,該配置選項將體現在客戶機的/etc/resolv.conf配置文件中。


option domain-name-serversDNS服務器地址。為客戶機指定解析域名時使用的DNS服務器地址,該配置選項同樣將體現在客戶機的/etc/resolv.conf配置文件中。需設置多個DNS服務器地址時,應以逗號進行分隔。

例如,若需要為局域網搭建一個臺DHCP服務器,所有網段使用相同的租約時間,默認搜索域為hou.comDNS服務器地址為202.106.0.20202.106.148.1,則可以修改dhcpd.conf配置文件,參考以下操作調整全局配置。

[root@twgdh ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;                    ……//禁用DNS動態更新
default-lease-time 21600;                    ……//默認租約為6小時
max-lease-time 43200;                  ……//最大租約為12小時
option domain-name    “benet.com”;          ……//指定默認搜索區域
option domain-name-servers    202.106.0.20,202.106.148.1;   ……//指定DNS服務器地址


2.3)、明確subnet網段聲明

一臺DHCP服務器可以為多個網段提供服務,因此subnet網段聲明必須有而且可以有多個。

例如,若要DHCP服務器為192.168.10.0/24網段提供服務,用於自動分配的IP地址範圍為192.168.10.100~192.168.10.200,為客戶機指定默認網關地址為192.168.10.1,則可以修改dhcpd.conf配置文件,參考以下內容調整subnet網段聲明。

subnet 192.168.10.0 netmask 255.255.255.0  {
  range 192.168.10.100  192.168.10.200;
  option routers  192.168.10.1;
}


如果需要給多個網段分配地址,則必須要該網段地址的網卡,並且還要有對應的subnet區域。

2.4)、確定host主機聲明(可選)

host聲明用於設置單個主機的網絡屬性,通常用於為網絡打印機或個別服務器分配固定的IP地址(保留地址),這些主機的共同特點是要求每次獲取的IP地址相同,以確保服務的穩定性。

host聲明通過host關鍵字自定需要使用保留地址的客戶機名稱,並使用“hardware ethernet”參數指定該主機的MAC地址,使用“fixed-address”參數指定保留給該主機的IP地址。例如,若要為打印機prtsvrMAC地址為00:0c:c3:22:46:81)分配固定的IP地址192.168.10.124,可以修改dhcpd.conf配置文件,參考以下內容在網段聲明內添加以下host主機聲明。

host prtsvr {
      hardware  ethernet  00:0c:c3:22:46:81;
      fixed-address  192.168.10.124;
}


3、啟動dhcpd服務

在啟動dhcpd服務之前,應確認提供DHCP服務器的網絡接口具有靜態指定的固定IP地址,並且至少有一個網絡接口的IP地址與DHCP服務器中的一個subnet網段相對應,否則無法正常啟動dhcpd服務。例如DHCP服務器的IP地址為192.168.10.131/24,用於為網段192.168.10.0/24內的其他客戶機提供自動分配地址服務。

安裝dhcp軟件包以後,對應的系統服務腳本位於/etc/rc.d/init.d/dhcpd,可以使用標準的系統服務進行控制。dhcp默認使用UDP協議的67端口。

[root@twgdh ~]#service dhcpd start
正在啟動  dhcpd:                                         [確定]
[root@twgdh ~]#netstat  -anpu  |  grep “:67”
udp      0     0.0.0.0:67       0.0.0.0:*          4784/dhcpd


需要關閉,重啟dhcpd服務時,只要將上述操作命令中的“start”改為“stop”、“restart”即可。如果dhcpd服務啟動失敗,可以檢查日誌文件/var/log/messages末尾的錯誤提示小時,並根據提示進行排錯。

Linux服務器搭建之DHCP服務器