演示:思科路由器上DHCP帮助地址的配置

简介:

DHCP是基于广播和单播工作的,至少客户端发出的discover消息肯定是广播,因为它要寻找网络中的DHCP服务器,都知道路由器是隔断网络广播的三层设备,那么,位于路由器不同接口上的DHCP服务器与客户端将无法进行正常工作,因为客户端的Discover消息被路由器给切断。此时,在这种跨网段的DHCP部署环境中,提出一种概念叫做中继代理(Relay Agent),在思科的IOS中叫帮助地址(Helper address)它能帮助DHCP客户端跨越路由器申请IP地址及其它TCP/IP参数,从而解决由于广播域的分隔,导致DHCP不能正常工作的问题。关于DHCP中继代理的工作原理如下图9.23所示。

第一步:DHCP客户端发送DHCP的Discover广播寻找本地子网上的DHCP服务器,毫无疑问,这个寻找将失败,因为本地子网上根本没有部署DHCP服务器,但是,此时DHCP的中继代理路由器R1的E1/0(192.168.5.1)会收到这个Discover广播消息。

第二步:中继代理路由器会帮助DHCP客户端到指定的DHCP服务器去申请IP地址,这里所谓指定的DHCP服务器,事实上,就是在中继路由器上申明了谁是DHCP服务器,比如申明192.168.4.1为DHCP服务器,那么DHCP的中继路由器会将Discover消息单播到DHCP服务器(192.168.4.1),注意,此时中继使用单播的方式把Discover消息发送到DHCP服务器,因为中继明确的知道它该向哪台DHCP服务器进行申请,

第三步:DHCP服务器会以单播的方式回应中继的Discover消息,并发送Offer消息,该消息中包括了DHCP可以给中继提供的机会IP(192.168.5.2),关于DHCP服务器提供给中继的Offer消息如下图9.24所示,这个Offer消息以单播的形式发送,因为,DHCP服务器知道中继是谁,并且在该消息中包括了中继的IP地址,值得提出的是,DHCP服务器向中继提供机会IP(192.168.5.2)之前,它还是会做一个IP地址冲突检测,它需要知道192.168.5.2这个IP地址,在网络上是否有主机正在使用它,它的检测方式是发送一个目标地址为192.168.5.2的ICMP回显消息,如果没有回应,说明该地址没有被使用,可以被分配出去,反之则不能;DHCP服务器还会检测与中继的连通性,确保中继能成功的得到这个Offer消息,关于这个过程可以通过如下图9.25所示的数据帧证实。在这里DHCP服务器为什么不使用ARP进行IP地址冲突探测?原因很简单,因为在通过中继申请IP地址的DHCP环境中,DHCP提供的IP地址通常都不是本地子网的IP地址范围,ARP不能穿越路由器工作。

第四步:中继向DHCP服务器发起DHCP的Request请求消息,该消息仍然以单播的方式发送,这与本地子网上DHCP的工作原理不同,在本地子网上的这个过程应该是以广播的形式进行发送,而在中继的环境中,中继以单播发送,因为在这种情况下,通信双方是很明确的,不可能存在有其它的DHCP服务器向中继提供IP,两个原因:第一个原因是中继设备上会明确指示它该向哪台DHCP服务器申请IP;第二个原因是中继发起DHCP的Discover消息时,就是单播发送的,不会有第二台DHCP服务器来为中继提供IP,因为它不会自作多情。

第五步:DHCP服务器收到中继的单播Request消息后,会回应一个ACK消息给中继,指示IP地址的租期正式生效,注意该消息仍然是以单播的形式发送,前面已经描述了原因,这里不再重复描述。

第六步:事实上述第二步到第五步对于DHCP客户端而言是完全透明的,它看不见中继为它完成IP地址申请的过程。它只能看见中继与自己的DHCP消息交互过程,当DHCP的中继成功的从DHCP服务器获得地址后,中继会给DHCP客户端发送一个DHCP的Offer消息,告诉DHCP的客户端可以提供给它的IP地址,注意,此时中继就无需再检测该IP地址在网络上是否有冲突的可能性了,因为这个过程在上述的第三步中已经做了检测。

第七步:DHCP客户端在收到DHCP中继所提供的Offer消息后,会向DHCP的中继发送一个DHCP的Request消息,正式请求IP地址。该消息以广播的形式发送,为什么是会以广播形式发送,在标准的DHCP环境已经有明确说明。

第八步:DHCP中继收到客户端的Request消息后,会回应一个ACK消息给DHCP客户端,申明租约正式生效,然后DHCP客户端在得到ACK消息后,会将DHCP中继颁发给它的IP地址使用“免费的ARP(请求的目标IP和源IP地址一样,它不希望得到任何回应)”做一个最终的地址冲突检测。然后正式使用该IP地址。


注意:DHCP中继,就其本身而言,它没有任何资格颁发IP地址及其它TCP/IP属性,它只是代理DHCP客户端向DHCP服务器做申请,中继与DHCP服务器交互DHCP消息的过程对于DHCP客户端而言是透明的。


