紅帽linux下配置DHCP服務器

DHCP:(Dynamic Host Configuration Protocol)動態主機配置協議。

 

首先檢查是否安裝了DHCP服務:

rpm -qa |grep dhcp

如果沒有則需要安裝(下載rpm包或者到linux安裝光盤中找)

rpm -ivh dhcp-3.0pl1-23.i386.rpm

 

DHCP的主配置文件爲:/etc/dhcpd,默認安裝完成後沒有此文件,需要手工創建,也可以從模板複製:

cp /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample /etc/dhcpd.conf

 

用vi打開主配置文件:

ddns-update-style interim; //DHCP服務的更新模式
ignore client-updates; //忽略客戶機更新

subnet 192.168.1.0 netmask 255.255.255.0 { //聲明要分配的子網(必須是一個網絡號)

# --- default gateway
option routers 192.168.1.1; //爲DHCP客戶機設置默認網關
option subnet-mask 255.255.255.0; //爲DHCP客戶機設置子網掩碼

option nis-domain "domain.org";
option domain-name "domain.org"; //爲DHCP客戶機指明DNS名
option domain-name-servers 192.168.1.1; //爲DHCP客戶機設置DNS服務器地址

option time-offset -18000; # Eastern Standard Time

//爲客戶端設定和格林威治時間的偏移時間,單位是秒。
# option ntp-servers 192.168.1.1; //爲DHCP客戶機指定網絡時間服務器地址
# option netbios-name-servers 192.168.1.1; //爲DHCP客戶機指定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 dynamic-bootp 192.168.1.15 192.168.1.16; //地址池範圍

range 192.168.20 192.168.1.100
default-lease-time 21600; //爲DHCP客戶機設置默認地址租期
max-lease-time 43200; //爲DHCP客戶機設置最大地址租期

# we want the nameserver to appear at a fixed address
host name { //設置保留名稱(name可以自定義)
next-server marvin.redhat.com; //
hardware ethernet 12:34:56:78:AB:CD; //要保留的客戶機的MAC地址
fixed-address 207.175.42.254; //要分配給此保留地址的IP

}

}


租約文件:

/var/lib/dhcp/dhcpd.leases

租約文件內容如下例:

lease 192.168.1.11 { //DHCP服務器分配出的IP地址
starts 2 2006/10/03 04:42:52; //開始租約時間
ends 2 2006/10/03 10:42:52; //結束租約時間
binding state active;
next binding state free;
hardware ethernet 00:e0:a0:07:ef:dd; //DHCP客戶機的MAC地址
uid "\001\000\340\240\007\357\335"; //用來驗證客戶機的UID標識
client-hostname "computeranme"; //客戶機的計算機名
}


以上配置完成後啓動DHCP服務

service dhcpd start

service dhcpd restart 重啓DHCP服務

 

DHCP安全管理和故障排除(引用):

使用ps命令檢查dhcpd進程:
ps -aux | grep dhcpd
root 2402 1 0 14:25 ? 00:00:00 /usr/sbin/dhcpd
root 2764 2725 0 14:29 pts/2 00:00:00 grep dhcpd
使用netstat命令檢查dhcpd運行的端口:
netstat -nutap | grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 2402/dhcpd


 

如果你的Linux系統連接了不止一個網絡界面,但是你只想讓 DHCP 服務器啓動其中之一,你可以配置 DHCP 服務器只在那個設備上啓動。在 /etc/sysconfig/dhcpd 中,把界面的名稱添加到 DHCPDARGS 的列表中:
DHCPDARGS=eth0
或者直接使用命令:
Echo “DHCPDARGS=eth0”>> /etc/ sysconfig/dhcpd


 

典型故障:
1.DHCP服務器配置完成,沒有語法錯誤。但是網絡中的客戶機卻沒辦法取得IP地址。
通常是Linux DHCP服務器沒有辦法接收來自255.255.255.255 的 DHCP 客戶機的Request 封包造成的。一般是Linux DHCP服務器的網卡沒有設置具有MULTICAST功能。爲了讓dhcpd(dhcp程序的守護進程)能夠正常的和DHCP客戶機溝通,dhcpd必須傳送封包到255.255.255.255這個IP地址,但是有些Linux系統裏255.255.255.255這個IP地址被用來做爲監聽區域子網域(local subnet)廣播的 IP地址,所以需要在路由表(routing table)里加入255.255.255.255以激活MULTICAST功能;
使用命令:
route add -host 255.255.255.255 dev eth0
如果報告錯誤消息:255.255.255.255:Unkown host
那麼請先修改/etc/hosts加入一行:
255.255.255.255 dhcp
2. DHCP客戶端程序和DHCP服務器不兼容
由於Linux有許多發現版本,不同版本使用DHCP客戶端程序和DHCP服務器也不相同。Linux提供了四種DHCP客戶端程序:pump, dhclient, dhcpxd, 和dhcpcd。瞭解不同Linux發行版本的服務器端和客戶端程序對於常見錯誤排除是必要的。筆者曾經遇到過使用SuSE Linux 9.1 DHCP服務器和使用Mandrake Linux 9.0客戶機不兼容的情況。此時就必須更換客戶端程序。方法是先停止客戶機的網絡服務,卸載原程序,安裝和服務器端兼容程序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章