原理概述
DHCP:DynamicHost Configuration Protocol,动态主机配置协议。DHCP采用客户端/服务器(Client/Server)方式工作,DHCP Client向DHCP Server动态请求配置信息,DHCP Server根据策略返回相应的配置信息(IP地址等)。
DHCP客户端首次登录网络时,主要通过4个阶段与DHCP服务器建立联系。
⑴发现阶段:即DHCP客户端寻找DHCP服务器阶段。客户端以广播方式发送DHCP_Discover报文,只有DHCP服务器才会进行响应。
⑵提供阶段:即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCP_Discover报文后,从IP地址池中挑选一个尚未分配的IP地址分配给客户端,向该客户端发送包含出租IP地址和其他设置的DHCP_Offer报文。
⑶选择阶段:即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户发来DHCP_Offer报文,客户端只接受第一个收到的DHCP_Offer报文,然后以广播方式向各DHCP服务器回应DHCP_Request报文。
⑷确认阶段:即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCP_Request报文后,便向客户端发送包含它所提供的IP地址和其他设置的DHCP_ACK确认报文。
实验目的
实验内容
本实验将由路由器R1模拟成为公司的DHCP Server,该公司市场部和财务部下的PC通过DHCP的方式自动配置IP地址。网络管理员配置客户端PC通过接口地址池的方式自动获取IP地址。
实验编址
设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
R1 | GE0/0/0 | 192.168.1.254 | 255.255.255.0 | N/A |
GE0/0/1 | 192.168.2.254 | 255.255.255.0 | N/A | |
R2 | Ethernet0/0/1 | DHCP获取 | DHCP获取 | DHCP获取 |
R3 | Ethernet0/0/1 | DHCP获取 | DHCP获取 | DHCP获取 |
实验拓扑
实验步骤
1.基本配置
根据实验编址,配置路由器R1的G0/0/0和G0/0/1接口IP地址,PC是通过DHCP自动获取地址,无法测试连通性,交换机为二层交换机,不用配置IP。
2.基于接口配置的DHCP Server功能
在R1上开启DHCP功能。
[R1]dhcp enable
再R1的G0/0/0和G0/0/1接口上配置 dhcp select interface 命令,开启接口的DHCP服务功能,指定从接口地址池分配地址。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]dhcp select interface
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]dhcp select interface
接口地址池可动态分配的IP地址,范围就是接口的IP地址所在的网段,且只在此接口下有效。当DHCP服务器接收到DHCP客户端的请求报文后,DHCP服务器将会使用该接口的地址网段给客户端分配地址。
3.配置基于接口的DHCP Server租期/DNS服务器地址
在R1的G0/0/0接口上使用dhcp server lease 命令配置DHCP服务器接口地址池中IP地址的租用有效期为2天;G0/0/1接口不修改,使用默认值1天,超过租期后改地址将会重新分配。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]dhcp server lease day 2
在G0/0/0接口上使用dhcp server excluded-ip-address命令配置接口地址池中不参与自动分配的IP地址范围为192.168.1.1到192.168.1.10。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]dhcp server excluded-ip-address 192.168.1.1 192.168.1.10
有些地址需要分配给其他服务,比如DNS服务器或者HTTP服务器等需要手工静态配置的IP地址,就不能再动态分配给客户端使用,可以执行该命令配置地址池中不参与自动分配的IP地址,(默认该地址池中所有地址都参与分配,此命令作为可选命令)。
当DHCP服务器收到客户端的DHCP请求时,DHCP服务器将会选择地址池中空闲的IP地址分配给客户端。G0/0/0接口地址池中 192.168.1.1---192.168.1.10 不参与分配,而G0/0/1接口没有配置该命令,因此可以分配的IP地址范围是 192.168.2.1--192.168.2.253(不包含本接口地址)。
在G0/0/1接口上使用 dhcp server dns-list 命令指定接口地址池下的DNS服务器,为PC2自动分配DNS服务器地址为 8.8.8.8。
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]dhcp server dns-list 8.8.8.8
4.配置DHCP Client
打开PC1的“基础配置”选项卡,在“IPv4配置”栏中选择“DHCP”,然后单击对话框右下角的“应用”按钮,如下图:
单击PC1的“命令行”选项卡,输入 ipconfig 命令查看PC获取到的IP地址:
通过观察发现PC1已经通过DHCP Server获取到一个IPv4地址192.168.1.253,网关地址为路由器接口地址192.168.1.254。
参照PC1配置方法,配置PC2,选拔组通过DHCP配置地址。配置完成后,在命令行界面输入 ipconfig 查看IP地址。
通过观察发现,PC2已经通过DHCP Server获取到一个IP地址 192.16.2.252,网关地址为路由器的接口地址 192.168.2.254,DNS服务器地址为8.8.8.8。
在R1上使用命令 disable ip pool 查看DHCP 地址池中的地址分配情况。
以上信息显示目前为基于接口的地址池,由于有两个接口启用DHCP功能,所以地址池也有两个,Pool-name分别为 G0/0/0和G0/0/1。在DHCP Server地址池中,网关为当前接口的IP地址,掩码为255.255.255.0,IP地址池总共可以分配506个地址(除了路由器接口地址),已经使用2个,空闲地址为494个,其中地址池中有10个地址是不参与分配的。