当DHCp服务器收到客户机请求IP地址的信息时,就在自己的IP地址池查找合法IP提供给客户机,如果有合法地址,DHCP服务器就将此IP做上标记,然后DHCP服务器广播一则包括以下信息的DHCP消息:DHCP客户机的MAC地址;DHCP服务器提供的合法IP地址;子网掩码;默认网关;租约期限;DHCP服务器的IP地址-MAC
由于DHCP客户机还没有IP地址,所以DHCP服务器使用自己的IP作为源地址,使用255.255.255.255作为目标地址,UDP 68端口作为源端口来广播DHCP信息。
软件名:
dhcp #DHCP服务软件包
dhcp-common #DHCP命令软件包(默认已经安装
服务名:
dhcpd #DHCP服务名
dhcrelay #DHCP中继服务名
端口号:
UDP 67 #客户端目标端口,接受客户端DHCP请求
UDP 68 #服务器源端口,向客户端回复请求包
配置文件:
dhcpd /etc/dhcp/dhcpd.conf
dhcpd.conf.sample /usr/share/doc/dhcp-4.*.*/dhcpd.confg.sample #DHCP模板配置文件
dhcrelay /etc/sysconfig/dhcrelay #该文件为中继文件配置
【 干货】速度收藏! DHCP服务器 简介及 配置 图文 教程
想必熟悉局域网的小伙伴,对于DHCP服务器一定不陌生,在一个计算机比较多的网络中,如果网络管理员要亲自为某个部门,甚至整个企业的上百台机器逐一手工分配IP地址,那么这个效率是非常低的,其实可以通过DHCP服务器来实现这个工作。本篇文章就为大家介绍了DHCP服务器的概念、原理以及配置,快来看看吧!
一、什么是 DHCP服务器 ? DHCP服务器 简介
1、简介
DHCP,(全称Dynamic Host Configuration Protocol),即动态主机配置协议。DHCP主要在局域网使用,对IP地址进行集中管理和分配,使网络环境中的主机动态获得IP地址、网关地址、DNS服务器地址等信息,并提升IP地址使用率。
2、原理
DHCP是一种基于客户/服务器模式的服务协议,工作原理其实很简单,是在安装有DHCP服务器的网络中,客户端启动时自动与DHCP服务器通信,要求服务器提供自动分配IP地址的服务,而安装了DHCP服务器软件的服务器响应这个要求,并向客户端发送出合法的IP地址。所谓DHCP服务器,也就是提供DHCP服务的服务器,它是通过IP地址租约的方式为DHCP客户端提供服务的。
DHCP客户端通过和DHCP服务器的交互通讯以获得IP地址租约。为了从DHCP服务器获得一个IP地址,在标准情况下DHCP客户端和DHCP服务器之间会进行四次通讯。DHCP协议通讯使用端口UDP 67(服务器端)和UDP 68(客户端)进行通讯,UDP68端口用于客户端请求,UDP67用于服务器响应,并且大部分DHCP协议通讯使用广播进行。
(1) DHCP DISCOVER
当DHCP客户端处于以下三种情况之一时,触发DHCP DISCOVER广播消息:
1)当TCP/IP协议作为DHCP客户端(自动获取IP地址)进行初始化(DHCP客户端启动、启用网络适配器或者连接到网络时);
2)DHCP客户端请求某个IP地址被DHCP服务器拒绝,通常发生在已获得租约的DHCP客户端连接到不同的网络中;
3)DHCP客户端释放已有租约并请求新的租约。
此时,DHCP客户端发起DHCP DISCOVER广播消息,向所有DHCP服务器获取IP地址租约。此时由于DHCP客户端没有IP地址,因此在数据包中,使用0.0.0.0作为源IP地址,然后广播地址255.255.255.255作为目的地址。在此请求数据包中同样会包含客户端的MAC地址,以便DHCP服务器进行区分。
如果没有DHCP服务器答复DHCP客户端的请求,DHCP客户端在等待1秒后会再次发送DHCP DISCOVER广播消息。除了第一个DHCP DISCOVER广播消息外,DHCP客户端还会发出三个DHCP DISCOVER广播消息,等待时延分别为9秒、13秒和16秒加上一个长度为0~1000毫秒之间的随机时延。如果仍然无法联系DHCP服务器,则认为自动获取IP地址失败,默认情况下将随机使用APIPA(自动专有IP地址,169.254.0.0/16)中定义的未被其他客户使用的IP地址,子网掩码为255.255.0.0,但是不会配置默认网关和其他TCP/IP选项,因此只能和同子网的使用APIPA地址的客户端进行通讯。
(2) DHCP OFFER
所有接收到DHCP客户端发送的DHCP DISCOVER广播消息的DHCP服务器会检查自己的配置,如果具有有效的DHCP作用域和富余的IP地址,则DHCP服务器发起DHCP OFFER广播消息来应答发起DHCP DISCOVER广播的DHCP客户端,此消息包含以下内容:
客户端MAC地址;
DHCP服务器提供的客户端IP地址;
DHCP服务器的IP地址;
DHCP服务器提供的客户端子网掩码;
其他作用域选项,例如DNS服务器、网关、WINS服务器等;
租约期限等。
因此DHCP客户端没有IP地址,所以DHCP服务器同样使用广播进行通讯:源IP地址为DHCP服务器的IP地址,而目的IP地址为255.255.255.255。同时,DHCP服务器为此客户保留它提供的IP地址,从而不会为其他DHCP客户分配此IP地址。如果有多个DHCP服务器给予此DHCP客户端回复DHCP OFFER消息,则DHCP客户端接受它接收到的第一个DHCP OFFER消息中的IP地址。
(3) DHCP REQUEST
当DHCP客户端接受DHCP服务器的租约时,它将发起DHCP REQUEST广播消息,告诉所有DHCP服务器自己已经做出选择,接受了某个DHCP服务器的租约。
在此DHCP REQUEST广播消息中包含了DHCP客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等,所有其他的DHCP服务器将收回它们为此DHCP客户端所保留的IP地址租约,以给其他DHCP客户端使用。
此时由于没有得到DHCP服务器最后确认,DHCP客户端仍然不能使用租约中提供的IP地址,所以在数据包中仍然使用0.0.0.0作为源IP地址,广播地址255.255.255.255作为目的地址。
( 4 ) DHCP ACK
提供的租约被接受的DHCP服务器在接收到DHCP客户端发起的DHCP REQUEST广播消息后,会发送DHCP ACK广播消息进行最后的确认,在这个消息中同样包含了租约期限及其他TCP/IP选项信息。
如果DHCP客户端的操作系统为Windows版本,当DHCP客户端接收到DHCP ACK广播消息后,会向网络发出三个针对此IP地址的ARP解析请求以执行冲突检测,确认网络上没有其他主机使用DHCP服务器提供的IP地址,从而避免IP地址冲突。如果发现该IP已经被其他主机所使用(有其他主机应答此ARP解析请求),则DHCP客户端则会广播发送(因为它仍然没有有效的IP地址)DHCP DECLINE消息给DHCP服务器拒绝此IP地址租约,然后重新发起DHCP DISCOVER进程。此时,在DHCP服务器管理控制台中,会显示此IP地址为BAD_ADDRESS。
如果没有其他主机使用此IP地址,则DHCP客户端的TCP/IP使用租约中提供的IP地址完成初始化,从而可以和其他网络中的主机进行通讯。至于其他TCP/IP选项,如DNS服务器和WINS服务器等,本地手动配置将覆盖从DHCP服务器获得的值。
二、 DHCP SERVER (RELAY)配置方式
1、相关配置文件
端口号:ipv4 udp 67(源端口:接收客户端请求的)、 udp 68(目的端口:向客户端发送请求成功或失败的回应)、ipv6 udp 546、udp 547
服务名:dhcpd、dhcrelay
主配置文件:/etc/dhcp/dhcpd.conf
模板文件:/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
中继配置文件:/etc/sysconfig/dhcrelay
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
服务脚本:/etc/init.d/dhcpd、/etc/init.d/dhcrelay
执行参数配置:/etc/sysconfig/dhcpd
查看租约文件:/var/lib/dhcpd/dhcpd.lease
很多网络服务的排错日志:/var/log/messages
2、配置步骤
(1)操作前的准备
防火墙临时关闭:iptables –F
防火墙永久关闭:/etc/init.d/iptables stop
查看防火墙状态:iptables -L
selinux临时关闭:setenforce 0
selinux永久关闭:sed –i“7s/enforcing/disabled/g”/etc/selinux/config
(2)客户端配置
1、关闭防火墙和selinux
2、自己在虚拟网络编辑器创建一个局域网的网卡,并设置好网段,取消虚拟网络编辑器的DHCP自动分配功能
3、进入客户机设置IP地址为自动获取(就是让DHCP选项生效),然后用service network restart 重启客户机网卡,到这里客户端就设置完成。
(3)服务端配置
1、进入服务机设置IP地址、网关和虚拟网络编辑器那个网卡的网段一致,然后重启网卡;
2、配置yum源,挂载光盘,然后用yum -y install dhcp安装dhcp软件;
3、进入dhcp配置文件/etc/dhcp/dhcpd.conf发现里面是空的,然后把dhcp模板文件中的内容导入dhcp 配置文件;
4、将配置文件的前几个subnet声明注释掉,修改最后一个subnet的声明;
5、修改完成后保存退出,用service dhcpd configtest测试文件是否有错误;
6、然后用service dhcpd start 重启dhcp服务;
7、重启客户机网卡,看能不能获取到服务机地址池的IP地址;
8、为某台主机设置IP地址保留,把要保留IP的MAC地址和要保留的IP地址写入dhcpd.conf的配置文件即可,然后设置客户机为自动获取IP;
9、用ifdown eth0停止服务机网卡,再用ifup eth0开启网卡,然后用service dhcpd start 重启dhcp服务,看客户机能不能获取到指定IP。
3、中继代理配置
interface f0/0
ip helper-address 1.1.1.1
ip dhcp relay information trust
update arp开启定期ARP询问
interfaca g0/0/2
arp authorized禁止动态更新ARP
arp timeout 60 60s无应答则删除ARP条目
ip dhcp snooping vlan 20 vlan20开启snooping
interface f0/0定义信任端口
ip dhcp snooping trust交换机连接DHCP服务器端口设为trusted
dhcp snooping bind-table static ip-address ip-address mac-address mac-address interface g0/0#配置IP与MAC静态绑定表
interface vlan 1
ip add dhcp-alloc #立即发送DHCP-discover报文,1-10s内随机发送,如果没有收到DHCP服务器的回应报文继续发送,直到回应为止
dhcp selsect global all #全局分配地址
dhcp server group dhcp-relay
dhcp-server 10.1.1.1组里有多个dhcp服务器
interface vlan 2
dhcp select relay
dhcp relay server-select dhcp-relay
display dhcp server ip-in-use all #查看地址池可用地址信息
reset dhcp server ip-in-use all #重置正在使用的IP地址
address-check enable dhcp #中继的安全特性
ip dhcp relay information trust-all合法的DHCP服务路由,为了形成一个绑定表
no ip dhcp conflict logging关闭DHCP冲突日志
display ip interface br
DHCP是Dynamic Host Configuration Protocol的缩写,它是TCP/IP协议簇中的一种,主要是用来给网络客户机分配动态的IP地址。这些被分配的IP地址都是DHCP服务器预先保留的一个由多个地址组成的地址集,并且它们一般是一段连续的地址。\x0d\x0a \x0d\x0a 理解DHCP服务\x0d\x0a \x0d\x0a 使用DHCP时必须在网络上有一台DHCP服务器,而其他机器执行DHCP客户端。当DHCP客户端程序发出一个信息,要求一个动态的IP地址时,DHCP服务器会根据目前已经配置的地址,提供一个可供使用的IP地址和子网掩码给客户端。\x0d\x0a \x0d\x0a 1. 使用DHCP的优点\x0d\x0a \x0d\x0a DHCP使服务器能够动态地为网络中的其他服务器提供IP地址,通过使用DHCP,就可以不给Intranet网中除DHCP、DNS和WINS服务器外的任何服务器设置和维护静态IP地址。使用DHCP可以大大简化配置客户机的TCP/IP的工作,尤其是当某些TCP/IP参数改变时,如网络的大规模重建而引起的IP地址和子网掩码的更改。\x0d\x0a \x0d\x0a DHCP服务器是运行Microsoft TCP/IP、DHCP服务器软件和Windows NT Server的计算机,DHCP客户机则是请求TCP/IP配置信息的TCP/IP主机。DHCP使用客户机/服务器模型,网络管理员可以创建一个或多个维护TCP/IP配置信息的DHCP服务器,并且将其提供给客户机。\x0d\x0a \x0d\x0a DHCP服务器上的IP地址数据库包含如下项目:\x0d\x0a \x0d\x0a ● 对互联网上所有客户机的有效配置参数。\x0d\x0a \x0d\x0a ● 在缓冲池中指定给客户机的有效IP地址,以及手工指定的保留地址。\x0d\x0a \x0d\x0a ● 服务器提供租约时间,租约时间即指定IP地址可以使用的时间。\x0d\x0a \x0d\x0a 在网络中配置DHCP服务器有如下优点:\x0d\x0a \x0d\x0a ● 管理员可以集中为整个互联网指定通用和特定子网的TCP/IP参数,并且可以定义使用保留地址的客户机的参数。\x0d\x0a \x0d\x0a ● 提供安全可信的配置。DHCP避免了在每台计算机上手工输入数值引起的配置错误,还能防止网络上计算机配置地址的冲突。\x0d\x0a \x0d\x0a ● 使用DHCP服务器能大大减少配置花费的开销和重新配置网络上计算机的时间,服务器可以在指派地址租约时配置所有的附加配置值。\x0d\x0a \x0d\x0a ● 客户机不需手工配置TCP/IP。\x0d\x0a \x0d\x0a ● 客户机在子网间移动时,旧的IP地址自动释放以便再次使用。在再次启动客户机时,DHCP服务器会自动为客户机重新配置TCP/IP。\x0d\x0a \x0d\x0a ● 大部分路由器可以转发DHCP配置请求,因此,互联网的每个子网并不都需要DHCP服务器。\x0d\x0a \x0d\x0a 注释:\x0d\x0a \x0d\x0a 如果要使用DHCP服务器支持跨越多重路由器的子网,则路由器可能需要硬件升级。路由器必须支持RFC 1533、1534、1541和1542。\x0d\x0a \x0d\x0a 2. DHCP分配地址的方式\x0d\x0a \x0d\x0a DHCP使用客户/服务器模式,网络管理员建立一个或多个DHCP服务器,在这些服务器中保存了可以提供给客户机的TCP/IP配置信息。这些信息包括网络客户的有效配置参数、分配给客户的有效IP地址池(其中包括为手工配置而保留的地址)、服务器提供的租约持续时间。\x0d\x0a \x0d\x0a 如果将TCP/IP网络上的计算机设定为从DHCP服务器获得IP地址,这些计算机则成为DHCP客户机。启动DHCP客户机时,它与DHCP服务器通信以接收必要的TCP/IP配置信息。该配置信息至少包含一个IP地址和子网掩码,以及与配置有关的租约。\x0d\x0a \x0d\x0a DHCP服务器有3种为DHCP客户机分配TCP/IP地址的方式:\x0d\x0a \x0d\x0a ● 手工分配:在手工分配中,网络管理员在DHCP服务器通过手工方法配置DHCP客户机的IP地址。当DHCP客户机要求网络服务时,DHCP服务器把手工配置的IP地址传递给DHCP客户机。\x0d\x0a \x0d\x0a ● 自动分配:在自动分配中,不需要进行任何的IP地址手工分配。当DHCP客户机第一次向DHCP服务器租用到IP地址后,这个地址就永久地分配给了该DHCP客户机,而不会再分配给其他客户机。\x0d\x0a \x0d\x0a ● 动态分配:当DHCP客户机向DHCP服务器租用IP地址时,DHCP服务器只是暂时分配给客户机一个IP地址。只要租约到期,这个地址就会还给DHCP服务器,以供其他客户机使用。如果DHCP客户机仍需要一个IP地址来完成工作,则可以再要求另外一个IP地址。\x0d\x0a \x0d\x0a 动态分配方法是惟一能够自动重复使用IP地址的方法,它对于暂时连接到网上的DHCP客户机来说尤其方便,对于永久性与网络连接的新主机来说也是分配IP地址的好方法。DHCP客户机在不再需要时才放弃IP地址,如DHCP客户机要正常关闭时,它可以把IP地址释放给DHCP服务器,然后DHCP服务器就可以把该IP地址分配给申请IP地址的DHCP客户机。\x0d\x0a \x0d\x0a 使用动态分配方法可以解决IP地址不够用的困扰,例如C类网络只能支持254台主机,而网络上的主机有三百多台,但如果网上同一时间最多有200个用户,此时如果使用手工分配或自动分配将不能解决这一问题。而动态分配方式的IP地址并不固定分配给某一客户机,只要有空闲的IP地址,DHCP服务器就可以将它分配给要求地址的客户机;当客户机不再需要IP地址时,就由DHCP服务器重新收回.欢迎分享,转载请注明来源:夏雨云
评论列表(0条)