先来看DHCP的工作原理.
DHCP (Dynamic Host Configuration Protocol)
下面的部分是google找的....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DHCP
来自ITwiki,开放的信息技术大百科
DHCP是Dynamic Host Configuration Protocol的缩写,它是TCP/IP协议簇中的一种,主要是用来给网络客户机分配动态的IP地址。这些被分配的IP地址都是DHCP服务器预先保留的一个由多个地址组成的地址集,并且它们一般是一段连续的地址。
理解DHCP服务
使用DHCP时必须在网络上有一台DHCP服务器,而其他机器执行DHCP客户端。当DHCP客户端程序发出一个信息,要求一个动态的IP地址时,DHCP服务器会根据目前已经配置的地址,提供一个可供使用的IP地址和子网掩码给客户端。
1. 使用DHCP的优点
DHCP使服务器能够动态地为网络中的其他服务器提供IP地址,通过使用DHCP,就可以不给Intranet网中除DHCP、DNS和WINS服务器外的任何服务器设置和维护静态IP地址。使用DHCP可以大大简化配置客户机的TCP/IP的工作,尤其是当某些TCP/IP参数改变时,如网络的大规模重建而引起的IP地址和子网掩码的更改。
DHCP服务器是运行Microsoft TCP/IP、DHCP服务器软件和Windows NT Server的计算机,DHCP客户机则是请求TCP/IP配置信息的TCP/IP主机。DHCP使用客户机/服务器模型,网络管理员可以创建一个或多个维护TCP/IP配置信息的DHCP服务器,并且将其提供给客户机。
DHCP服务器上的IP地址数据库包含如下项目:
● 对互联网上所有客户机的有效配置参数。
● 在缓冲池中指定给客户机的有效IP地址,以及手工指定的保留地址。
● 服务器提供租约时间,租约时间即指定IP地址可以使用的时间。
在网络中配置DHCP服务器有如下优点:
● 管理员可以集中为整个互联网指定通用和特定子网的TCP/IP参数,并且可以定义使用保留地址的客户机的参数。
● 提供安全可信的配置。DHCP避免了在每台计算机上手工输入数值引起的配置错误,还能防止网络上计算机配置地址的冲突。
● 使用DHCP服务器能大大减少配置花费的开销和重新配置网络上计算机的时间,服务器可以在指派地址租约时配置所有的附加配置值。
● 客户机不需手工配置TCP/IP。
● 客户机在子网间移动时,旧的IP地址自动释放以便再次使用。在再次启动客户机时,DHCP服务器会自动为客户机重新配置TCP/IP。
● 大部分路由器可以转发DHCP配置请求,因此,互联网的每个子网并不都需要DHCP服务器。
注释:
如果要使用DHCP服务器支持跨越多重路由器的子网,则路由器可能需要硬件升级。路由器必须支持RFC 1533、1534、1541和1542。
2. DHCP分配地址的方式
DHCP使用客户/服务器模式,网络管理员建立一个或多个DHCP服务器,在这些服务器中保存了可以提供给客户机的TCP/IP配置信息。这些信息包括网络客户的有效配置参数、分配给客户的有效IP地址池(其中包括为手工配置而保留的地址)、服务器提供的租约持续时间。
如果将TCP/IP网络上的计算机设定为从DHCP服务器获得IP地址,这些计算机则成为DHCP客户机。启动DHCP客户机时,它与DHCP服务器通信以接收必要的TCP/IP配置信息。该配置信息至少包含一个IP地址和子网掩码,以及与配置有关的租约。
DHCP服务器有3种为DHCP客户机分配TCP/IP地址的方式:
● 手工分配:在手工分配中,网络管理员在DHCP服务器通过手工方法配置DHCP客户机的IP地址。当DHCP客户机要求网络服务时,DHCP服务器把手工配置的IP地址传递给DHCP客户机。
● 自动分配:在自动分配中,不需要进行任何的IP地址手工分配。当DHCP客户机第一次向DHCP服务器租用到IP地址后,这个地址就永久地分配给了该DHCP客户机,而不会再分配给其他客户机。
● 动态分配:当DHCP客户机向DHCP服务器租用IP地址时,DHCP服务器只是暂时分配给客户机一个IP地址。只要租约到期,这个地址就会还给DHCP服务器,以供其他客户机使用。如果DHCP客户机仍需要一个IP地址来完成工作,则可以再要求另外一个IP地址。
动态分配方法是惟一能够自动重复使用IP地址的方法,它对于暂时连接到网上的DHCP客户机来说尤其方便,对于永久性与网络连接的新主机来说也是分配IP地址的好方法。DHCP客户机在不再需要时才放弃IP地址,如DHCP客户机要正常关闭时,它可以把IP地址释放给DHCP服务器,然后DHCP服务器就可以把该IP地址分配给申请IP地址的DHCP客户机。
使用动态分配方法可以解决IP地址不够用的困扰,例如C类网络只能支持254台主机,而网络上的主机有三百多台,但如果网上同一时间最多有200个用户,此时如果使用手工分配或自动分配将不能解决这一问题。而动态分配方式的IP地址并不固定分配给某一客户机,只要有空闲的IP地址,DHCP服务器就可以将它分配给要求地址的客户机;当客户机不再需要IP地址时,就由DHCP服务器重新收回。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
呵呵.各位看完了吧...
下面我们来配置...
先安装.安装之前查看下 看系统是否已经装了.
rpm -qa |grep dhcp
查看到我的系统之有个client
rpm -ivh dhcp-3.0.5-3.el5.i386.rpm #这个是主程序,主程序是必须的.
rpm -ivh dhcp-devel-3.0.5-3.el5.i386.rpm #这是DHCP服务器开发工具软件包,为DHCP开发提供库文件支持
rpm -ivh dhcpv6-0.10-33.el5.i386.rpm # 这个是这是DHCP客户端IPv6软件包,帮助客户端获取动态IP地址。
装完了之后可以看到.
linux dhcp
的主配置文件是 dhcpd.conf
在刚开始的时候 /etc目录下面的dhcpd.conf是个空白的文件
red hat linux 9.0里面开始的时候没这个文件...
red hat enterprise linux 5.1的下面有这个文件.
打开后,里面的内容是
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
所以. 我们到上面说的目录里面看看去.
vim /usr/share/doc/dhcp*/dhcpd.conf.sample
注意:这里的dhcp* 是你用的dhcp 的版本号.不同的系统这个是不同的.
比如red hat enterprise 5.1的是dhcp-3.0.5
red hat linux 9.0里面是dhcp-3.0pl1
大家可以找到/usr/share/doc/目录 ls 下就行了.
我们要把这个文件覆盖到/etc/dhcpd.conf下面.
cp /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample /etc/dhcpd.conf
然后带 vim /etc/dhcpd.conf
打开后就看到下面的配置了.
ddns-update-style interim; #(这里是动态DNS解析方式,有三种none,为不支持冬天更新|interim,为DNS互动更新模式|ad-hoc,为表示特殊DNS更新模式)
ignore client-updates;#(忽视客户端的更新)
subnet 192.168.1.0 netmask 255.255.255.0 #(这个相信大家都看得懂的吧.为网络号,和子网掩码,定义作用域){
# --- default gateway
option routers 192.168.1.1;#(配置网关(路由)的地址)
option subnet-mask 255.255.255.0;#(子网掩码)
option nis-domain "domain.org";#(配置NIS)
option domain-name "domain.org";#(配置域名服务,)
option domain-name-servers 192.168.1.1;#(DNS服务器地址)
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.1.128 192.168.1.204;#(IP地址段,即从这个地址池中给客户端分配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地址绑定的了.)
next-server marvin.redhat.com;#(这个next-server 语句用来指定初始启动文件存放的主机地址 (filename指定的文件)。Server-name 是一个数字的IP地址或者是域名。如果没有next-server参数传送给客户端,就使用DHCP服务器的地址。)
hardware ethernet 12:34:56:78:AB:CD;#(网络接口类型和MAC地址)
fixed-address 207.175.42.254;#(指定的IP地址)
}
}
修改完成后保存 w!
service dhcpd restart
来看看客户端获取到IP地址没?
呵呵.看到了吧.已经获取到了.
最后说下,租约数据库文件
租约数据库文件用于保存一系列的租约声明,其中包含客户端的主机名、MAC地址、分配到的IP地址,以及IP地址的有效期等相关信息。这个数据库文件是可编辑的ASCII格式文本文件。每当发生租约变化的时候,都会在文件结尾添加新的租约记录。
DHCP刚安装好后租约数据库文件dhcpd.leases是个空文件。
cat /var/lib/dhcpd/dhcpd.leases red hat enterprise linux5.1是这.
而cat /var/lib/dhcp/dhcpd.leases则是red hat linux 9.0 的.
呵呵.他的博客可的本人学习linux必备的武器啊.哈哈....