首先假设两台思科路由器,R1(服务端)连接R2(客户端),组成一个简单的链式局域网,下面就来实现DHCP,配置的命令及其解释如下:

1、R1 dhcp服务的配置

dhcp#configure terminal    //进入全局模式

dhcp(config)#service dhcp     //打开dhcp功能

dhcp(config)#no ip dhcp conflictlogging   //关闭dhcp日志记录

dhcp(config)#ip dhcp pool cisco     //配置dhcp服务器的名称为cisco

dhcp(dhcp-config)#network 192.168.1.0 255.255.255.0     //配置dhcp服务器要分配的网段

dhcp(dhcp-config)#default-router 192.168.1.1    //配置默认网关为192.168.1.1

dhcp(dhcp-config)#dns-server 192.168.1.1    //配置dns服务器为192.168.1.1

dhcp(dhcp-config)#lease 3 //地址租用期限: 3天

dhcp(dhcp-config)#exit    //退出dhcp配置模式

dhcp(config)#ip  dhcp  excluded-address 192.168.1.200 192.168.1.254  //配置dhcp不分配的地址

2、R2客户端获取IP地址

Client#configureterminal //进入全局模式

dhcp(config)#interfacefastethernet0/0 //进入fastethernet0/0接口

dhcp(config-if)#ip address dhcp //从dhcp服务器获取IP地址

实例

Cisco设备上设置DHCP实例

一位客户想把DHCP SERVER迁移到6509交换机的MSFC上,要求还挺复杂:
  1.同时为多个VLAN的客户机分配地址
  2.VLAN内有部分地址采用手工分配的方式
  3.为客户指定网关、Wins服务器等
  4.VLAN 2的地址租用有效期限为1天,其它为3天
  5.按MAC地址为特定用户分配指定的IP地址
 
最终配置如下:
 
ip dhcp excluded-address 10.1.1.1 10.1.1.19     //不用于动态地址分配的地址
ip dhcp excluded-address 10.1.1.240 10.1.1.254
ip dhcp excluded-address 10.1.2.1 10.1.2.19
!
ip dhcp pool global                 //global是pool name, 由用户指定
 network 10.1.0.0 255.255.0.0               //动态分配的地址段
 domain-name client.com                 //为客户机配置域后缀
 dns-server 10.1.1.1 10.1.1.2               //为客户机配置dns服务器
 netbios-name-server 10.1.1.5 10.1.1.6          //为客户机配置wins服务器
 netbios-node-type h-node               //为客户机配置节点模式(影响名称解释的顺利,如h-node=先通过wins服务器解释...)
 lease 3                        //地址租用期限: 3天
ip dhcp pool vlan1
 network 10.1.1.0 255.255.255.0             //本pool是global的子pool, 将从global pool继承domain-name等option
 default-router 10.1.1.100 10.1.1.101           //为客户机配置默认网关
!
ip dhcp pool vlan2                  //为另一VLAN配置的pool
 network 10.1.2.0 255.255.255.0
 default-router 10.1.2.100 10.1.2.101
 lease 1
!
ip dhcp pool vlan1_john                 //总是为MAC地址为...的机器分配...地址
   host 10.1.1.21 255.255.255.0
   client-identifier 010050.bade.6384           //client-identifier=01加上客户机网卡地址
!
ip dhcp pool vlan1_tom
   host 10.1.1.50 255.255.255.0
   client-identifier 010010.3ab1.eac8
 
相关的DHCP调试命令:
no service dhcp                     //停止DHCP服务[默认为启用DHCP服务]
    sh ip dhcp binding                  //显示地址分配情况
show ip dhcp conflict                   //显示地址冲突情况

clear ip dhcp binding 192.168.1.2 //清理已经分配的IP

<em id="__mceDel">  debug ip dhcp server {events | packets | linkage}   //观察DHCP服务器工作情况
如果DHCP客户机分配不到IP地址,常见的原因有两个。第一种情况是没有把连接客户机的端口设置为Portfast方式。MS客户机开机后检查网卡连接正常,Link是UP的,就开始发送DHCPDISCOVER请求,而此时交换机端口正在经历生成树计算,一般需要30-50秒才能进入转发状态。MS客户机没有收到DHCP SERVER的响应就会给网卡设置一个169.169.X.X的IP地址。解决的方法是把交换机端口设置为Portfast方式:CatOS(4000/5000/6000): set spantree portfast mod_num/port_num enable; IOS(2900/3500): interface ... ; spanning-tree portfast。


另外一种情况是DHCP服务器和DHCP工作站不在同一个VLAN,这时候通常通过设置ip helper-address来解决:

interface vlan1
ip address 10.1.1.254 255.255.255.0    //假设DHCP服务器地址为10.1.1.8
interface Vlan2
ip address 10.1.2.254 255.255.255.0
ip helper-address 10.1.1.8     //假设这是DHCP客户机所在的VLAN

参考资料网页:
DHCP Configuring
DHCP Commands
ip helper-address
portfast
</em>

来源:# Cisco DHCP 配置方法

最后修改:2022 年 01 月 18 日
如果觉得我的文章对你有用,请随意赞赏