弹性交换网络

DHCP的应用场景和原理

技术背景

企业网络中,大量的主机或设备需要获取IP地址等网络参数

  • 如果采用手工配置,工作量大、容易出错且不好管理
  • 如果用户擅自更改,还有可能会造成IP地址冲突等问题

使用动态主机配置协议DHCP,来分配IP地址等网络参数,可以减少管理员的工作量,避免出错

DHCP的定义

DHCP,Dynamic Host Configuration Protocol

  • DHCP:动态主机配置协议
  • 用于实现企业用户IP地址的动态分配和集中管理
  • 避免繁琐的手工配置,快速适应网络的变化

DHCP的角色

DHCP客户端

  • 通过DHCP协议请求获取IP地址等网络参数,例如PC、手机、IP电话等

DHCP服务器

  • 负责为DHCP客户端分配网络参数

4.4.1

DHCP中继

  • 当客户端与服务器不在一个网段的时候,才会用到DHCP中继设备
  • 负责转发DHCP服务器和DHCP客户端之间的DHCP报文,协助DHCP服务器向DHCP客户端动态分配网络参数的设备

4.4.2

DHCP工作原理

客户端首次接入网络从DHCP服务器中获取IP地址,会经过4个阶段

  • 发现阶段:客户端广播发送DHCP Discover报文(DHCP发现报文,客户端找DHCP服务器,请求IP地址)
  • 提供阶段:服务器收到客户端发的报文后,会单播回复DHCP Offer报文(DHCP回应报文,服务器给客户端发IP地址、网关、DNS等)
  • 选择阶段:客户端收到Offer报文后,会再次广播发送DHCP Request报文(DHCP请求报文,客户端广播告知所有的服务器,选择了某某IP地址)
  • 确认阶段:服务器收到客户端发报文后,会单播回复DHCP ACK报文(DHCP确认报文,确认分配结果,只有发了ACK报文,客户端才可以使用IP)

4.4.3

基于全局的DHCP

创建地址池

地址池

  • DHCP服务器通过地址池为客户端提供IP地址等网络参数

创建地址池有2种方式

  • 基于全局的地址池
  • 基于接口的地址池

创建基于全局的DHCP

  • 开启设备的DHCP功能,确保设备为 DHCP 服务器
  • 在DHCP服务器创建地址池,规划网段/网关/DNS和租约
  • 在接收DHCP报文的接口上,开启基于全局的DHCP功能

4.4.4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1.开启路由器DHCP功能
[Huawei]sysname dhcp
[dhcp]dhcp enable

2.在路由器上建立地址池,配置网段/网关/DNS和租约
[dhcp]ip pool p1 //建立地址池并命名
[dhcp-ip-pool-p1]network 192.168.1.0 mask 255.255.255.0
[dhcp-ip-pool-p1]gateway-list 192.168.1.254
[dhcp-ip-pool-p1]dns-list 8.8.8.8
[dhcp-ip-pool-p1]lease day 3 //设置DHCP租约为3天 (默认1天)

3.为路由器接口G0/0/0配置地址,并在接口上启用DHCP
[dhcp]interface GigabitEthernet0/0/0
[dhcp-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[dhcp-GigabitEthernet0/0/0]dhcp select global //接口下启用基于全局的DHCP

基于接口的DHCP

创建基于接口的DHCP

  • 开启设备的DHCP功能,确保设备为 DHCP 服务器
  • 配置基于接口的DHCP地址池,并配置DNS和租约
  • 在接收DHCP报文的接口上,开启基于接口的DHCP功能

4.4.5

1
2
3
4
5
6
7
8
9
10
1.开启路由器DHCP功能
[Huawei]sysname dhcp
[dhcp]dhcp enable

2.在接口G0/0/0配置地址,开启基于接口的DHCP
[dhcp]interface GigabitEthernet0/0/0
[dhcp-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[dhcp-GigabitEthernet0/0/0]dhcp select interface //接口下启用基于接口的DHCP
[dhcp-GigabitEthernet0/0/0]dhcp server dns-list 8.8.8.8
[dhcp-GigabitEthernet0/0/0]dhcp server lease day 3

DHCP中继代理

DHCP中继概述

场景:

  • DHCP客户端与DHCP服务器不在一个网段时,才需要DHCP中继

作用

  • 传递DHCP服务器和DHCP客户端之间的DHCP报文

4.4.7

DHCP中继配置

  • DHCP客户端的网关接口,才有资格成为DHCP中继
  • 开启DHCP中继的DHCP功能
  • 设置DHCP中继接口的模式为 relay
  • 指定DHCP中继接口的DHCP服务器地址

4.4.8

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1.配置设备之间的互联接口及静态路由
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 10.10.10.2 24
[R2-GigabitEthernet0/0/0]quit
[R2]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.1.254 24
[R2-GigabitEthernet0/0/1]quit

[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 10.10.10.1 24
[R1-GigabitEthernet0/0/0]quit
[R1]ip route-static 192.168.1.0 24 10.10.10.2

2.在R1上配置DHCP地址池,启用DHCP
[R1]dhcp enable
[R1]ip pool ntd
[R1-ip-pool-ntd]network 192.168.1.0 mask 255.255.255.0
[R1-ip-pool-ntd]gateway-list 192.168.1.254
[R1-ip-pool-ntd]dns-list 8.8.8.8
[R1-ip-pool-ntd]excluded-ip-address 192.168.1.253 //排除的IP地址
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]dhcp select global //开启基于全局的DHCP

3.在R2上配置DHCP中继
[R2]dhcp enable
[R2]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]dhcp select relay //在接口G0/0/1上应用DHCP中继功能
[R2-GigabitEthernet0/0/1]dhcp relay server-ip 10.10.10.1 //指向DHCP服务器的IP地址