Dynamic Host Configuration Protocol, 动态主机配置协议
网络中的所有终端设备, 都需要获得各种网络参数:
- IP地址
- 网络掩码
- 网关
- DNS服务器
网络参数获取的方式:
- 手动配置, 工作量大, 容易出现错误
- 自动获得, 需要网络中存在DHCP服务器
DHCP服务器工作原理
作用: 用于实现企业用户动态IP地址分配和集中管理, 避免繁琐的手工配置, 快速适应网络变化.
DHCP服务器, 是运行了DHCP服务的服务器或网络设备, 可以是服务器, 路由器, 交换机, windows 2016的PC机, Linux系统主机等…
DHCP客户机: 通过DHCP协议请求获取IP地址等网络参数的设备, 例如PC, 手机, IP电话等…
DHCP中继: 负责转发DHCP服务器和DHCP客户端之间的DHCP报文, 协助DHCP服务器向DHCP客户端动态分配网络参数的设备.
DHCP四大报文
DHCP客户机 | discover(发现) | 发现阶段: 客户端广播发送DHCP Discover报文寻找DHCP服务器 | 广播 |
DHCP服务器 | offer(回应) | 提供阶段: 服务器单播发送DHCP Offer报文回应客户端的请求 | 单播 |
DHCP客户机 | request(请求) | 选择阶段: 客户端广播发送DHCP Request报文请求租用IP地址 | 广播 |
DHCP服务器 | ack(确认) | 确认阶段: 服务器单播发送DHCP ACK报文确认把地址租给客户机 | 单播 |
租期:默认是一天, 50%时客户端单播发送DHCP request报文, 请求续租. 87.5%时广播发送DHCP request 报文, 请求分配.
全局模式DHCP
DHCP服务规划
服务器规划: 合理规划VLAN, 确保同一VLAN内仅有一台DHCP Server, 能收到此VLAN内客户机的DHCP请求.
IP地址规划: DHCP Server 可供自动分配的IP地址范围和不参与自动分配的IP地址.
租期规划: 合理规划租期, 缺省情况下, IP地址租期为 1 天.
开启DHCP功能
- 必须先在系统视图下开启DHCP功能
- <HUAWEI>system-view
- [HUAWEI]dhcp enable
创建基于全局的DHCP
- 在路由器上 建立地址池, 配置网段/网关/DNS和租约
- [HUAWEI]sysname dhcp
- [dhcp]ip pool p1 //建立地址池并命名
- [dhcp-ip-pool-p1]network 192.168.1.0 mask 255.255.255.0 //指定网段和掩码
- [dhcp-ip-pool-p1]gateway-list 192.168.1.1 //指定网关地址
- [dhcp-ip-pool-p1]dns-list 8.8.8.8 //指定DNS服务器地址
- [dhcp-ip-pool-p1]lease day 3 hour 8 minute 30 //设置租期为3天八小时30分钟, (默认是一天)
- [dhcp-ip-pool-p1]excluded-ip-address 192.168.1.254 //指定排除地址
- 开启路由器DHCP功能
- [dhcp]dhcp enable
- 为路由器接口g0/0/0配置地址, 并在接口上启用DHCP
- [dhcp]interface g0/0/0
- [dhcp-GigabitEthernet0/0/0]ip address 192.168.1.100 24
- [dhcp-GigabitEthernet0/0/0]dhcp select global //接口下启用DHCP全局模式
- 验证配置
- 客户端启用DHCP获取IP地址等网络参数.
- 打开命令行, ipconfig 查看网络参数.
- 如果想重新获得IP地址地址, 使用ipconfig /renew (更新IP地址)
- 如果想把IP地址还给DHCP服务器, 使用ipconfig /release (清空IP地址)
DHCP中继代理
DHCP中继代理可以转发DHCP服务器和DHCP客户端之间的DHCP报文, 从而使客户机可以跨网段从DHCP服务器获取地址.
问题: 当客户机和DHCP服务器不在一个广播域时, 客户机发送的 discover 广播报文, DHCP服务器无法接收, 所以客户机无法获得IP地址.
解决方案: 在客户机所在的广播域中配置一台DHCP中继代理服务器, 这台服务器一定要能访问DHCP服务器, 由中继代理服务器代替客户机向DHCP服务器申请IP地址. (类似代购)
DHCP中继代理服务器步骤
1 中继代理服务器需首先在系统视图开启dhcp服务
2 进入与客户端相连的端口, 开启端口的dhcp模式为中继模式, 开启后可以监听广播域内客户端的DHCP请求.
dhcp select relay
3 指定对应的DHCP服务器, 指定后中继代理服务器可以为广播域内的客户端转发DHCP请求给DHCP服务器.
dhcp relay server-ip 192.168.2.1
4 在DHCP服务器配置客户端对应网段的地址池, 未配置对应网段的地址池的话, 客户端无法获取IP地址等参数 r1:
ip pool sh
network 192.168.3.0 mask 24
gateway-list 192.168.3.254
5 配置DHCP服务器连接中继代理服务器的端口, 开启全局模式, 未配置的话, 该端口不知道如何处理DHCP报文, 客户端无法获取dhcp服务器分配的IP地址. r1:
int g0/0/1
dhcp select global
DHCP中继配置
第一步:配置基础信息,首先保证网络连通
第二步:配置基本DHCP服务器–r1
1.开启dhcp服务
dhcp enable
2.配置ip地址池ip pool bj
//排除指定ip地址(选填)
network 192.168.1.0 mask 24
gateway-list 192.168.1.254
dns-list 114.114.114.114
excluded-ip-address xx.xx.xx.xxdhcp select globle
//开启端口全局dhcp,验证确保pc1是否能通过dhcp获得ip地址,验证pc2不能通过dhcp获取ip地址,因为未配置中继代理,pc2无法跨网段获取ip地址.
第三步:配置中继代理服务器–r2
1.开启dhcp服务dhcp enable
2.进入接口配置中继代理,该接口是和客户机相连的端口dhcp select relay
//开启端口relay模式,开启后该端口可以侦听客户机的请求.global模式是查找地址池, relay模式转发请求到DHCP服务器
3.指定转发请求到哪台DHCP服务器dhcp relay server-ip 192.168.2.1
//指定转发请求到哪台DHCP服务器
4.验证pc2是否能获取到IP
进入命令行,ipconfig /renew ,发现并未获取到IP地址.这是因为上面配置的地址池只有1.0网段的, 而PC2属于3.0网段, DHCP没有3.0网段的IP地址分配pc2. 所以pc2无法获取ip地址, 因此需要给DHCP服务器再配置一个3.0网段的地址池.
5.配置DHCP服务器地址池–r1ip pool sh
network 192.168.3.0 mask 24
gateway-list 192.168.3.254
6.再次验证,发现还是无法获取dhcp分配的IP地址,这是因为dhcp服务器(r1)和dhcp中继代理服务器连接的端口不知道如何处理dhcp报文,需要配置dhcp服务器相应端口开启dhcp全局模式.r1
int g0/0/1
dhcp select global
交换机配置DHCP服务器
- 配置两个地址池: 192.168.1.0/24和192.168.2.0/24
- 配置两个VLAN: VLAN 10和VLAN 20
- 将四台主机分别加入VLAN 10和VLAN 20
- 自动获取IP地址, 确保全网互通
- 创建VLAN
- sw1,sw2,sw3
vlan batch 10 20
- 把端口加入VLAN,设置trunk端口
- sw1:
port-group group-member g0/0/1 g0/0/2
port link-type trunk
port trunk allow-pass vlan all
- sw2:
int e0/0/1
port link-type trunk
port trunk allow-pass vlan all
port-group group-member e0/0/2 e0/0/3
port link-type access
port default vlan 10
- sw3:
int g0/0/1
port link-type trunk
port trunk allow-pass vlan all
port-group group-member g0/0/2 g0/0/3
port link-type access
port default vlan 20
- 配置三层交换机的DHCP服务
- 启动服务
system-view
dhcp enable
- 配置虚接口
interface vlanif 10
ip address 192.168.1.254 24
interface vlanif 20
ip address 192.168.2.254 24
- 配置DHCP服务
返回系统视图
ip pool xixi
network 192.168.1.0 mask 24
gateway-list 192.168.1.254
dns-list 8.8.8.8
dhcp select global
quit
ip pool haha
network 192.168.2.0 mask 24
gateway-list 192.168.2.254
dns-list 8.8.8.8
dhcp select global
quit
- 启动服务