《一名网络工程师的自我修养》-DHCP 2.0

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

环境介绍:(必看) 必看!!!!

《一名网络工程师的自我修养》-DHCP 2.0

各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 2.0

基于接口的DHCP

《一名网络工程师的自我修养》-DHCP 2.0

[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 中继配置

《一名网络工程师的自我修养》-DHCP 2.0

让设备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 2.0

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 2.0

全局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地址。

上一篇:HCIA 第三天


下一篇:LinuxDHCP配置