演示:思科路由器上DHCP帮助地址的配置


演示目标:

n配置思科的帮助地址,为分隔的广播域完成DHCP的地址申请。

n在一台路由器上配置多个DHCP地址池,为不同的VLAN分配相应的IP地址段。

演示环境:如下图 9.26所示的演示环境。

演示背景:企业网络管理员为了集中的配置和管理DHCP服务,它将不同子网的IP地址池配置到了一台思科的路由器(R1)上,现在要求根据实际环境,让路由器R1成功的为VLAN2、VLAN3,远程子网192.168.5.0的主机动态的分配IP地址及相关的TCP/IP参数。

演示步骤:

第一步配置实验网络基础环境,为各个网络设备配置IP地址、激活接口、VLAN、VLAN间的单臂路由,动态路由等,具体配置如下所示:


路由器R1的基础配置:

R1(config)#interface s2/0

R1(config-if)#encapsulation ppp

R1(config-if)#ip address 192.168.4.1255.255.255.252

R1(config-if)#no shutdown


R1(config)#interface e1/0

R1(config-if)#no ip address

R1(config-if)#no shutdown

R1(config-if)#exit

R1(config)#interface e1/0.1

R1(config-subif)#encapsulation dot1Q 2    * 配置VLAN2的默认网关

R1(config-subif)#ip address 192.168.2.1 255.255.255.0  

R1(config-subif)#no shutdown

R1(config)#interface e1/0.2

R1(config-subif)#encapsulation dot1Q 3    * 配置VLAN3的默认网关

R1(config-subif)#ip address 192.168.3.1 255.255.255.0

R1(config-subif)#no shutdown

R1(config-subif)#exit


R1(config)#router rip          

R1(config-router)#no auto-summary

R1(config-router)#version 2

R1(config-router)#network 192.168.2.0

R1(config-router)#network 192.168.3.0

R1(config-router)#network 192.168.4.0

R1(config-router)#exit


交换机S1的基础配置

S1#vlan database

S1(vlan)#vlan 2 name v2    * 在交换机上建立VLAN2

S1(vlan)#vlan 3 name v3    * 在交换机上建立VLAN3


S1(config)#interface fastEthernet 0/1

S1(config-if)#switchport mode trunk  * 在交换机上配置单臂路由所需要的干道。

S1(config-if)#switchport trunk encapsulation dot1q

S1(config-if)#no shutdown


S1(config)#interface fastEthernet 0/2

S1(config-if)#switchport access vlan 2  * 划分接口到VLAN2。

S1(config-if)#no shutdown

S1(config-if)#exit


S1(config)#interface fastEthernet 0/3

S1(config-if)#switchport access vlan 3  * 划分接口到VLAN3。

S1(config-if)#no shutdown

S1(config-if)#exit


路由器R2的基础配置:

R2(config)#interface e1/0

R2(config-if)#ip address 192.168.5.1 255.255.255.0

R2(config-if)#no shutdown

R2(config-if)#exit


R2(config)#interface s2/0

R2(config-if)#ip address 192.168.4.2 255.255.255.252

R2(config-if)#encapsulation ppp

R2(config-if)#no shutdown

R2(config-if)#exit


R2(config)#router rip

R2(config-router)#no auto-summary

R2(config-router)#version 2

R2(config-router)#network 192.168.4.0

R2(config-router)#network 192.168.5.0

R2(config-router)#exit

第二步:在路由器R1上完成多个DHCP地址池的配置:


路由器R1上多个DHCP地址池的配置:

R1(config)#ip dhcp pool net192.168.2.0  *建立一个叫net192.168.2.0DHCP地址池。

R1(dhcp-config)#network 192.168.2.0 /24

R1(dhcp-config)#default-router192.168.2.1

R1(dhcp-config)#domain-name ccna.com.cn

R1(dhcp-config)#dns-server192.168.2.254

R1(dhcp-config)#lease 7

R1(dhcp-config)#exit


R1(config)#ip dhcp pool net192.168.3.0  *建立一个叫net192.168.3.0DHCP地址池。

R1(dhcp-config)#network 192.168.3.0 /24

R1(dhcp-config)#default-router192.168.3.1

R1(dhcp-config)#domain-name ccna.com.cn

R1(dhcp-config)#dns-server192.168.3.254

R1(dhcp-config)#lease 7

R1(dhcp-config)#exit


R1(config)#ip dhcp pool net192.168.5.0  *建立一个叫net192.168.5.0DHCP地址池。

R1(dhcp-config)#network 192.168.5.0 /24

R1(dhcp-config)#default-router192.168.5.1

R1(dhcp-config)#domain-name ccna.com.cn

R1(dhcp-config)#dns-server192.168.5.254

R1(dhcp-config)#lease 7

R1(dhcp-config)#exit


