2.13.1 以太网 DHCP(DHCP的8种报文、DHCP配置、DHCP中继)
DHCP-2
- 2.13.1 以太网 DHCP(DHCP的8种报文、DHCP配置、DHCP中继)
- 一、DHCP的8种报文
- 二、DHCP配置
- 接口配置:
- 全局配置:
- 三、DHCP中继
- 配置案例:
- 抓包验证
一、DHCP的8种报文
DHCP正常工作时通常会进行交互4种报文(Discover、Offer、Request、ack),但遇到了故障异或出现网络参数(地址)冲突的时候,又该以何种方式说明呢?
-
DHCP发现(DHCP-Discover)
- 《客户端》全网DHCP请求,携带flag信息决定offer回复是否广播发送
-
DHCP提供(DHCP-Offer)
- 《服务器》收到请求,进行回应(单播/广播)并附带配置信息
-
DHCP请求(DHCP-Request)
- 《客户端》收到服务器offer,然后回复服务器
-
DHCP确认(DHCP-ack)
- 《服务器》回复已知客户端收到地址
-
DHCP否认(DHCP-nak)
- 《服务器》回复无法正常分配地址了(地址池空了)
- 客户端在Request中选择的参数有误或者失效时,将回复Nak报文,收到Nak后的客户端将重新进行申请。
-
DHCP释放(DHCP-Release)
- 《客户端》手动释放DHCP地址
- 收到客户端主动发送的Release报文后,将释放客户端所占用的地址信息。
-
DHCP信息(DHCP-Inform)
- 《客户端》已有IP,单独请求网关、DNS等其他信息。
- 目前以太网网络基本不使用了。
-
DHCP冲突(DHCP-Decline)
- 《客户端》告诉服务器,offer地址有冲突。
- 客户端收到Ack后使用地址向外发送ARP请求所获取的地址(看看有没有人使用这个地址),如果有回包说明与内网其它主机发生地址冲突,立即发送Decline报文给DHCP服务器从申请新地址(服务器以Ack报文回复新的地址)。
二、DHCP配置
接口配置:
dhcp enable
接口下:
interface g0/0/1
接口启用:dhcp select interface
DNS列表:dhcp server dns-list 8.8.8.8 114.114.114.114
租期时间:dhcp server lease day 1 hour 1 minunte 1
固定地址:dhcp server static-bind ip-address <指定IP地址> macc-address <客户端MAC>
排除地址:dhcp server excluded-ip-address <起始IP> <结束IP>
>>>默认下发地址从254开始下发,如果地址有冲突将跳过冲突地址
全局配置:
dhcp enable
ip pool <地址池名称>
network 192.168.1.0 mask 24
gateway-list 192.168.1.254
dns-list 8.8.8.8 114.114.114.114
lease day 1 hour 1 minunte 1
static-bind ip-address <指定IP地址> macc-address <客户端MAC>
excluded-ip-address <起始IP> <结束IP>
接口下启用全局DHCP:
interface g0/0/1
ip add 192.168.1.254 24
dhcp select global # 使用全局地址池,通过识别接口地址判断使用的地址池
三、DHCP中继
构建集中的网络服务,会导致客户端和服务器之间跨越多个网段。
客户端发送的请求报文是广播报文,不能跨越网段到达服务器(因为路由器隔离广播)。
所以要求存在“中继设备”来帮助客户端传递报文信息。
注意:需要实现DHCP向客户端下发地址,需要保障DHCP服务器能与客户端的网络进行通信。
即:DHCP能访问到客户端的网络
配置案例:
DHCP服务器配置:
[DHCP]dhcp enable
# 配置DHCP地址池信息
[DHCP]ip pool vlan1
[DHCP-ip-pool-vlan1]network 192.168.1.0 mask 24
[DHCP-ip-pool-vlan1]gateway-list 192.168.1.254
[DHCP-ip-pool-vlan1]dns-list 8.8.8.8 114.114.114.114
# 接口应用全局DHCP地址池
[DHCP]int g0/0/0
[DHCP-GigabitEthernet0/0/0]ip add 10.1.13.1 24
[DHCP-GigabitEthernet0/0/0]dhcp select global
# 保障DHCP与客户端之间的通信
[DHCP]ip route-static 192.168.1.0 24 10.1.13.3
AR3中继服务器配置:
[AR3]dhcp enable
[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0]ip add 10.1.13.3 24
[AR3-GigabitEthernet0/0/0]int g0/0/1
[AR3-GigabitEthernet0/0/1]ip add 192.168.1.254 24
[AR3-GigabitEthernet0/0/1]dhcp select relay
[AR3-GigabitEthernet0/0/1]dhcp relay server-ip 10.1.13.1
[AR3-GigabitEthernet0/0/1]q
# 由于AR3与10.1.13.0网络是直连,不需要配置静态路由
[DHCP]
抓包验证
- 配置中继之后,在DHCP服务器的G0/0/0接口上抓包,观察DHCP相关报文交互:
- 可以看到10.1.13.1DHCP服务器收到的是
单播Discover报文
,说明了中继后的DHCP报文是单播进行传输。
- 可以看到10.1.13.1DHCP服务器收到的是