DHCP配置详解

 

/var/lib/dhcpd/dhcpd.leases 租约数据库文件

/usr/share/doc/dhcp-*/dhcpd.conf.sample 配置文件示例文件

/etc/dhcpd.conf 主配置文件

 

1.     DHCP应用环境

a)      局域网中存在大量主机且需要经常变动IP地址(如不经常变动IP则最好全部设置静态IPIP MAC绑定)

b)      局域网中存在比较多移动办公设备 ,这种的典型就是如一些餐饮及一些提供无线接入的场所。

 

2.     DHCP术语解释

a)      DHCP服务器:提供DHCP服务的计算机

b)      DHCP客户端:启用DHCP设置的计算机,就是需要DHCP服务的设备吧

c)       作用域:一个完整连续的可用IP地址范围,DHCP服务主要就是通过作用域来管理网络分布,IP地址分配及其它相关配置参数。

d)      超级作用域:管理级的作用域集合,用于支持同一物理网络上的多个逻辑IP子网,超级作用域包含子作用域的列表,对子作用域进行统一管理。

e)       排除范围:排除范围是作用域内从DHCP服务中排除的有限IP地址序列,排除范围确保在这些范围中的任何地址都不是由网络上的服务器提供给DHCP客户机,(就相当于保留地址,比如网络中网络打印机地址需要固定,就不能把这个地址再给客户机)

f)        地址池:在定义DHCP作用域并应用排除范围之后,剩余的地址在作用域内形成可用地址池,就是作用域中可用IP的范围,这时的地址才可以由DHCP服务器动态分配给DHCP客户端使用。

g)      租约:客户计算机可以使用动态分配IP地址的时间,这个时间可以由DHCP服务器设置。当一台客户机发出租约后,此租约被看作是活动的,在租约终止前,客户机可以向DHCP服务器请求更新其租约。当租约到期或被服务器删除后,就变动不活动的了,租约的持续时间决定了租约什么时候终止及客户机隔多久向DHCP服务器更新其租约

h)      预约:创建从DHCP服务器客户机的永久地址租约指定,预约可以保证子网上的特定设备总是使用相同的IP地址(如网络打印机的IPDHS服务器的等)

i)         选项类型:当DHCP服务器向DHCP客户机提供租约服务时可以指定的其它客户机的配置参数,典型的这些选项类型由各个作用域启用和配置。大多数选项在RFC21232中预定了,如需要,可以在DHCP管理器定义并添加自定义选项类型。(一般不用)

j)        选项类别:DHCP服务器用于进一步提供给客户机的选项类型的方法,选项类别可以在用户的DHCP服务器上配置以提供特定的客户机支持。

3.     DHCP工作原理

a)      DHCP客户机第一次登陆网络时,如客户机上无任何IP信息设定,它会向网络 发出DHCP DISCVER数据包,为保证服务器能够收到请求,数据包源地址为0.0.0.0,目的地址是255.255.255.255 即以广播形式发送DHCP DISCOVER信息。

b)      DHCP服务器监听到客户端发出的DHCP DISCOVER广播后,它会从那些还没有透出的地址范围中选择可用IP及其它TCP/IP设定以DHCP OFFER数据包形式发送给客户机。

c)       如客户端收到网络上多台DHCP服务器的响应,客户端会挑选最快一个DHCP OFFER并向网络发送一个DHCP REQUEST广播封包,告诉所有DHCP服务器它将使用哪一台服务器提供的IP地址。同时,客户端还会向网络发送ARP广播数据包,查询网络上有没有其它机器使用该IP地址,如何发现此IP已经被占用,客户端则会发送一个DHCP DECLINE数据包给DHCP服务器,拒绝接受其DHCP OFFER,并重新发送DHCP REQUEST信息。

客户端可以保留自己的一些TCP/IP设定,如网关,DHS地址等。

d)      将地址分配给客户端后,DHCP 服务器会发送一个DHCP ACK消息,以确认IP租约正式生效,结束完整的DHCP工作过程。

e)       DHCP客户端成功地从服务器取得IP地址后,一般不需要再发送DHCP DISCOVER信息,除非租约已经到期或者IP地址重新设定回0.0.0.0 此时客户端会直接使用已经租用到的IP地址向为其发放此IP地址的DHCP服务器发出DHCP REQUEST信息,DHCP服务器会尽量让客户端使用原来的IP地址,如无特殊情况,会直接响应DHCP ACK,允许客户端继续使用此IP地址,如果此地址已经失效或已经被其它主机使用,服务器会一个DHCP NACK数据包给客户端,要求其重新执行DHCP DISCOVER.

客户端执行DHCP DISCOVER后,台无DHCP服务器响应客户端请求,客户端会随机使用169.254.0.0/16网段中的一个IP地址配置本机地址。

4.     安装DHCP服务所需软件

