DHCP工作流程及服务器配置

工作流程:

1. DHCP请求IP地址的过程

-- 发现阶段(DHCPDISCOVER), 即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER包,只有DHCP服务器才会响应。

-- 提供阶段(DHCPOFFER), 即DHCP服务器提供IP地址的阶段。 服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包。

-- 选择阶段(DHCPREQUEST), 即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器( )向该客户端发送DHCPOFFER包,客户端从中随机挑选,然后以广播形式向各DHCP服务器回应DHCPREQUEST包,宣告使用它挑中的DHCP服务器提供的地址,并正式请求该DHCP服务器分配地址。其它所有发送DHCPOFFER包的DHCP服务器接收到该数据包后,将释放已经OFFER(预分配)给客户端的IP地址。

如果发送给DHCP客户端的DHCPOFFER包中包含无效的配置参数,客户端会向服务器发送DHCPCLINE包拒绝接受已经分配的配置信息。

-- 确认阶段(DHCPACK), 即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后,DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。

2. DHCP客户端续租IP地址的过程

--DHCP服务器( )分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。实际使用中, 在IP地址租约期限达到一半时 ,DHCP客户端会自动向DHCP服务器发送DHCPREQUEST包,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应 DHCPACK 包,通知DHCP客户端已经获得新IP租约。

如果DHCP客户端续租地址时发送的DHCPREQUEST包中的IP地址与DHCP服务器当前分配给它的IP地址(仍在租期内)不一致,DHCP服务器将发送 DHCPNAK 消息给DHCP客户端。

3. DHCP客户端释放IP地址的过程

--DHCP客户端已从DHCP服务器获得地址,并在租期内正常使用,如果该DHCP客户端不想再使用该地址,则需主动向DHCP服务器发送 DHCPRELEASE 包,以释放该地址,同时将其IP地址设为0.0.0.0。

 

DHCP配置文件通常包括3部分 :declarations, parameters, options。

declarations:描述网络的布局;描述客户;提供客户的地址。

parameters:表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。

option:配置DHCP可选参数。

常用声明(declarations)

shared-network 告知DHCP服务器是否为一些子网络分享相同网络

subnet 描述一个IP是否属于子网

range 提供动态分配IP地址的起始和结束范围

host 为特定的主机提供网络参数

group 为一组参数提供声明

常用参数(parameters)

ddns-update-style 配置DHCP-DNS互动更新模式

default-lease-time 指定默认租赁时间的长度,单位为秒

max-lease-time 指定最大租赁时间长度,单位为秒

hardware 指定网卡接口类型和MAC地址

server-name 告知DHCP客户服务器名称

fixed-address 为客户端指定一个固定的IP地址

常用选项(option)

domain-name 为客户端指定域名

domain-name-servers为客户端指明DNS服务器IP地址

host-name 为客户端指明主机名称

routers 为客户端指明默认网关

broadcast-address 为客户端设定广播地址

subnet-mask 为客户端设定子网掩码

ntp-server 为客户端设定格林威治时间的偏移时间,单位为秒


下面是一个 配置文件的例子
如果是Linux系统的话就按下面操作:

1、先挂载光盘  #mount  /dev/cdrom  /media

2、然后安装DHCP服务器安装包   #rpm -ivh /media/Server/dhcp-3.0.5-3.el5.i386.rpm

3、复制dhcp服务器配置示例文件到/etc下并改名为dhcpd.conf
   #cd /usr/share/doc/dhcp-3.0.5/
   #cp dhcpd.conf.sample /etc/dhcpd.conf这一步会有一个是否覆盖,写y就行了

4、修改dhcp服务器的配置文件:#vi /etc/dhcpd.conf

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample  
#[root@pact config]# cat /usr/share/doc/dhcp*/dhcpd.conf.sample 
ddns-update-style interim; #ddns-update-style 配置DHCP-DNS互动更新模式
ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 { #subnet 描述一个IP是否属于子网

# --- default gateway
        option routers                  192.168.0.1; #为客户端指定默认网关
        option subnet-mask              255.255.255.0; #设置客户端的子网掩码

        option nis-domain               "domain.org";
        option domain-name              "domain.org"; #为客户端指定域名
        option domain-name-servers      192.168.1.1; #为客户端指定DNS服务器地址

        option time-offset              -18000; # 为客户端设定格林威治时间的偏移时间,单位为秒
#       option ntp-servers              192.168.1.1; #为客户端指定时间服务器
#       option netbios-name-servers     192.168.1.1;
# --- 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.0.128 192.168.0.254; #提供动态分配IP地址的起始和结束范围
        default-lease-time 21600; #指定默认租赁时间的长度,单位为秒
        max-lease-time 43200; #指定最大租赁时间长度,单位为秒

        # we want the nameserver to appear at a fixed address
        host ns { #host 为特定的主机提供网络参数
                next-server marvin.redhat.com;
                hardware ethernet 12:34:56:78:AB:CD; #指定网卡接口类型和MAC地址
                fixed-address 207.175.42.254; #为客户端指定一个固定的IP地址
        }
}
Wednesday, June 26, 2013 | Networking

文章评论

No comments posted yet.

发表评论

Please add 2 and 4 and type the answer here: