高级计算机网络之——高可用和高可靠网络(1)

DHCPv4

主题标题主题目标
DHCPv4的概念介绍 DHCPv4 在中小型企业网络中的 的工作方式。
配置思科 IOS DHCPv4 服务器将路由器配置为 DHCPv4 服务器。
配置 DHCPv4 客户端将路由器配置为 DHCPv4 客户端。

 DHCPv4的概念

动态主机配置协议 v4 (DHCPv4) 会动态分配 IPv4 地址和其他网络配置信息。

DHCPv4 服务器动态地从地址池中分配或出租 IPv4 地址,使用期限为服务器选择的一段有限时间,或者直到客户端不再需要该地址为止。

客户端的租用期限由管理员确定。管理员在配置 DHCPv4 服务器时,可为其设定不同的租期届满时间。租用时间在任何地方通常都是 24 小时到一周或更长时间。租期届满后,客户端必须申请另一地址,但通常是把同一地址重新分配给客户端。

DHCPv4 的工作方式:DHCPv4工作在客户端/服务器模式下。当客户端与 DHCPv4 服务器通信时,服务器会将 IPv4 地址分配或出租给该客户端。然后客户端使用租用的IPv4地址连接到网络,直到租期届满。客户端必须定期联系 DHCP 服务器以续展租期。这种租用机制确保移动或关闭的客户端不保留它们不再需要的地址。租期届满后,DHCP 服务器会将地址返回地址池,如有必要,可将其再次分配。

当客户端启动(或者要加入网络)时,它就会开始执行这个四步的过程来租赁地址。

  • 步骤 1. DHCP 发现 (DHCPDISCOVER)
    • 客户端使用包含自己MAC地址广播DHCPDISCOVER消息启动整个过程,来查找可用DHCPv4服务器。由于客户端启动时没有有效的 IPv4 信息,因此,它将使用第 2 层和第 3 层广播地址与服务器通信。DHCPDISCOVER 消息的目的是在网络中查找 DHCPv4 服务器。
  • 步骤 2. DHCP 提供 (DHCPOFFER)
    • 当 DHCPv4 服务器收到 DHCPDISCOVER 消息时,会保留一个可用 IPv4 地址以租赁给客户端。服务器还会创建一个 ARP 条目,该条目包含请求客户端的 MAC 地址和客户端的租用 IPv4 地址。DHCPv4 服务器会把绑定 DHCPOFFER 消息发送到请求客户端。
  • 步骤 3. DHCP 请求 (DHCPREQUEST)
    • 当客户端从服务器那里接收到DHCPOFFER消息时,客户端就会发回DHCPREQUEST播消息。此消息用于发起租用和租约更新。用于发起租用时,将 DHCPREQUEST 用作已提供参数所选定服务器的绑定接受通知,并隐式拒绝任何其他可能已为客户端提供了绑定服务的服务器
    • 许多企业网络使用多台 DHCPv4 服务器。DHCPREQUEST 消息以广播的形式发送,将已接受提供的情况告知此 DHCPv4 服务器和任何其它 DHCPv4 服务器
  • 步骤 4. DHCP 确认 (DHCPACK)
    • 在接收到DHCPREQUEST消息后,服务器就会使用ICMP ping测试来验证这个地址当前没有设备正在使用,它也为客户端租用该地址创建出一个新的ARP条目,然后使用DHCPACK消息进行应答。除消息类型字段不同外,DHCPACK 消息与 DHCPOFFER 消息别无二致。在客户端接收到DHCPACK消息后,它会记录下配置信息,并且对分配给它的地址执行APR查找。如果没有对 ARP 的应答,客户端就会知道 IPv4 地址是有效的,并开始像使用自己的地址一样使用该地址。

在租约到期之前,客户端会执行两个步骤,来向DHCPv4服务器续订租约:

1. DHCP请求(DHCPREQUEST)

租期届满后,客户端会把DHCPREQUEST消息直接发送到最初提供IPv4地址的那台DHCPv4服务器。如果在指定的时间内没有收到 DHCPACK,客户端会广播另一个 DHCPREQUEST,这样,另外一个 DHCPv4 服务器便可续展租期。

2. DHCP确认(DHCPACK)

在接收到DHCPREQUEST消息后,服务器会返回一个DHCPACK消息来验证租用信息。

小结

配置思科 IOS DHCPv4 服务器

配置思科 IOS DHCPv4 服务器的步骤

  • 步骤 1. 排除 IPv4 地址
  • 步骤 2. 定义一个 DHCPv4 地址池的名称。
  • 步骤 3. 配置 DHCPv4 地址池