dhcp-3.0.5-23.el5.i386.rpm            DHCP主程序包,包括DHCP服务和中继代理程序,安装此软件包并进行相应 配置,就可以为客户机动态分配IP地址及其它TCP/IP信息、

dhcp-devel-3.0.5-23.el5.i386.rpm    DHCP服务器开发工具软件包,为DHCP开发提供库文件支持。

dhcpv6-1.0.10-18.el5.i386.rpm  DHCPIPV6扩展工具,使DHCP服务器能够支持IPV6最新功能,如IPV6地址的动态配置及IPV6中继代理等。

dhcpv6-client-1.0.10-18.el5.i386.rpm DHCP客户端IPV6软件包,帮助客户端获取动态IP地址。

软件的安装这里就不多说,使用 rpm –qa |grep dhcp查询一下已经安装的软件,将未安装的rpm –ivh softname 安装就可以了.

5.     DHCP常规服务器的配置

基本的DHCP服务器搭建流程

a)      编辑主配置文件dhcpd.conf ,指定IP作用域 指定一个或多个IP地址范围。

b)      建立租约数据库文件

c)       重新加载配置文件或重新启动DHCPD服务使配置生效。

DHCP工作流程

a)      客户端发送广播向服务器申请IP地址

b)      服务器收到请求后查看主配置dhcpd.conf,先根据客户端的MAC地址查看是 否为客户端设置 了固定IP地址。如设置刚将固定IP发送给客户端。如未设置则从地址池中IP发送给客户端。

c)       客户端收到服务器回应后,客户端给于服务器回应,告诉服务器已经使用了分配 IP地址。

d)      服务器将相关租约信息存入数据库。

DHCP主配置文件

      DHCP主程序包安装好后会自动生成主配置文件的示例文件, /usr/share/doc/dhcp-*/dhcpd.conf.sample 而在/etc 目录下会建立一个空白的dhcpd.conf 主配置文件。 ls /etc/ |grep dhcp

将示例文件下复制到/etc覆盖原文件即可。示例文件全文:

 

红色字为手动增加注释。

[root@rhel dhcp-3.0.5]# more dhcpd.conf.sample

ddns-update-style interim;  表示所支持的DNS动态更新类型 none不支持动态更新 interim DNS互动更新模式 ad-hoc 表示特殊DNS更新模式 此行必选。

ignore client-updates;忽略客户端更新此参数只在服务器端使用

 

subnet 192.168.0.0 netmask 255.255.255.0 {定义作用域指定子网

网络号必须与DHCP服务器网络号相同。

# --- 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服务器   配置多个DNS服务器:option domain-name-servers      192.168.1.1192.168.1.2

 

        option time-offset              -18000; # Eastern Standard Time

#       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地址范围。可指定多个range,但所定义IP范围不能重复。

        default-lease-time 21600;     定义默认IP租约时间,单位秒

        max-lease-time 43200;默认客户端IP租约时间的最大值

 

        # we want the nameserver to appear at a fixed address

        host ns {    用于定义保留地址 就是IP MAC绑定的IP

                next-server marvin.redhat.com;

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

                fixed-address 207.175.42.254;   定义DHCP客户端指定的IP地址。

                 host dns {

hardware ethernet 12:34:56:78:AB:12;                fixed-address 192.168.0.254  

        }

}

 

租约数据库文件

      用于保存一系列租约声明,其中包含客户端的主机名,MAC地址,分配到的IP地址IP地址的有效期等,此文件是可编辑的ASCII格式文本文件。发生租约变化时,会在文件结尾添加新的租约记录。 刚安装好后租约数据库文件是空文件 /var/lib/dhcpd/dhcpd.leases   DHCP正常运行后就会向里添加

服务启动与重启

service dhcpd start   service dhcpd stop    service dhcpd restar

/etc/rc.d/init.d/dhcpd start   stop    restart     reload

 

 

自动加载DHCP服务

chkconfig –level 3 dhcpd     运行级别3自动加载dhcpd服务

chkconfig –level 3 dhcpd off     关闭运行级别3自动加载dhcp服务

或者ntsysv里配置。

6.     IP地址绑定

DHCPIP地址绑定用于级客户端分配固定IP,如服务器及网络打印机等设备。通过MACIP的对应关系为指定设备分配IP.,每一个绑定的IP 需要一段 host name{ }

tail -F /etc/log/message 查看日志。

 

7.     DHCP服务的应用及排错

普通小型C类网络网络一台DHCP服务器就可以。

对于需要多个域的网络,可以使用多网卡实现,也可以使用超级作用域。超级作用域暂时不说了。

排错:常见错误有配置文件不存在或者配置文件内容出错,网卡IP错误或者与配置文件中网络不相同,不存在租约文件(可以手动建立/var/lib/dhcpd/dhcpd.leases ),还可以查看系统日志判断错误,当然客户机到DHCP服务器的网络是要通着的。