DHCP的原理与配置
DHCP叫做动态主机配置协议,它可以帮助主机动态下发IP地址以及网关DNS服务器等信息,减少大型组网中手动配置IP地址的过程,将管理员的工作简化。
以上是DHCP的原理,至于配置方面由于厂商很多,配置脚本也很多,,大家在配置的时候只需要记住几个点:
1、创建地址池
2、地址池中包含的网段信息,即可分配给主机的所有可用地址
3、网关地址信息
4、DNS服务器地址信息
5、在接口上挂接地址池
无论什么品牌的设备,只要遵循这五个步骤,都可以完成DHCP的基础配置,当然,DHCP中还有很多更加深入技术点,例如基于DHCP安全的DHCP SNOOPING,以及DHCP RELAY等等。
动态主机设置协议(Dynamic Host ConfigurationProtocol, DHCP)是一个局域网的网络协议,前身是BOOTP,采用C/S架构,使用UDP协议工作,DHCP是可自动将IP位址指派给登入TCP/IP网络的用户端的一种软件,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。同时,DHCP 还可以帮客户端指定 router、netmask、DNS Server、WINSServer、等等项目
缺点:
不能发现非DHCP客户端,不能查出被其他服务器使用的IP,不能跨路由。
特性:
DHCP snooping:监控客户端和服务器交互报文,也对DHCP有过滤功能,对非法DHCP进行过滤和屏蔽,可抵御DHCP服务器欺骗攻击、ARP中间人攻击和IP/MAC欺骗攻击。
DHCP relay:中继
地址分配:
人工分配:为特定的计算机或网络设备绑定固定IP,地址不会过期。
自动分配:一旦 DHCP 客户端第一次成功的从 DHCP 服务器端租用到 IP 地址之后,就永远使用这个地址
动态分配:当DHCP客户端第一次从 DHCP 服务器端租用到 IP 地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放(release)这个 IP 地址,以给其它工作站使用
DHCP运作状态
DHCP Server 与他的 Clients 都在同一个网段之内,可以透过软件广播的方式来达到相互沟通的状态。
1、Client 端计算机设定使用 DHCP 协议以取得网络参数时,则在PC开机或重启网卡时会自动的发出 DHCPClient 的需求(DHCP DISCOVER 封包)给网域内的每部计算机,讯息内容:源地址0.0.0.0 目的地址255.255.255.255,非DHCP服务器将丢弃该包。(四次,周期为1s/9s/13s/16s),如果没有DHCP响应,客户端将会显示错误信息,宣告失败,之后,基于使用者的选择,系统会继续在 5 分钟之后再重复一次 DHCP discover 的过程。
2、 DHCP 主机响应讯息:DHCP会针对MAC对比确定是否做了静态IP映射,若有则将相关网络讯息返回给客户端,否则DHCP会在IPpool里捞一个未使用的IP(附上租约期限)返回给客户端(DHCP OFFER 封包,里面会带MAC和XID编号)。
3、 Client 端接受来自DHCP 主机的网络参数,并设定 Client自己的网络环境:
当 Client 端接受响应的讯息之后,(若收到多DHCP响应,会向网络发送一个DHCP request广播封包,诉所有 DHCP 服务器它将指定接受哪一台服务器提供的 IP 地址)首先会以 ARP 封包在网域内发出讯息,以确定来自DHCP 主机发放的 IP 并没有被占用!如果该 IP 已经被占用了,那么,客户端则会送出一个 DHCPDECLINE 封包给 DHCP 服务器,拒绝接受其 DHCP offer ,并重新发送DHCP discover 信息;若该 IP 没有被占用,则client可以接受 DHCP 主机所给的网络的参数,那么这些参数将会被使用于 client端的网络设定当中,同时, Client 端也会对 DHCP 主机发出确认封包(DHCP request),告诉 Server这次的需求已经确认!而 Server 也会将该信息记录下来,会向客户端发出一个,DHCPACK 响应,以确认IP 租约的正式生效,也就结束了一个完整的 DHCP 工作过程。
DHCP 发放流程第一次登录之后:一旦 DHCP 客户端成功地从服务器那里取得 DHCP 租约之后,除非其租约已经失效并且 IP 地址也重新设定回 0.0.0.0 ,否则就无需再发送 DHCP discover 信息了,而会直接使用已经租用到的 IP 地址向之前的DHCP服务器发出 DHCP request 信息,DHCP 服务器会尽量让客户端使用原来的 IP 地址,如果没问题的话,直接响应 DHCPack 来确认则可。如果该地址已经失效或已经被其它机器使用了,服务器则会响应一个 DHCPNACK 封包给客户端,要求其重新执行 DHCP discover。
以 NT 为例子:DHCP客户端除了在开机的时候发出 DHCP request 请求之外,在租约期限一半的时候也会发出 DHCP request ,如果此时得不到 DHCP 服务器的确认的话,客户端还可以继续使用该 IP ;当租约期过了87.5%时,如果客户端仍然无法与当初的DHCP服务器联系上,它将与其它DHCP服务器通信。如果网络上再没有任何DHCP服务器在运行时,该客户端必须停止使用该IP地址,并从发送一个Dhcpdiscover数据包开始,再一次重复整个过程。要是您想退租,可以随时送出 DHCPRELEASE 命令解约,就算您的租约在前一秒钟才获得的。
4、Client 端结束该IP 的使用权:Client 端离线、租约到期、主动释放(DHCPRELEASE)
跨网络的 DHCP 运作
问题:DHCP客户端还没有 IP 环境设定,所以也不知道 Router 地址,而且一般 Router 也不会将DHCP 广播封包传递出去,
解决:使用DHCPAgent (或 DHCP Proxy )主机来接管客户的 DHCP 请求,然后将此请求传递给真正的 DHCP 服务器,然后将服务器的回复传给客户。这里,Proxy 主机必须自己具有路由能力,且能将双方的封包互传对方。
DHCP配置:
在Windows Server 2003系统中默认没有安装DHCP服务,因此需要安装DHCP服务。
1、安装DHCP服务:
开始-----控制面板------添加或删除程序-----添加/删除Windows组件---Windows组件向导---网络服务---详细信息--动态主机配置协议(DHCP)-- 依次单击“确定→下一步”按钮开始配置和安装DHCP服务。最后单击“完成”按钮完成安装。
提示:如果是在Active Directory(活动目录)域中部署DHCP服务器,还需要进行授权才能使DHCP服务器生效。本例的网络基于工作组管理模式,因此无需进行授权操作即可进行创建IP作用域的操作。
2、创建IP作用域
1)开始→管理工具→DHCP,右键新建作用域。
2) 域名和描述。(只作标示,无意义)
3) IP地址范围:
4) 添加排除
5) 租约期限(默认8天)
6) 配置DHCP选项(非域环境可以跳过)
7) 在打开的“域名称和DNS服务器”向导页中没有做任何设置,这是因为网络中没有安装DNS服务器且尚未升级成域管理模式.依次单击“下一步”按钮,跳过“WINS服务器”向导页打开“激活作用域”向导页。保持“是,我想现在激活此作用域”单选框选中状态,并依次单击“下一步”→“完成”按钮结束配置。
8) 开始→程序→管理工具→DHCP,单击右键,在快捷菜单中选中“授权”。(2K)
设置DHCP客户端
启动服务:services.msc----DHCP client
域环境
建议网络配置顺序为:活动目录的建立→WINS的建立→DNS的建立→DHCP的建立,这样可以减少很多麻烦。
路由器配置DHCP服务器(Ipv4)
Router(config)#intf0/0
Router(config-if)#ipadd 192.168.1.1 255.255.255.0
Router(config-if)#nosh
Router(config)#ipdhcp excluded-address 192.168.1.1 //需排除路由器的接口既网关地址
Router(config)#ipdhcp pool IPv4 //创建DHCP池
Router(dhcp-config)#network192.168.1.0 /24 //宣告可分配网段
er(dhcp-config)#default-Router192.168.1.1 //设置客户端的默认网关
Router(dhcp-config)#dns-server61.128.114.133 //设置客户端DNS地址
Router(dhcp-config)#lease2 //地址租期
Router(dhcp-config)#domain-nameewao_cn //设置客户端所在域