很多读者反映不太熟悉思科路由器的IOS系统配置方法,尤其是在DHCP服务器配置方面遇到很多问题。这个需要大家认真阅读下文,通过配置概述、IP地址排除和实例来给大家介绍具体的方法。 运行Cisco IOS系统的路由器包括DHCP服务器和中继代理软件。Cisco IOS DHCP服务器功能包括一个从路由器中指定的地址池中为DHCP客户端分配和管理IP地址的全功能平台。还可以配置附加参数(如通常所说的选项82),如DNS服务器IP地址和默认路由。但不同的IOS版本所支持的DHCP功能并不完全一样,具体大家可以参见Cisco官方网站以下链接中的表4:http://www.cisco.com/en/US/docs/ios/ipaddr/configuration/guide/iad_dhcp_svr_cfg_ps6350_TSD_Products_Configuration_Guide_Chapter.html#wp1145658,或者具体路由器产品用户手册。 本节将介绍在DHCP服务器配置过程中所涉及到的以下几项任务: n 配置DHCP数据库代理或禁止冲突日志(必需) n 配置DHCP地址池(必需) n 配置IP地址排除(可选) n 配置手动绑定(可选) n 配置DHCP静态映射(可选) n 自定义DHCP服务器选项(可选) n 中心DHCP服务器选项导入到DHCP服务器的配置(可选) n 使用选项82配置DHCP地址(可选) n 配置以从DHCP服务器中动态获得的地址作为下一跳的静态路由(可选) n 清除DHCP服务器变量(可选) 【经验之谈】以上这些功能的配置,我们在学习Windows Server 2003或者RHEL Linux 5服务器系统下的DHCP服务器配置中都有涉及,大家在学习本节内容时最好能在心中对原来所学内容进行回顾,对比,这样更容易理解。具体可以参见笔者编著的全实战战型教材《金牌网管师》系列。 4.2 DHCP数据库代理或禁止冲突日志配置 在正式把Cisco路由器配置成DHCP服务器之前,首先要考虑两个方面:一是是否要配置DHCP数据库代理,二是是否要开启冲突日志功能。 如果路由器的闪存空间不够,通常是把DHCP服务器的数据库中的地址绑定数据存放在另一台PC主机上,然后通过FTP、TFTP或者RCP服务器进行存取。这时这些存储DHCP服务器数据库的主机就称之为“DHCP数据库代理”了。你可以配置多个DHCP数据库代理,也可以为每个代理配置数据库更新和传输的时间间隔。强烈建议使用DHCP数据库代理,但是Cisco IOS DHCP服务器也可以在无数据库代理的情况下正常运行。 在DHCP数据库代理中存放的是用户的地址绑定条目,其中包括由DHCP服务器自动建立的自动绑定、和由管理员手动建立的手动绑定。自动绑定条目中的自动绑定信息(如租用期、接口索引、VPN路由和转发(VPN routing and forwarding,VRF)名称)是存储在DHCP数据库代理中的。而且,这个绑定信息是以纯文本方式记录的,易于维护。 另外,当有多个主机使用同一个IP地址时就会发生地址冲突。在DHCP服务器分配IP地址给客户端的过程中,DHCP服务器会使用ping和强制的ARP功能检测冲突。如果检测到有冲突,则该地址会从地址池中删除,不会分配给客户端,直到冲突解除。如果你没有配置DHCP数据库代理,则一定要通过“no ip dhcp conflict logging”全局配置模式命令禁止DHCP服务器上的地址冲突日志功能,否则路由器上的闪存空间很快就会被冲突日志耗尽。 4.2.1 DHCP数据库代理或者禁止冲突日志的配置步骤及示例 DHCP数据库代理和冲突日志功能的配置可按表4-1所示步骤自全局配置模式开始进行。配置过程很简单,所用的命令主要是两个:配置DHCP数据库代理是用“ip dhcp database”全局配置模式命令,禁用冲突日志功能是用“no ip dhcp conflict logging”全局配置模式命令。当然如果要启用冲突日志功能,则要直接用“ip dhcp conflict logging”全局配置模式命令了。 表4-1 DHCP数据库代理或冲突日志的配置步骤
在以上步骤中涉及到两条主要命令:“ip dhcp database”和“ip dhcp conflict logging”全局配置模式命令。下面对这两个命令进行详细介绍。 1. ip dhcp database命令 “ip dhcp database”的完整命令格式如下: ip dhcp database url [timeout seconds | write-delay seconds] 它是用来配置IOS DHCP服务器和中继代理在一个称之为“数据库代理”远程主机(如FTP、TFTP、RCP服务器或者网络磁盘)上保存自动绑定关系。你可以配置多个DHCP数据库代理,而且你可以为每个数据库代理设置数据库更新的时间间隔。要删除数据库代理,则可用“no ip dhcp database url”命令。命令中的可选项和参数说明如下: url:指定用于存储自动绑定关系的远程文件名。它可以有以下几种URL格式: ? tftp://host/filename ? ftp://user:password@host/filename ? rcp://user@host/filename ? flash://filename ? disk0://filename timeout seconds:(可选)指定在放弃一个数据库传输前应该等待的时间(以秒为单位)。超出这个设置的时间限制,则传输将放弃。默认情况下,DHCP服务器是等待300秒时间,如果设为0,则相当于可以无限等待。 write-delay seconds:(可选)指定多久时间后DHCP服务器应当发送一次更新。默认情况下,DHCP服务器是每300秒发送一次更新,最小时间为60秒。 以下示例指定DHCP停止向数据库传输前等待的时间为80秒,远程存储的数据库文件名为ftp://user:password@172.16.1.1/router-dhcp。 ip dhcp database ftp://user:password@172.16.1.1/router-dhcp timeout 80 以下示例显示“tftp://172.16.1.1/router-dhcp”DHCP数据库更新时间间隔为100秒。 ip dhcp database tftp://172.16.1.1/router-dhcp write-delay 100
2. ip dhcp conflict logging命令 “ip dhcp conflict logging”全局配置模式命令用来启动在DHCP服务器上的冲突日志功能。要禁用冲突日志功能,则要使用“no ip dhcp conflict logging”全局配置模式命令。一般情况下是会使用至少一个DHCP服务器代理的,所以默认会启用冲突日志功能。如果没有使用数据库代理,则要禁止冲突日志功能,因为在路由器上没有这么大的闪存空间可用来存储这些日志。 4.2.2 DHCP数据库代理的配置示例 以下示例显示如何把绑定存储在IP地址为172.16.4.253的主机的router-dhcp目录中,使这台主机成为DHCP数据库代理。代理与DHCP服务器之间是通过FTP协议进行文件传输的。示例中,在重写数据库并且更新前,DHCP服务器将等待2分钟时间。所用的用户帐户和密码就是winda,123456 Router> enable Router# configure terminal Router(config)#ip dhcp database ftp://winda:123456@172.16.4.253/router-dhcp write-delay 120 4.3 DHCP服务器IP地址排除配置 DHCP服务器是假设在DHCP地址池中的所有地址都是可以分配给DHCP客户端的。如果有些地址必须静态分配给某个主机(如各种服务器),而该地址又在DHCP地址池中,这时你必须把那些在IP地址池中不能分配给DHCP客户端的IP地址排除在外。还有一种情况,如果在同一个网络或者子网中配置了两台地址池所对应的网段完全一样的DHCP服务器用于冗余或均衡,并且允许两台DHCP服务器同时工作,而不是在一台服务器时才接替原来那台服务器的工作,这时这两台DHCP服务器的地址池一定得用排除功能来排除在另一台DHCP服务器地址池中的地址,否则就会发生冲突。 4.3.1 IP地址排除的配置步骤及示例 配置排除IP地址的步骤如表4-2所示。也很简单,主要就一个命令,那就是“ip dhcp excluded-address”全局配置模式命令,用来排除不能给DHCP客户端分配的IP地址,或者一个IP地址范围。 表4-2 排除IP地址的配置步骤
以上配置步骤中的“ip dhcp excluded-address low-address [high-address] ”全局配置模式命令是用来指定DHCP服务器不分配给客户端的地址池中的地址或地址范围的。如果要排除一个地址,则只用low-address参数来指定;如果要排除的是一个连续的IP地址范围,则还要使用high-address参数,这时low-address参数用来指定要排除地址范围中的最低IP地址,而参数high-address是用来指定要排除地址范围中最高的IP地址。可使用最前面加“no”关键字选项的该命令来删除原来所做的相应地址排除。 以下示例显示如何配置排除一个从172.16.1.100到172.16.1.199,共包含100个IP地址的地址范围。 Router> enable Router# configure terminal Router(config)# ip dhcp excluded-address 172.16.1.100 172.16.1.199 4.3.2 IP地址排除的配置示例 本示例中,有Server A和Server B两个服务器,且都是在10.0.20.0/24这个子网中。现在通过DHCP服务器的IP地址排除功能把这个子网均匀地地划分到这两个DHCP服务器上,Server A配置可分配的IP地址范围为10.0.20.1~10.0.20.125,而Server B配置可分配的IP地址范围为10.0.20.126 ~10.0.20.254。 Server A上的配置: ip dhcp excluded-address 10.0.20.126 10.0.20.255 ! ip dhcp pool A network 10.0.20.0 255.255.255.0 Server B上的配置: ip dhcp excluded-address 10.0.20.0 10.0.20.125 ! ip dhcp pool B network 10.0.20.0 255.255.255.0 4.4 DHCP服务器IP地址池配置 DHCP服务器上的最基本配置就是DHCP地址池的创建与配置了。你可以一个字符串(如“engineering”)或者整数(如“0”)命名DHCP地址池。配置地址池的同时就进入了路由器DHCP地址池配置模式(提示符为“(dhcp-config)#”),为地址池配置各种所需的参数,如IP子网号和默认路由列表等。 4.4.1 DHCP地址池的选择及配置准备 DHCP服务定义了一个过程,判定由哪个DHCP服务器识别DHCP客户端所在子网,然后从一个有效的IP地址池为客户端子网分配IP地址。这个过程是通过DHCP服务器来标识用哪个DHCP地址池用于响应客户端请求。 DHCP服务器是按照以下规则来确定用哪个DHCP地址池来响应DHCP客户端请求的: n 如果DHCP客户端不是直接连接DHCP服务器的(此时DHCPDISCOVER广播包消息中的网关地址为非零),则DHCP服务器用DHCP地址池中的网关地址部分所对应的子网与DHCPDISCOVER广播包中网关地址进行匹配,然后确定最终由哪个DHCP地址池来响应DHCP客户端的请求。 n 如果DHCP客户是直接连接DHCP服务器的(此时DHCPDISCOVER广播包消息中的网关地址为零),则DHCP服务器用DHCP地址池所连接接口的接口地址所对应的子网与DHCPDISCOVER广播包中网关地址进行匹配,然后确定最终由哪个DHCP地址池来响应DHCP客户端的请求。如果所连接口有第二个IP地址,则在与第一个IP地址相匹配的DHCP地址池中地址用完后,就会采用与第二个地址匹配的DHCP地址池进行响应。 在配置DHCP地址池之前,你需要: n 标识DHCP选项(包括默认引导映像文件名、默认路由器、DNS服务器、NetBIOS名称服务器、主子网、第二个子网和指定子网的默认路由器列表) n 确定NetBIOS节点类型(B、P、M或者H) n 确定DNS域名 【说明】NetBIOS 名称解析成 IP 地址的确切机制取决于为 NetBIOS 节点配置的节点类型。RFC 1001“TCP/UDP 传输上的 NetBIOS 服务的协议标准:概念和方法”定义了 NetBIOS 节点类型,具体如下所示。 B-节点(广播):B-节点使用广播NetBIOS名称来注册和解析名称。B-节点有两个主要问题:(1)广播将干扰网络上的每个节点,(2)路由器通常不转发广播,所以只能解析本地网络上的NetBIOS名称。 P-节点(端对端):P-节点使用NetBIOS名称服务器(NBNS),如WINS服务器来解析NetBIOS名称。P-节点不使用广播,而是直接查询名称服务器。 M-节点(混合):M-节点是B-节点和P-节点的组合。默认情况下,M-节点作为B-节点使用。如果M-节点无法通过广播解析名称,则使用P-节点查询NBNS服务器。 H-节点(混合):H-节点是P-节点和B-节点的组合。默认情况下,H-节点作为P-节点使用。如果H-节点无法通过NBNS解析名称,则使用广播解析名称。 运行Windows Server 2003 的计算机默认是 B-节点,配置WINS服务器时变成H-节点。这些计算机也可以使用本地数据库文件(Lmhosts)来解析远程NetBIOS名称。Lmhost文件存储在 systemrootSystem32DriversEtc文件夹中。 4.4.2 DHCP地址池的配置步骤及示例 DHCP地址池的配置过程比较长,使用的命令比较多,因为它涉及到许多选项的配置。具体配置步骤如表4-3所示: 表4-3 DHCP地址池的配置步骤
表4-4 option命令参数和选项说明
4.4.3 DHCP地址池的配置示例
在以下示例中,创建了三个DHCP地址池:一个是在172.16.0.0/16网络中(名称为pool 0),一个是在172.16.1.0/24子网中(名称为pool 1),第三个是在172.16.2.0/24子网中(名称为pool 2)。pool 0地址池中配置了域名、DNS服务器、NetBIOS名称服务器和NetBIOS节点类型,pool 和pool 2地址池继承了pool 0地址池中的这些属性配置。在这三个DHCP地址池中,客户端的IP地址租用期均为30天,并且在每个子网中的所有地址,除了排除地址均可以由DHCP服务器分配给客户端。表4-5列出了在这三个DHCP地址池中的设备所用的IP地址(这些地址是需要排除的)。 表4-5 三个地址池的设备地址分配
ip dhcp database ftp://winda:123456@172.16.4.253/router-dhcp write-delay 120 !---这是设置DHCP数据库代理,参见本章前面介绍 ip dhcp excluded-address 172.16.1.100 172.16.1.103 ip dhcp excluded-address 172.16.2.100 172.16.2.103 !--- 以上两条语句是用来排除设备所用的静态IP地址的 ! ip dhcp pool 0 network 172.16.0.0 /16 domain-name cisco.com dns-server 172.16.1.102 172.16.2.102 netbios-name-server 172.16.1.103 172.16.2.103 netbios-node-type h-node ! ip dhcp pool 1 network 172.16.1.0 /24 default-router 172.16.1.100 172.16.1.101 lease 30 ! ip dhcp pool 2 network 172.16.2.0 /24 default-router 172.16.2.100 172.16.2.101 lease 30 4.5 带辅助子网的DHCP地址池配置 使用DHCP地址池的辅助子网功能,则每一个DHCP地址池就可以配置一个主子网,和任意多个辅助子网,但这些子不能相交。每个辅助子网都可以用于DHCP服务器向DHCP客户端分配IP地址。DHCP服务器多子网功能可以使得只需向IOS DHCP服务器地址池添加额外地址到现有地址池中,而不用使用一个独立的地址池来管理。像上节最后的示例中,配置了三个地址池,如果使用本节介绍的这个功能,就不用这么复杂了。具体在本节后面的示例中有体现。 4.5.1 DHCP地址池辅助子网的应用环境和IP地址分配规则 配置辅助子网是在DHCP辅助子网配置模式下进行的,提示符为“(config-dhcp-subnet-secondary)#”。你可以为辅助子网指定一个默认的地址列表,也可以指定辅助子网的利用率。这里的设置将覆盖全局利用率设置。 在一个DHCP地址池中可以配置多个不相交子网,应用在以下任一网络拓扑结构中: n IP地址池——DHCP客户端和服务器在同一个子网中。 n DHCP中继——DHCP客户端和DHCP服务器不在同一子网中,需要通过DHCP中继代理进行通信。在DHCP中继代理设备的中继代理接口上需要配置辅助IP地址,主IP用于连接DHCP客户端所在子网,而辅助IP地址用于连接DHCP服务器。 n 分级DHCP——DHCP服务器配置作为DHCP子网分配服务器,而DHCP客户端和DHCP子网分配服务器通过一个配置了按需地址池(On-Demand Address Pool)的路由器进行通信。 如果一个DHCP服务器包含多个子网,则可以按照以下规则来从子网中分配IP地址: (1)当DHCP服务器接收到一个地址分配请求,首先会从主子网中查找可用地址; (2)当主子网中的IP地址已用完,DHCP服务器自动在任一由DHCP服务器维护的辅助子网中,按照优先级顺序查找可用地址,即使DHCP请求客户端的网关地址不与辅助子网匹配。 (3)如果请求客户端的网关与地址池中的某个辅助子网匹配,则DHCP服务器从这个子网中为客户分配一个IP地址。 4.5.2 带辅助子网DHCP地址池的配置步骤及示例 带辅助子网的DHCP地址池的配置与上节介绍的单一子网DHCP地址池的配置方法基本一样,不同的只是在这里要创建所需的辅助DHCP子网,然后再配置一些必要的选项,如辅助子网所对应的默认路由器、利用率等。具体步骤如表4-6所示。 表4-6 带辅助子网的DHCP地址池配置步骤
相关分类不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流 GMT+8, 2025-4-30 22:54 , Processed in 0.102260 second(s), 15 queries . Powered by Discuz! X3.4 Copyright © 2001-2021, Tencent Cloud. |