DHCP和DHCP中继
DHCP概述
DHCP定义
- DHCP(Dynamic Host configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。
- 主要有两个用途:
- 给内部网络或网络服务供应商自动分配IP地址
- 给用户或者内部网络管理员作为对所有计算机作中央管理的手段
DHCP作用
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
DHCP应用模式
- DHCP的典型应用模式如下。在网络中架设一台专用的DHCP服务器,负责集中分配各种网络地址参数(主要包括IP地址、子网掩码、广播地址、默认网关地址、DNS服务器地址):其他主机作为DHCP客户机,将网卡配置为自动获取地址,即可与DHCP)服务器进行通信,完成自动配置过程。
- DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的67号端口,DHCP服务器回应应答消息给客户端的68号端口
DHCP工作原理
-
客户端在网络中搜索服务器。
客户端通过广播发送DHCP Discover报文寻找服务器端
-
服务器向客户端相应服务
服务器端通过单播(Huawei)发送DHCP Offer报文向客户端提供IP地址等网络信息,从IP地址池中挑选一个尚未分配的IP地址分配给客户端
-
客户端向服务器发出服务请求。
如果有多台DHCP服务器向该客户端发来DHCP-offer报文,客户端只接受第一个收到的DHCP-offer报文并提取IP地址,然后客户端通过广播发送DHCP Request报文告知服务器端本地选择使用该IP地址
-
服务器向客户端提供服务。
服务器通过单播发送DHCP Ack报文告知客户端IP地址是合法可用的,并在选项字段中增加IP地址的使用租期信息
-
重新登录
DHCP 客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的 1P地址的 DHCP Request 请求信息
-
更新租约
当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约。
华为系统的DHCP服务器会按照由大到小的顺序从IP池里分配IP(Cisco为从小到大)
DHCP配置
DHCP配置两种方法
-
接口模式:接口地址池可动态分配IP地址,范围就是接口的IP地址所在的网段,且只在此接口下生效,当DHCP服务器收到DHCP客户端的请求报文后,DHCP服务器将会使用该接口的地址网段给客户端分配地址。
-
路由器配置
[r1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip add 192.168.100.1 24 ### 配置端口IP [r1-GigabitEthernet0/0/0]q [r1]dhcp enable ### 系统模式开启DHCP功能 Info: The operation may take a few seconds. Please wait for a moment.done. [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]dhcp select interface ### 基于接口配置DHCP [r1-GigabitEthernet0/0/0]dhcp server lease day 10 ### 配置基于接口的DHCP server租期(默认租期为1天) [r1-GigabitEthernet0/0/0]dhcp server excluded-ip-address 192.168.100.250 192 .168.100.253 ### 配置接口地址池中不参与自动分配的IP地址范围(250 ~ 253)(保留地址) [r1-GigabitEthernet0/0/0]dhcp server dns-list 8.8.8.8 ### 给用户端自动分配DNS服务器地址 [r1-GigabitEthernet0/0/0]dis this ### 查看配置结果 [V200R003C00] # interface GigabitEthernet0/0/0 ip address 192.168.100.1 255.255.255.0 dhcp select interface dhcp server excluded-ip-address 192.168.100.250 192.168.100.253 dhcp server lease day 10 hour 0 minute 0 dhcp server dns-list 8.8.8.8 # return
-
查看主机DHCP自动获取的IP
-
-
全局模式:全局方式下,设置多个全局地址池,并存在定义的地址池网段与端口IP是同一网段的对应关系,即多个不同网段地址池对应各自的端口,最终实现不同网段客户端自动获取相应地址。
-
路由器配置
[r1]int g0/0/0 ### 先配置接口ip [r1-GigabitEthernet0/0/0]ip add 192.168.100.1 24 [r1-GigabitEthernet0/0/0]int g0/0/1 [r1-GigabitEthernet0/0/1]ip add 192.168.200.1 24 [r1-GigabitEthernet0/0/1]q [r1]dhcp enable ### 系统视图下开启DHCP功能 Info: The operation may take a few seconds. Please wait for a moment.done. [r1]ip pool 1 ### 创建地址池名称1 Info: It's successful to create an IP address pool. [r1-ip-pool-1]gateway-list 192.168.100.1 ### 设置DHCP客户端的出口网关地址 [r1-ip-pool-1]network 192.168.100.0 mask 24 ### 配置DHCP可分配地址网段 [r1-ip-pool-1]dns-list 8.8.8.8 ### 配置DHCP分配DNS地址 [r1-ip-pool-1]excluded-ip-address 192.168.100.250 192.168.100.254 ### 配置保留地址 [r1-ip-pool-1]lease day 10 ### 租期10天 [r1-ip-pool-1]static-bind ip-address 192.168.100.88 mac-address 5489-9862-4489 ### 绑定IP 192.168.100.88 固定分配给MAC为5489-9862-4489的机器,需池中IP [r1-ip-pool-1]dis th ### 检查配置情况 [V200R003C00] ### 配置正常生效 # ip pool 1 gateway-list 192.168.100.1 network 192.168.100.0 mask 255.255.255.0 static-bind ip-address 192.168.100.88 mac-address 5489-9862-4489 excluded-ip-address 192.168.100.250 192.168.100.254 lease day 10 hour 0 minute 0 dns-list 8.8.8.8 # return [r1-ip-pool-1]q [r1]ip pool 2 ### 再配置地址池2 Info: It's successful to create an IP address pool. [r1-ip-pool-2]gateway-list 192.168.200.1 [r1-ip-pool-2]network 192.168.200.0 mask 255.255.255.0 [r1-ip-pool-2]lease day 7 [r1-ip-pool-2]dns-list 114.114.114.114 [r1-ip-pool-2]static-bind ip-address 192.168.200.66 mac-address 5489-98B7-7486 [r1-ip-pool-2]dis this [V200R003C00] # ip pool 2 gateway-list 192.168.200.1 network 192.168.200.0 mask 255.255.255.0 static-bind ip-address 192.168.200.66 mac-address 5489-98b7-7486 lease day 7 hour 0 minute 0 dns-list 114.114.114.114 # return [r1-ip-pool-2]q [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]dhcp select global ### 配置DHCP为global全局模式,interface即接口模式 [r1-GigabitEthernet0/0/0]int g0/0/1 [r1-GigabitEthernet0/0/1]dhcp select global ### 每个接口都要配置为global
-
查看主机自动获取的IP地址和手动绑定的IP地址
-
DHCP中继
应用场景
- 在大型的网络中,可能会存在多个网段。DHCP客户机通过网络广播消息获得DHCP服务器的响应后得到IP地址。但广播消息是不能跨越网段的。因此,DHCP客户机和服务器在不同的网段内时,客户机向服务器申请IP地址就要用到DHCP中继代理。DHCP中继代理实际上是一种软件技术,安装在DHCP中继代理的设备(路由器,交换机,服务器)称为DHCP中继代理服务器,它承担不同网段间的DHCP客户机和服务器的通信任务。
工作原理
- DHCP客户端启动并进行DHCP初始化时,它在本地网络广播配置请求报文。
- 如果本地络存在DHCP服务器,则可以直接进行DHCP配置,不需要DHCP中继。
- 如果本地网络没有DHCP服务器,则与本网络相连的且带DHCP中继功能的网络设备收到该广播报文后,进行适当的处理并转发给指定的在其它网络上的DHCP服务器。
- DHCP服务器根据客户端提供的信息进行相应的配置,并通过DHCP中继将配置信息发送给客户端,完成对客户端的动态配置。
简单配置实例
-
拓扑图
-
路由器R2配置
[r2]int g0/0/0 ### 与DHCP中继连接方向的接口 [r2-GigabitEthernet0/0/0]ip add 12.0.0.2 24 ### 配置IP [r2-GigabitEthernet0/0/0]dhcp enable ### 系统视图下开启DHCP功能 Info: The operation may take a few seconds. Please wait for a moment.done. [r2]ip pool 1 ### 创建地址池名称1 Info: It's successful to create an IP address pool. [r2-ip-pool-1]gateway 192.168.100.1 ### 设置DHCP客户端的出口网关地址 [r2-ip-pool-1]network 192.168.100.0 mask 24 ### 配置DHCP可分配地址网段 [r2-ip-pool-1]dns-list 8.8.8.8 ### 配置DHCP分配DNS地址 [r2-ip-pool-1]lease day 10 [r2-ip-pool-1]dis th ### 检查配置 [V200R003C00] # ip pool 1 gateway-list 192.168.100.1 network 192.168.100.0 mask 255.255.255.0 lease day 10 hour 0 minute 0 dns-list 8.8.8.8 # return [r2-ip-pool-1]q [r2]ip pool 2 ### 再配置地址池2 Info: It's successful to create an IP address pool. [r2-ip-pool-2]gateway 192.168.200.1 [r2-ip-pool-2]network 192.168.200.0 mask 255.255.255.0 [r2-ip-pool-2]dns-list 114.114.114.114 [r2-ip-pool-2]lease day 7 hour 7 minute 7 [r2-ip-pool-2]dis th ### 检查配置 [V200R003C00] # ip pool 2 gateway-list 192.168.200.1 network 192.168.200.0 mask 255.255.255.0 lease day 7 hour 7 minute 7 ### 可以精确到分钟 dns-list 114.114.114.114 # return [r2-ip-pool-2]q [r2]ip route-static 0.0.0.0 0.0.0.0 12.0.0.1 ### 末梢网络所以配置默认路由,跨网段一定要配置静态路由 [r2]int g0/0/0 [r2-GigabitEthernet0/0/0]dhcp select global ### 不要忘记配置global
-
路由器R1配置
[r1]int g0/0/1 [r1-GigabitEthernet0/0/1]ip add 192.168.200.1 24 [r1-GigabitEthernet0/0/1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip add 192.168.100.1 24 [r1-GigabitEthernet0/0/0]int g0/0/2 [r1-GigabitEthernet0/0/2]ip add 12.0.0.1 24 [r1-GigabitEthernet0/0/2]q [r1]dhcp enable Info: The operation may take a few seconds. Please wait for a moment.done. [r1]int g0/0/0 ### 与客户端相连的接口 [r1-GigabitEthernet0/0/0]dhcp select relay ### 开启DHCP中继功能 [r1-GigabitEthernet0/0/0]dhcp relay server-ip 12.0.0.2 ### 指向DHCP服务器的地址12.0.0.1请求DHCP服务 [r1-GigabitEthernet0/0/0]q [r1]int g0/0/1 ### 同上 [r1-GigabitEthernet0/0/1]dhcp select relay [r1-GigabitEthernet0/0/1]dhcp relay server-ip 12.0.0.2 [r1-GigabitEthernet0/0/1]q
-
结果验证
-
配置成功