Linux下配置完整安全的DHCP服務器詳解

DHCP是動態主機配置協議 。這個協議用于向計算機自動提供IP地址,子網掩碼和路由信息 。網絡管理員通常會分配某個范圍的IP地址來分發給局域網上的客戶機 。當設備接入這個局域網時,它們會向 DHCP 服務器請求一個 IP 地址 。然后DHCP服務器為每個請求的設備分配一個地址,直到分配完該范圍內的所有 IP 地址為止 。已經分配的IP地址必須定時地延長借用期 。這個延期的過程稱作leasing,確保了當客戶機設備在正常地釋放IP地址之前突然從網絡斷開時被分配的地址可以歸還給服務器 。本文以Redhat Linux 9.0為例,介紹如何建立一個完整和安全的DHCP服務器 。
一、建立DHCP服務器配置文件
可以使用Redhat Linux 9.0自身攜帶rpm包安裝 。安裝結束后, DHCP 端口監督程序 dhcpd配置文件是/etc目錄中的名為dhcpd.conf的文件 。下面手工建立/etc/dhcpd.conf文件 。/etc/dhcpd.conf通常包括三部分:parameters、declarations 、option 。
1.DHCP配置文件中的parameters(參數):表明如何執行任務,是否要執行任務,或將哪些網絡配置選項發送給客戶 。主要內容見表1
參 數解 釋ddns-update-style配置DHCP-DNS 互動更新模式 。default-lease-time指定確省租賃時間的長度,單位是秒 。max-lease-time指定最大租賃時間長度,單位是秒 。hardware指定網卡接口類型和MAC地址 。server-name通知DHCP客戶服務器名稱 。get-lease-hostnames flag檢查客戶端使用的IP地址 。fixed-address ip分配給客戶端一個固定的地址 。authritative拒絕不正確的IP地址的要求 。
2. DHCP配置文件中的declarations (聲明):用來描述網絡布局、提供客戶的IP地址等 。主要內容見表2:
聲 明解 釋shared-network用來告知是否一些子網絡分享相同網絡 。subnet描述一個IP地址是否屬于該子網 。range 起始IP 終止IP提供動態分配IP 的范圍 。host 主機名稱參考特別的主機 。group為一組參數提供聲明 。allow unknown-clients;deny unknown-client是否動態分配IP給未知的使用者 。allow bootp;deny bootp是否響應激活查詢 。allow booting;deny booting是否響應使用者查詢 。filename開始啟動文件的名稱,應用于無盤工作站 。next-server設置服務器從引導文件中裝如主機名,應用于無盤工作站 。
3. DHCP配置文件中的option(選項):用來配置DHCP可選參數,全部用option關鍵字作為開始,主要內容包括見表3:
選 項解 釋subnet-mask為客戶端設定子網掩碼 。domain-name為客戶端指明DNS名字 。domain-name-servers為客戶端指明DNS服務器IP地址 。host-name為客戶端指定主機名稱 。routers為客戶端設定默認網關 。broadcast-address為客戶端設定廣播地址 。ntp-server為客戶端設定網絡時間服務器IP地址 。time-offset為客戶端設定和格林威治時間的偏移時間,單位是秒 。
注意:如果客戶端使用的是視窗操作系統,不要選擇"host-name"選項,即不要為其指定主機名稱 。
下面是一個筆者使用的DHCP配置文件,這是一個C類網絡,共126個IP地址可以分配的例子 。讀者可以復制后使用,注意紅色部分是必須要修改的 。
ddns-update-style interim; ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers; 192.168.1.254;
option subnet-mask;;;255.255.255.0;
option broadcast-address;;;;;192.168.1.255;
option domain-name-servers;;;192.168.1.3;
option domain-name; "www.cao.com"; #DNS名稱#
option domain-name-servers; 192.168.1.3;
option time-offset;;;-18000;
range dynamic-bootp 192.168.1.128 192.168.1.255;
default-lease-time 21600;
max-lease-time 43200;
host ns {
hardware ethernet 52:54:AB:34:5B:09#運行DHCP的網絡接口的MAC地址#
fixed-address 192.168.1.9;

推薦閱讀