一、概念
DHCP 3 种渠道:
1、基于接口
2、基于全局
3、基于中继
DHCP正常 4 个阶段和 8 种报文:
1、Client:Discover
2、Server:Offer
3、Client:Request
4、Server:Ack
Client 地址冲突,发 Decline
原DHCP Server 失效,其他 Server 发 Nak
Client 释放地址,发 Release
Client 需要更多信息,发 Inform
二、配置示例:
1、基于接口:
[Server][R2]:
dhcp enable #全局使能dhcp
#
int G0/0/0
ip addr 10.1.12.1 24 #先给自己配个IP,充当网关
dhcp select interface #使能基于接口地的地址池,然后就可以分发了
dhcp server dns-list x.x.x.x x.x.x.x #配dns
dhcp server lease day 1 hour 0 minute 0 #配租期,默认1天
dhcp server excluded-ip-address 10.1.12.100 10.1.12.150 #配置排除地址
dhcp server static-bind 10.1.12.10 mac-address xxxx-xxxx-xxxx #静态分配给固定的哑终端
#
dis ip pool #查看一下地址池
dis ip pool interface GigabiteEthernet0/0/0 all | used #查看详细地址池所有|已租用
#
[Client][R1]
dhcp enable
int G0/0/0
ip addr dhcp-alloc #配置此接口为静态客户端
#
优点:
简单,不需要配置地址范围,不需要配置网关
缺点:
Client 和 Server 必须在同一个子网中
2、基于全局:
如果 Server 和 Client 不在同一网段,需要配置全局 DHCP
[Server][SW1]
dhcp enable #全局使能 dhcp
#
ip pool vlan10 #配置地址池 vlan10、vlan20
gateway-list 10.1.10.1
network 10.1.10.0 mask 255.255.255.0
dns-list 8.8.8.8
#
ip pool vlan20
gateway-list 10.1.20.1
network 10.1.20.0 mask 255.255.255.0
dns-list 8.8.8.8
#
interface Vlanif10 #配置 vlan10、20 网关并在接口使能 dhcp
ip address 10.1.10.1 255.255.255.0
dhcp select global
#
interface Vlanif20
ip address 10.1.20.1 255.255.255.0
dhcp select global
#
interface GigabitEthernet0/0/1 #接口配置接口类型和所属 vlan10、20
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
#
dis ip pool name vlan10 used #查看池中已分配的地址
#
3、基于中继
如果,Client 和 Server 不在同一网段,或中间隔着其它设备,就需要配置中继。
1)配置过程:
1、 R3 配置两个地址池,出接口 G0/0/0 开启全局 DHCP 功能
2 、R2 的 G0/0/0 口配置 IP 网关 172.16.1.1,开启 DHCP 中继,起 DHCP 中继、指定中继服务器 IP 地址10.1.23.3 ;
R2 起 vlan 20,网关配 IP 地址 192.168.1.1/24,起 DHCP 中继、指定中继服务器 IP 地址 10.1.23.3,Ethernet0/0/0 由于是交换接口,正常配置接口默认 vlan 20
**3、**R3 配置两个地址池的网关路由,起两个静态IP地址 172.16.1.0/24、192.168.1.0/24,指向 R2 接口IP
2)配置命令:
DHCP Server R3 :
[R3]:
dhcp enable
#
ip pool 172
gateway-list 172.16.1.1
network 172.16.1.0 mask 255.255.255.0
#
ip pool 192
gateway-list 192.168.1.1
network 192.168.1.0 mask 255.255.255.0
#
interface GigabitEthernet0/0/0
ip address 10.1.23.3 255.255.255.0
dhcp select global
#
ip route-static 172.16.1.0 255.255.255.0 10.1.23.2
ip route-static 192.168.1.0 255.255.255.0 10.1.23.2
#
DHCP Relay R2 :
[R2]:
vlan batch 20
#
interface Vlanif20
ip address 192.168.1.1 255.255.255.0
dhcp select relay
dhcp relay server-ip 10.1.23.3
#
interface Ethernet0/0/0
port link-type access
port default vlan 20
#
interface GigabitEthernet0/0/0
ip address 172.16.1.1 255.255.255.0
dhcp select relay
dhcp relay server-ip 10.1.23.3
#
interface GigabitEthernet0/0/1
ip address 10.1.23.2 255.255.255.0
#
3)数据层面分析:
R1 发 DHCP Discover 广播包,由于 R2 是路由器,不会转发广播包,于是在与 R1 的接口起 DHCP Relay,将广播包转为单播包,转给中继服务器地址,发给R3
R3 收到包,查路由表,发给 R2,R2 中继转发给 R1:
查看第二个 DHCP Offer包,源 IP 是 DHCP Server R3的,目的 IP 是 给 Client R1 分配的IP,封装的源 MAC 是 DHCP Delay R2 的,目的 MAC 是 Client R1 的
Tips:
全 0 的 IP 是未确定地址,全 1 的 IPv4 是广播; 全 F 的 MAC 是二层广播