一、DHCP的原理
DHCP 是 Dynamic Host Configuration Protocol(动态主机配置协议)缩写,它的前身是 BOOTP。BOOTP 原本是用于无磁盘主机连接的网络上面的:网络主机使用 BOOT ROM 而不是磁盘启动并连DHCP 接上网络,BOOTP则可以自动地为那些主机设定 TCP/IP 环境。但 BOOTP 有一个缺点:您在设定前须事先获得客户端的硬件地址,而且,与 IP 的对应是静态的。换而言之,BOOTP 非常缺乏 "动态性" ,若在有限的 IP 资源环境中,BOOTP 的一对一对应会造成非常严重的资源浪费。DHCP 可以说是 BOOTP 的增强版本,它分为两个部份:一个是服务器端,而另一个是客户端。所有的 IP 网络设定数据都由 DHCP 服务器集中管理,并负责处理客户端的 DHCP 要求;而客户端则会使用从服务器分配下来的IP环境数据。比较起 BOOTP ,DHCP 透过 "租约" 的概念,有效且动态的分配客户端的 TCP/IP 设定,而且,作为兼容考虑,DHCP 也完全照顾了 BOOTP Client 的需求。DHCP 的分配形式 首先,必须至少有一台 DHCP 工作在网络上面,它会监听网络的 DHCP 请求,并与客户端磋商 TCP/IP的设定环境。
使用DHCP时必须在网络上有一台DHCP服务器,而其他机器执行DHCP客户端。当DHCP客户端程序发出一个信息,要求一个动态的IP地址时,DHCP服务器会根据目前已经配置的地址,提供一个可供使用的IP地址和子网掩码给客户端。
使用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服务器重新收回。
服务器Ip:
[root@station1 ~]# cd /mnt/cdrom/Server/
[root@station1 Server]# rpm -ivh dhcp-3.0.5-21.el5.i386.rpm
[root@wbk ~]# vim /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 { //用户可以用subnet语句通知DHCP服务器,把服务器可以分配的IP地址范围限制在规定的子网内。Subnet语句包含了表示子网掩码的netmask
#defaultgatewa optionrouters192.168.10.1; //设置网关和路由器的IP地址】
option subnet-mask255.255.255.0; //设置子网掩码
option nis-domain "domain.org";optiondomain-name "abc1.com"; //设置DNS域名
option domain-name-servers 192.168.10.1; //设置DNS服务器的IP地址(可多个)
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.10.2 192.168.10.2; //通过range语句,可以指定动态分配给库互动的IP地址范围。在range语句中需要知道地址段的首地址和尾地址(可设多个范围)
default-lease-time 21600; //指定客户端IP地址默认租用的时间长度是多少(以秒为单位) max-lease-time 43200; //设置客户最长租用IP地址时间(以秒为单位)
# we want the nameserver to appear at a fixed address
host ns { //给某些主机绑定固定IP(可设置多个) next-server marvin.redhat.com; //设置用于定义服务器从影到文件装副的主机名,一般不用(仅用于设置无盘工作站)
hardware ethernet 12:34:56:78:AB:CD; //需设置固定IP的网卡的MAC地址fixed-address 207.175.42.254; //对指定的MAC地址分配IP地址
}
}
测试:
DHCP超级作用域:
服务器Ip:
[root@wbk ~]# vim /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
shared-network dde {
subnet 192.168.10.0 netmask 255.255.255.0 { //用户可以用subnet语句通知DHCP服务器,把服务器可以分配的IP地址范围限制在规定的子网内。Subnet语句包含了表示子网掩码的netmask
# --- default gatewayoptiorouters 192.168.10.1 //设置网关和路由器的IP地址
option subnet-mask 255.255.255.0; //设置子网掩码
option nis-domain "domain.org";optiondomain-na "abc1.com"; //设置DNS域名
option domain-name-servers 192.168.10.1; //设置DNS服务器的IP地址(可多个)
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.10.2 192.168.10.2; //通过range语句,可以指定动态分配给库互动的IP地址范围。在range语句中需要知道地址段的首地址和尾地址(可设多个范围)
default-lease-time 21600; //指定客户端IP地址默认租用的时间长度是多少(以秒为单位)
max-lease-time 43200; //设置客户最长租用IP地址时间(以秒为单位)
# we want the nameserver to appear at a fixed address host ns //给某些主机绑定固定IP(可设置多个)
next-server marvin.redhat.com; //设置用于定义服务器从影到文件装副的主机名,一般不用(仅用于设置无盘工作站)
hardware ethernet 12:34:56:78:AB:CD; //需设置固定IP的网卡的MAC地址
fixed-address 207.175.42.254; //对指定的MAC地址分配IP地址
}
}
subnet 192.168.100.0 netmask 255.255.255.0 { //用户可以用subnet语句通知DHCP服务器,把服务器可以分配的IP地址范围限制在规定的子网内。Subnet语句包含了表示子网掩码的netmask
# --- default gateway
option routers 192.168.100.1; //设置网关和路由器的IP地址
option subnet-mask 255.255.255.0; //设置子网掩码
option nis-domain "domain.org";
option domain-name "abc.com"; //设置DNS域名
ption domain-name-servers 192.168.100.1; //设置DNS服务器的IP地址(可多个)
option time-offset -18000; # Eastern Standard Time //设置与格林威治时间的偏移差
range dynamic-bootp 192.168.100.3 192.168.100.3; //通过range语句,可以指定动态分配给库互动的IP地址范围。在range语句中需要知道地址段的首地址和尾地址(可设多个范围)
default-lease-time 21600; //指定客户端IP地址默认租用的时间长度是多少(以秒为单位)
max-lease-time 43200; //设置客户最长租用IP地址时间(以秒为单位)
}
}
}
DHCP中继:
DHCP服务器:
1. dhcp服务器安装
2. 编辑dhcpd.conf文件
3.
3. 重启dhcp服务器
5.
DHCP超级作用域
1.
2.在pc1上
3.在pc2上
DHCP中继
用ws2003作为路由器
拓扑图
1.配置dhcp服务器
2.在WS2003 中添加两块网卡,三块网卡区域分别为:vnet1,vnet2,vnet3。
3.在WS2003中启动路由和远程访问服务
4.“配置并启用路由和远程访问”
5.
6.
7.
8.
9.
10.选择需要中继的接口,在WS2003中选择两个无dhcp服务器的网卡接口,tec,mkt。
11.指明dhcp服务器的IP地址
12.在vnet2段内用pc进行测试。
13。.在vnet2段内用pc进行测试。
DHCP中继
-------用linux作为路由器
拓扑图
1.配置dhcp服务器
2.在路由器上添加两块网卡,分别在vnet1,vnet2,vnet3
3.在路由器(linux)上安装dhcp服务器,利用其中继功能
4.编辑/etc/sysctl.conf文件打开路由器转发功能
Sysctl �Cp使生效
5.编辑/etc/sysconfig/dhcrealy,设置中继功能。接口要写包括dhcp服务器所在网段的接口,共3个。与windows server 2003 不同
6.
7.配置完成,用PC进行验证。
dhcp是一种非常实用的网络服务,用于小 中 大各种网络中 ,使用DHCP服务省去了网络管理员的很多麻烦,同时也方便了网络用户。。。。。