DHCP
简介:Dynamic Host Configuration Protocol,动态主机配置协议
优点:
- More convenitent for users
- High manageability
工作方式
当DHCP Client(DHCP 客户端)与DHCP Server(DHCP 服务器)在同一个广播域时:
- 客户端广播发起一个Discover 报文
- Server收到后单播回复 存有可用IP地址的Offter 报文
- 当一个广播域存在多个服务器时,选择最先收到的offer报文
- Client 收到 offer报文后,向广播发送Request报文
- 通知Server 要使用它的IP
- 同时通知在同一广播域的其它Server服务器的IP地址可以保留,自己不使用。
- DHCP Server 收到后单播发送 ACK报文
四次握手完成DHCP报文传输。
时效
DHCP分配的IP地址设有 IP地址的租期,以达到资源利用最大化。
- 当服务器分配的IP地址的租期过半时,客户端会单播发送Request报文
- 服务器收到后确认可用发送ACK报文,不可用发送NAK报文
- 发送ACK报文,则将租期续约为100%
- 发送NAK报文,客户端则需要重新获取DHCP的IP地址
- 当服务器分配的IP地址的租期过半时,客户端会单播发送报文
- 如果为收到回复,则当租期到87.5%时,客户端会再次发送Request报文,服务器回应ACK则恢复租期,回应NAK则重新获取。
DHCP 中继配置
DHCP服务需要在同一个广播域才能使用,这会显得很鸡肋。在每个广播域都要至少设置一台服务器,则需要多次配置,不利于管理。所以需要用到DHCP中继作为中间人负责转发客户端和服务器的报文,可只在一台设备进行配置即可。
DHCP中继设备,必须在客户端的广播域中,一般选择客户端的网关。
DHCP 配置-VRP
环境介绍:(必看) 必看!!!!
各IP地址、VLAN、接口trunk、access都已经设置完成。交换机都属于VLAN30.
LSW5为VLAN10、20的网关,还设置了VLAN30的ip
LSW2为VLAN30、40的网关
各PC和LSW3和LSW4还未设置静态IP。
LSW5上设置了VLAN30的地址,LSW2上也设置了VLAN30的地址。此时可以忽略LSW4或者是LSW3:可看作LSW5与LSW2是直接相连的。VLAN30可直接进行通信(中间通信过程:如果是第一次访问:广播、学习MAC地址即可访问)–同一个网段的二层通信
若想要LSW5能够访问LSW2上的VLAN40,则可以选择设置目的ip为vlan40网段、下一跳地址为LSW2上的VLAN30地址即可。(静态走路由器路线虽然也能实现,但在效率上慢于交换机)
[S5] ip route-static 10.40.40.0 24 10.30.30.2 | 设置一条静态路由 |
---|---|
[S5]ip route-static 10.0.0.0 8 10.30.30.2 | 由于我们想要将VLAN30的网关放在LSW2,我们设置一条汇总路由即可。由于路由表的匹配规则:选择最长匹配,所以VLAN10、20的数据不会发送到LSW2上。 |
全局DHCP
PC2属于VLAN10,一般设置DHCP服务器在网关
[S5] dhcp enable | 开启DHCP功能 |
---|---|
[S5] ip pool VLAN10 | |
[S5-ip-pool-vlan10] network 10.10.10.0 mask 24 | |
[S5-ip-pool-vlan10] gateway-list 10.10.10.5 | |
[S5-ip-pool-vlan10] dns-list 172.16.66.1 | |
[S5-ip-pool-vlan10] excluded-ip-address 10.10.10.1 10.10.10.4 | 保留前10个IP地址不给予分配,第5个已经作为网关,跳过 |
[S5-ip-pool-vlan10] excluded-ip-address 10.10.10.6 10.10.10.10 | 保留 第6 -10个 |
[S5-ip-pool-vlan10] lease day 7 | 设置租期 |
[S5-ip-pool-vlan10] dis this | 可进行查看 |
创建地址池后,还要进行应用
[S5] int vlan 10 | 进入VLAN10 |
---|---|
[S5-Vlanif10] dhcp select global | 开启全局 |
此时全局DHCP配置已经完成,到PC上应用DHCP服务,等待一会即可查看是否成功获取:ipconfig , 抓取的数据包如下。
基于接口的DHCP
[AR7] dhcp enable | |
---|---|
[AR7] interface g0/0/0 | |
[AR7] dhcp select interface | |
[AR7-g0/0/0] dhcp server excluded-ip-address 172.16.55.1 (这个IP已被G0/0/0占用) | 保留地址 |
[AR7-g0/0/0] dhcp server lease day 7 | 设置租期 |
[AR7-g0/0/0] dhcp server dns-list 172.16.66.1 | |
[AR7-g0/0/0] quit | |
[AR7] | 配置完成 |
到PC6上应用DHCP,稍等查看即可。
DHCP 中继配置
让设备AR6作为DHCP服务器。
[R6] dhcp enable | |
---|---|
[R6] ip pool VLAN30 | |
[R6-ip-pool-VLAN30] network 10.30.30.0 mask 24 | |
[R6-ip-pool-VLAN30] gateway-list 172.16.66.1 | |
[R6-ip-pool-VLAN30] dns-list 172.16.66.1 | |
[R6-ip-pool-VLAN30] lease day 7 | |
[R6-ip-pool-VLAN30] quit | |
[R6] ip pool VLAN40 | |
[R6-ip-pool-VLAN40] network 10.40.40.0 mask 24 | |
[R6-ip-pool-VLAN40] gateway-list 10.40.40.2 | |
[R6-ip-pool-VLAN40] lease day 7 | |
[R6-ip-pool-VLAN40] quit | |
地址池设置完成后,以VLAN40为例需要通知网关DHCP服务去哪里获取。
[S2] dhcp enable | 开启DHCP服务 |
---|---|
[S2] int vlan 40 | 进入VLAN |
[S2-Vlanif40] dhcp select relay | 选择DHCP中继 |
[S2-Vlanif40] dhcp relay server-ip 172.16.67.6 | 设置DHCP服务器获取地址(接收报文的接口,这里是AR6的G0/0/2接口) |
此时再在AR6上的G0/0/2接口上也要开启DHCP服务 | |
[R6] int g0/0/2 | |
[R6-g0/0/2] dhcp select global | 地址池,所以选择全局 |
完成配置,可查看VLAN40的设备是否已成功获取IP。
DHCP服务设备的获取-PC、交换机等
-
电脑PC 可直接进行点击应用DHCP即可
-
交换机应用DHCP
-
[s3] int vlan 40 进入所要获取DHCP的VLANif接口 [s3-Vlanif40] ip address dhcp-alloc 开启DHCP获取IP [s3] dis ip interface brief 查看接口是否获取
-
DHCP配置–Cisco
全局DHCP
思科默认开启DHCP服务,以VLAN10为例。
s5(config) # ip dhcp pool VLAN10 | |
---|---|
s5(dhcp-config) # network 10.10.10.0 255.255.255.0 | |
s5(dhcp-config) # default-router 10.10.10.5 | |
s5(dhcp-config) # dns-server 172.16.66.1 | |
s5(dhcp-config) # exit | 设置不予分配的地址时,VRP(华为)是在地址池里配置,Cisco在全局配置 |
s5(config) # ip dhcp excluded-address 10.10.10.1 10.10.10.10 | 将前10个ip排除在外(思科默认将网关的10.10.10.5排除,华为要错开写两次命令) |
本思科模拟器无法设置租期 | |
配置完成后,可到PC1应用DHCP服务获取IP,与VRP不同:思科是将从小到大分配ip地址,VRP从大到小。
中继DHCP
与VRP类似的思路:
R6(config)# ip dhcp pool VLAN30 | 创建VLAN30的地址池 |
---|---|
R6(dhcp-config)# network 10.30.30.0 255.255.255.0 | 指定网络 |
R6(dhcp-config)# default-router 10.30.30.2 | 指定网关 |
R6(dhcp-config)# dns-server 172.16.66.1 | 指定dns服务器 |
R6(dhcp-config) # exit | |
R6(config) # ip dhcp excluded-address 10.30.30.1 10.30.30.10 | 同样可以排除不想分配的网络 |
配置地址池完成后,到作为VLAN30的网关的S2交换机上配置中继服务
s2(config) #int vlan 30 | |
---|---|
s2(config-if)# ip helper-address 172.16.67.6 | 通知网关 DHCP服务获取去哪个端口(地址池所在设备收到DHCP报文的端口) |
配置完成后,
DHCP服务设备的获取-PC、交换机等
-
电脑PC直接应用获取即可
-
交换机获取
-
s3(coonfig) int vlan 30 进入所要获取DHCP服务的接口 s3(coonfig-if) ip address dhcp 获取命令 现在即可查看IP地址。
-