第三步:现在首先来检测连接路由器R2的192.168.5.0子网的主机能否得到DHCP路由器R1颁发的IP地址,就目前的配置情况而言,处于192.168.5.0子网的主机应该无法得到R1颁发的IP地址,因为DHCP服务器与DHCP客户端被分隔在两个不同的广播域中,192.168.5.0子网的主机无法直接发现DHCP路由器R1,此时应该配置DHCP中继在思科的IOS中叫做IP helper来代理DHCP客户端向DHCP服务器发送地址请求,帮助IP应该配置在路由器R2上,在配置前必须保证路由器R2有成功的与DHCP路由器R1通信,所以在配置前执行如下图9.27所示,显示成功通信后,关于帮助IP的配置如下所示:

在中继路由器R2上配置DHCP的帮助地址:

R2(config)#interface e1/0

R2(config-if)#ip helper-address192.168.4.1 *指定DHCP服务器的IP地址

R2(config-if)#exit


注意:Ip Helper-address只能被配置在需求请求IP子网段上的那个接口上,在演示环境中就是路由器R2的E1/0接口,不能被配置到S2/0接口上;两个原因:一个原因是为了能够成功的接收该网段DHCP客户端的Discover广播;另一个原因是这个接口的IP地址将被用作DHCP中继的信源地址,DHCP服务器如果存在多个IP地址池,它将根据中继的信源地址来判断将哪个子网的IP地址分配给远程客户端。


第四步:当完成DHCP中继的配置后,现在192.168.5.0网段的计算机上,执行ipconfig/all指令查看获取IP地址的情况,如下图9.28所示,功能获得IP地址;然后再到VLAN2和VLAN3的计算机上去执行相同的任务,查看它们通过DHCP获得IP地址的情况,如下图9.29和图9.30所示,现在整个网络的DHCP客户端都成功的获得了相应的IP地址。




提问:现在来思考一题,上述演示环境中的DHCP路由器R1配置了多个IP地址池,有关于192.168.2.0192.168.3.0;192.168.5.0,这些地址池都是全局性配置,并没有配置在路由器的某个接口上,DHCP怎么保证将192.168.2.0分给路由器E1/0.1子接口连接的网段;将192.168.3.0分给路由器E1/0.2子接口连接的网段;将192.168.5.0分给路由器R2E1/0接口连接的网段?


理解:思科DHCP是如何将多个地址池分配给不同接口的子网

DHCP的配置,虽然是全局性配置,没有与具体的路由器接口相关联,但是它能自动识别那些地址池对应给相应的网络接口,因为在配置DHCP时,使用network 192.168.2.0/24去匹配相应接口上的IP地址,这就可以保证对应的地址池被分配给相应接口所连接的网段;在使用DHCP的中继时,DHCP服务器会去匹配中继的信源地址来确定使用哪个地址池中的IP颁发给远程客户端,比如在9. 2. 5的演示环境中,中继的IP为192.168.5.1所以DHCP服务器就将颁发192.168.5.0子网的IP地址给远程DHCP客户端。




本文转自 kingsir827 51CTO博客,原文链接:http://blog.51cto.com/7658423/1270604,如需转载请自行联系原作者
相关文章
|
2月前
|
安全 网络协议 网络安全
Cisco-DHCP配置
Cisco-DHCP配置
|
2月前
|
安全 小程序 网络安全
Cisco-DHCP中继配置
Cisco-DHCP中继配置
|
2月前
|
网络协议 网络虚拟化 网络架构
【网络实验】/主机/路由器/交换机/网关/路由协议/RIP+OSPF/DHCP(上)
【网络实验】/主机/路由器/交换机/网关/路由协议/RIP+OSPF/DHCP(上)
75 1
|
3月前
|
Linux
kickstart自动安装系统 --DHCP 配置及测试
PXE+Kickstart自动安装系统需配置DHCP服务器分配IP。dhcpd.conf示例:设置更新样式、忽略客户端更新、指定下一服务器及启动文件。定义子网、网关、掩码、动态地址池并预留特定MAC地址。重启xinetd、NFS、DHCP服务,确保新服务器与Kickstart服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
84 18
|
2月前
|
网络协议 数据安全/隐私保护 网络虚拟化
【网络实验】/主机/路由器/交换机/网关/路由协议/RIP+OSPF/DHCP(下)
【网络实验】/主机/路由器/交换机/网关/路由协议/RIP+OSPF/DHCP(下)
65 0
|
4月前
|
安全 Ubuntu 网络协议
在Linux中,如何配置DHCP服务器?
在Linux中,如何配置DHCP服务器?
|
5月前
|
网络协议 Linux 开发工具
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
|
6月前
|
Ubuntu
ubuntu 开启dhcp服务并配置
ubuntu 开启dhcp服务并配置
363 2
|
7月前
|
监控 安全 网络协议
|
7月前
|
网络架构
Ensp DHCP 接口地址池(配置命令)
Ensp DHCP 接口地址池(配置命令)
253 1