步骤 1. Exclude IPv4 Addresses

通常将地址池中的某些 IPv4 地址分配给需要静态地址分配的网络设备。排除 IPv4 地址的命令语法如下:

Router(config)# ip dhcp excluded-address low-address [high-address]

可以通过指定范围内的低位地址(low-address)和高位地址(high-address)来排除某一个地址或某一个范围内的所有地址。排除地址应包括分配给路由器、服务器、打印机和其他已经手动配置或者马上要手动配置给设备的地址。您可以多次输入这条命令。

步骤 2. Define a DHCPv4 Pool Name

ip dhcp pool pool-name命令可以以某指定的名称创建出一个地址池,并且让路由器进入 DHCPv4 配置模式,这种模式的提示符是Router(dhcp-config)# 。定义地址池的命令语法如下:

Router(config)# ip dhcp pool pool-name
Router(dhcp-config)#

步骤 3. Configure the DHCPv4 Pool

任务IOS 命令
定义地址池。
network network-number [mask | / prefix-length]
定义默认路由器或网关。
default-router address [ address2….address8]
定义 DNS 服务器。
dns-server address [ address2…address8]
定义域名。
domain-name domain
定义 DHCP 租期的持续时间。
lease {days [hours [ minutes]] | infinite}
定义 NetBIOS WINS 服务器。
netbios-name-server address [ address2…address8]

注:必须配置地址池和默认网关路由器,其他 DHCPv4 池命令为可选命令。

配置示例的拓扑如图所示。

这个示例显示了如何把 R1 配置成为 192.168.10.0/24 这个局域网的 DHCPv4 服务器。

R1(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.9
R1(config)# ip dhcp excluded-address 192.168.10.254
R1(config)# ip dhcp pool LAN-POOL-1
R1(dhcp-config)# network 192.168.10.0 255.255.255.0
R1(dhcp-config)# default-router 192.168.10.1
R1(dhcp-config)# dns-server 192.168.11.5
R1(dhcp-config)# domain-name example.com
R1(dhcp-config)# end
R1#

DHCPv4验证命令

使用表中的命令来验证思科 IOS DHCPv4 服务器是否运行正常。

命令描述
show running-config | section dhcp
显示路由器上配置的 DHCPv4 命令。
show ip dhcp binding
显示所有由DHCPv4服务提供的 IPv4 地址与 MAC 地址绑定关系的列表。
show ip dhcp server statistics
显示关于已发送和接收的 DHCPv4 消息 的数量信息。
  • 验证 DHCPv4 配置

如示例中所示,show running-config | section dhcp 命令的输出信息显示了配置在 R1 上的 DHCPv4 命令。| section 参数只显示了与 DHCPv4 配置有关的命令。

R1# show running-config | section dhcp
ip dhcp excluded-address 192.168.10.1 192.168.10.9
ip dhcp excluded-address 192.168.10.254
ip dhcp pool LAN-POOL-1
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
dns-server 192.168.11.5
domain-name example.com
  • 验证 DHCPv4 绑定信息

如示例中所示,show ip dhcp binding 命令可以验证 DHCPv4 的运行情况。此命令显示 DHCPv4 服务所提供的全部 IPv4 地址与 MAC 地址绑定的列表。

R1# show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type State Interface
Hardware address/
User name 
192.168.10.10 0100.5056.b3ed.d8 Sep 15 2019 8:42 AM Automatic Active GigabitEthernet0/0/0

验证 DHCPv4 统计数据

show ip dhcp server statistics 的输出信息可以验证路由器正在接收或发送的消息。此命令显示关于已发送和接收的 DHCPv4 消息数量的计数信息。

R1# show ip dhcp server statistics
Memory usage 19465
Address pools 1
Database agents 0
Automatic bindings 2
Manual bindings 0
Expired bindings 0
Malformed messages 0
Secure arp entries 0
Renew messages 0
Workspace timeouts 0
Static routes  0
Relay bindings 0
Relay bindings active 0
Relay bindings terminated 0
Relay bindings selecting 0
Message Received
BOOTREQUEST 0
DHCPDISCOVER 4
DHCPREQUEST 2
DHCPDECLINE 0
DHCPRELEASE 0
DHCPINFORM 0

验证接收到了 IPv4 编址信息的 DHCPv4 客户端

如示例中所示,在 PC1 上输入 ipconfig /all 命令可以显示 TCP/IP 参数。由于 PC1 连接到网段 192.168.10.0/24,因此,它会自动从该地址池接收 DNS 后缀、IPv4 地址、子网掩码、默认网关和 DNS 服务器地址。不需要在路由器接口做特定的 DHCP 配置,如果 PC 连接到包含可用 DHCPv4 池的网段,该 PC 就能从相应的池中自动获取 IPv4 地址。

C:\Users\Student> ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : ciscolab
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter Ethernet0:
Connection-specific DNS Suffix . : example.com
Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Physical Address. . . . . . . . . : 00-05-9A-3C-7A-00
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 192.168.10.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained . . . . . . . . . : Saturday, September 14, 2019 8:42:22AM
Lease Expires . . . . . . . . . : Sunday, September 15, 2019 8:42:22AM
Default Gateway . . . . . . . . . : 192.168.10.1
DHCP Server . . . . . . . .. . . : 192.168.10.1
DNS Servers . . . . . . . .. . . :192.168.11.5

禁用思科 IOS DHCPv4 服务器

DHCPv4服务默认就是启用的。要禁用这项服务,应该使用全局配置模式命令no service dhcp。使用全局配置模式命令 service dhcp 可以重新启用 DHCPv4 服务器进程。

DHCPv4 中继

在复杂的分层网络中,企业服务器通常位于网络的中心位置。这些服务器可为网络提供 DHCP、DNS、TFTP 和 FTP 服务。网络客户端未必会和这些服务器处于同一个子网当中。为了定位服务器并接收服务,客户端通常使用广播消息。

在图中,PC1 正在尝试使用广播消息从 DHCPv4 服务器那里获取 IPv4 地址。在这个场景中,路由器 R1 没有配置为 DHCPv4 服务器,而且也不会转发广播。由于 DHCPv4 服务器位于不同的网络上,因此 PC1 不能使用 DHCP 接收 IP 地址。必须配置 R1 把 DHCPv4 消息中继给 DHCPv4 服务器。

  • ipconfig /release

PC1是一台Windows计算机。网络管理员使用 ipconfig /release 命令释放了所有当前的 IPv4 编址信息。请注意,IPv4 地址已经释放,目前显示没有地址。

C:\Users\Student> ipconfig /release
Windows IP Configuration
Ethernet adapter Ethernet0:
Connection-specific DNS Suffix . :
Default Gateway . . . . . . . . . :  
  • ipconfig /renew

接下来,网络管理员尝试使用 ipconfig /renew 命令来更新 IPv4 编址信息。此命令使 PC1 广播 DHCPDISCOVER 消息。输出显示 PC1 无法定位 DHCPv4 服务器。由于路由器不转发广播,因此请求未成功。

网络管理员可以在 R1 上为所有子网添加 DHCPv4 服务器。但是,这会增加成本,提升管理难度。

C:\Users\Student> ipconfig /renew
Windows IP Configuration
An error occurred while renewing interface Ethernet0 : unable to connect to your DHCP server. Request has timed out.
  • ip helper-address

更好的解决方案是使用 ip helper-address address 接口配置命令来配置 R1。这可以让 R1 把 DHCPv4 广播消息中继给 DHCPv4 服务器。如示例所示,R1 上接收到了 PC1 广播的那个接口在配置之后,会把 DHCPv4 地址中继给位于 192.168.11.6 的 DHCPv4 服务器。

R1(config)# interface g0/0/0
R1(config-if)# ip helper-address 192.168.11.6
R1(config-if)# end
R1#
  • show ip interface

当 R1 配置为 DHCPv4 中继代理时,它会接收 DHCPv4 服务的广播请求,然后将这些请求作为单播转发至 IPv4 地址 192.168.11.6。网络管理员可以使用 show ip interface 命令来验证配置。

R1# show ip interface g0/0/0
GigabitEthernet0/0/0 is up, line protocol is up
Internet address is 192.168.10.1/24
Broadcast address is 255.255.255.255
Address determined by setup command
MTU is 1500 bytes
Helper address is 192.168.11.6
(output omitted)
  • ipconfig /all

如输出信息所示 ,PC1 现在能够从 DHCP v4 服务器那里获取 IPv4 地址了 ,这可以通过 ipconfig /all 命令 进行验证。

C:\Users\Student> ipconfig /all
Windows IP Configuration
  
Ethernet adapter Ethernet0:
Connection-specific DNS Suffix . : example.com
IPv4 Address. . . . . . . . . . . : 192.168.10.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.10.1

配置 DHCPv4 客户端

有时,小型办公室/家庭办公室 (SOHO) 和分支机构站点中的思科路由器需要配置为DHCPv4客户端,让它们扮演和客户端计算机类似的角色。所用方法取决于 ISP。但是,最简单的配置是使用以太网接口来连接 Cable 或 DSL 调制解调器。

要将以太网接口配置为 DHCP 客户端,需要使用接口配置模式命令ip address dhcp 。

在图中,ISP已经经过配置,在使用ip address dhcp命令配置了客户端的G0/0/1接口之后,ISP就可以为选定客户提供209.165.201.0/27网络范围内的IP地址了。

SOHO(config)# interface G0/0/1
SOHO(config-if)# ip address dhcp
SOHO(config-if)# no shutdown
Sep 12 10:01:25.773: %DHCP-6-ADDRESS_ASSIGN: Interface GigabitEthernet0/0/1 assigned DHCP address 209.165.201.12, mask 255.255.255.224, hostname SOHO

使用 show ip interface g0/0/1 命令确认这个接口已经启动(up),且通过 DHCPv4 服务器分配了地址。

SOHO# show ip interface g0/0/1
GigabitEthernet0/0/1 is up, line protocol is up
  Internet address is 209.165.201.12/27
  Broadcast address is 255.255.255.255
  Address determined by DHCP
(output omitted)

总结

DHCPv4概念

DHCPv4 服务器会动态地从地址池中分配或出租 IPv4 地址,使用期限为服务器选择的一段有限时间,或者直到客户端不再需要这个地址为止。DHCPv4租借地址的过程始于客户端向DHCP服务器发送请求服务的消息。如果有DHCPv4服务器接收到这条消息,这台服务器就会使用IPv4地址和其他可能的网络配置信息作出响应。客户端必须定期联系 DHCP 服务器以续展租期。这种租用机制确保移动或关闭的客户端不保留它们不再需要的地址。当客户端启动(或者要加入网络)时,它就会开始执行这个四步的过程来租赁地址:先是DHCPDISCOVER、然后是DHCPOFFER、然后是DHCPREQUEST,最后是DHCPACK。在租约到期之前,客户端会执行两个步骤,来向DHCPv4服务器续订租约:先是DHCPREQUEST,然后是DHCPACK。

配置Cisco IOS DHCPv4服务器

可以将运行思科 IOS 软件的思科路由器配置为 DHCPv4 服务器。使用以下步骤配置思科 IOS DHCPv4 服务器:排除 IPv4 地址、定义 DHCPv4 地址池名称,然后配置 DHCPv4 地址池。使用 show running-config | section dhcpshow ip dhcp binding和 show ip dhcp server statistics命令来验证前面的配置。默认情况下,DHCPv4 服务已启用。要禁用这项服务,应该使用全局配置模式命令no service dhcp。在复杂的分层网络中,企业服务器通常位于网络的中心位置。这些服务器可为网络提供 DHCP、DNS、TFTP 和 FTP 服务。网络客户端未必会和这些服务器处于同一个子网当中。为了定位服务器并接收服务,客户端通常使用广播消息。一台 PC 正在尝试使用广播消息从 DHCPv4 服务器那里获取 IPv4 地址。如果它的网关路由器 R1 没有配置为 DHCPv4 服务器,它就不会转发广播。如果 DHCPv4 服务器位于不同的网络上,那么这台 PC1 就无法通过 DHCP 接收到 IP 地址。必须配置 R1 来把 DHCPv4 消息中继给 DHCPv4 服务器。网络管理员使用 ipconfig /release 命令释放所有当前 IPv4 编址信息。接下来,网络管理员尝试使用 ipconfig /renew 命令来续订 IPv4 编址信息。更好的解决方案是使用 ip helper-addressaddress interface接口配置命令来配置 R1。网络管理员可以使用 show ip interface 命令来验证配置。这台 PC 现在能够从 DHCP v4 服务器那里获取 IPv4 地址了 ,可以通过 ipconfig /all 命令 进行验证。默认情况下,ip helper-address 命令会转发以下八项 UDP 服务:

  • Port 37: 时间
  • Port 49: TACACS
  • Port 53: DNS
  • Port 67: DHCP/BOOTP 服务器
  • Port 68: DHCP/BOOTP 客户端
  • Port 69: TFTP
  • Port 137: NetBIOS 名称服务
  • Port 138: NetBIOS 数据报服务

配置DHCPv4客户端

以太网接口用来连接 Cable 或者 DSL 调制解调器。要把以太网接口配置为 DHCP 客户端,需要使用ip address dhcp interface 配置模式命令。家用路由器一般都会设置为自动从 ISP 接收 IPv4 编址信息。互联网连接类型设置为 Automatic Configuration - DHCP(自动配置 - DHCP)。当路由器连接到 DSL 或 Cable 调制解调器并且充当 DHCPv4 客户端,从 ISP 请求 IPv4 地址时,将使用此选项。

小结

易错题

  • 14
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值