CISCO DHCP 配置

来源:互联网 发布:mac u盘刻录dmg 编辑:程序博客网 时间:2024/05/29 17:53

CISCO的路由器(IOS12.0 T1以后),可以配置为dhcp的中继设备,DHCP的客户端设备,也可以配置为DHCP的服务器。

 

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 //显示地址冲突情况
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

 

 


1.  使用IP Helper Addresses命令
提问 配置路由器对DHCP Request转发的支持
回答
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#interface Ethernet0
Router1(config-if)#ip helper-address 172.25.1.1
Router1(config-if)#ip helper-address 172.25.10.7
Router1(config-if)#exit
Router1(config)#end
Router1#
注释 使用IP Helper Address命令把路由器配置成为一个DHCP代理服务器,转发客户端的DHCP Request至配置的ip helper address。
2.  限制IP Helper Addresses命令的影响
提问 配置IP Helper Address命令以后导致链路利用率增高或者DHCP服务器负荷增高
回答
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#no ip forward-protocol udp tftp
Router1(config)#no ip forward-protocol udp nameserver
Router1(config)#no ip forward-protocol udp domain
Router1(config)#no ip forward-protocol udp time
Router1(config)#no ip forward-protocol udp netbios-ns
Router1(config)#no ip forward-protocol udp netbios-dgm
Router1(config)#no ip forward-protocol udp tacacs
Router1(config)#end
Router1#
注释 缺省情况下IP Helper命令会转发很多UDP广播数据包,不仅仅是DHCP数据包,并且不能针对不同的服务器转发不同的广播包
3.  使用DHCP来动态配置路由器IP地址
提问 配置路由器动态获得IP地址
回答
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#interface FastEthernet0/1
Router1(config-if)#ip address dhcp
Router1(config-if)#end
Router1#
Interface FastEthernet0/1 assigned DHCP address 172.25.1.57, mask 255.255.255.0
Router1#
注释 在12.2(8)T之前此命令仅仅适用于以太网接口。从12.3(8)T以后可以对DHCP选项进行控制,下例配置为不获得DNS服务器
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#interface FastEthernet0/1
Router1(config-if)#no ip dhcp client request dns-nameserver
Router1(config-if)#end
另外对于获得的缺省路由,管理距离为254
S*   0.0.0.0/0 [254/0] via 172.25.1.1
从12.3(4)T开始增加了对获得地址释放和重新获得的支持
Router1#release dhcp FastEthernet0/1
Router1#renew dhcp FastEthernet0/1
4.  通过DHCP来对客户端进行动态IP地址分配
提问 配置路由器成为DHCP服务器
回答
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#service dhcp
Router1(config)#ip dhcp pool 172.25.1.0/24
Router1(dhcp-config)#network 172.25.1.0 255.255.255.0
Router1(dhcp-config)#default-router 172.25.1.1
Router1(dhcp-config)#dns-server 172.25.1.1 202.102.152.3
Router1(dhcp-config)#exit
Router1(config)#ip dhcp excluded-address 172.25.1.1 172.25.1.50
Router1(config)#ip dhcp excluded-address 172.25.1.200 172.25.1.255
Router1(config)#end
Router1#
注释 注意的是要配置excluded命令来排除某些地址,防止出现地址冲突
5.  配置DHCP的配置选项
提问 配置更多的DHCP配置选项提供给客户端
回答
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#ip dhcp pool ORAserver
Router1(dhcp-config)#host 172.25.1.34 255.255.255.0
Router1(dhcp-config)#client-name bigserver
Router1(dhcp-config)#default-router 172.25.1.1 172.25.1.3
Router1(dhcp-config)#domain-name oreilly.com
Router1(dhcp-config)#dns-server 172.25.1.1 10.1.2.3
Router1(dhcp-config)#netbios-name-server 172.25.1.1
Router1(dhcp-config)#netbios-node-type h-node
Router1(dhcp-config)#option 66 ip 10.1.1.1
Router1(dhcp-config)#option 33 ip 192.0.2.1 172.25.1.3
Router1(dhcp-config)#option 31 hex 01
Router1(dhcp-config)#lease 2
Router1(dhcp-config)#exit
Router1(config)#end
Router1#
注释 Option 66 定义TFTP服务器; Option 33定义静态路由; Option 31定义客户端使用IRDP.
6.  配置DHCP的分配时长
提问 修改缺省DHCP分配时长
回答
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#ip dhcp pool 172.25.2.0/24
Router1(dhcp-config)#lease 2 12 30
Router1(dhcp-config)#exit
Router1(config)#end
Router1#
注释 缺省分配为一天,配置选项为天,小时,分钟
7.  分配静态IP地址
提问 每次都分配给某个特定设备特定IP地址
回答
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#ip dhcp pool IAN
Router1(dhcp-config)#host 172.25.1.33 255.255.255.0
Router1(dhcp-config)#client-identifier 0100.0103.85e9.87
Router1(dhcp-config)#client-name win2k
Router1(dhcp-config)#default-router 172.25.1.1
Router1(dhcp-config)#domain-name oreilly.com
Router1(dhcp-config)#dns-server 172.25.1.1
Router1(dhcp-config)#exit
Router1(config)#end
Router1#
注释 这里通过MAC地址来绑定某个IP地址。Client-identifier后面跟的是MAC地址,不过比传统MAC地址多了0100,代表是以太网,对于更多的媒介类型值参考RFC 3232中的Number Hardware Type部分
Router1#show ip dhcp binding
IP address       Hardware address        Lease expiration        Type
172.25.1.33      0100.0103.85e9.87       Infinite                Manual
172.25.1.52      0100.50da.2a5e.a2       Apr 11 2006 09:00 PM    Automatic
172.25.1.53      0100.0103.ea1b.ed       Apr 11 2006 08:58 PM    Automatic
 
8.  配置一个DHCP 数据库客户端
提问 在另一个设备上备份当前的DHCP数据库
回答
FTP方式
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#ip dhcp database ftp://dhcp:bindsave@172.25.1.1/dhcp-leases
Router1(config)#end
Router1#
TFTP 方式
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#ip dhcp database tftp://172.25.1.1/dhcp-leases
Router1(config)#end
Router1#
RCP方式
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#ip dhcp database rcp://dhcp@172.25.1.1/dhcp-leases
Router1(config)#end
Router1#
注释 通常DHCP数据库保存于内存,如果重启就会丢失,可以使用上述方式进行备份从而不会丢失,通过下述命令验证
Router1#show ip dhcp database
URL      : ftp://dhcp:bindsave@172.25.1.1/dhcp-leases
Read     : Never
Written  : Apr 09 2006 10:24 PM
Status   : Last write succeeded. Agent information is up-to-date.
Delay    : 300 seconds
Timeout  : 300 seconds
Failures : 1
Successes: 30
9.  在同一子网配置多个DHCP服务器
提问 在同一子网配置多个DHCP服务器来增加可用性
回答
Router1:
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#ip dhcp pool 172.22.1.0/24
Router1(dhcp-config)#network 172.22.1.0 255.255.255.0
Router1(dhcp-config)#default-router 172.22.1.1
Router1(dhcp-config)#domain-name oreilly.com
Router1(dhcp-config)#dns-server 172.25.1.1 10.1.2.3
Router1(dhcp-config)#exit
Router1(config)#ip dhcp excluded-address 172.22.1.1 172.22.1.49
Router1(config)#ip dhcp excluded-address 172.22.1.150 172.22.1.254
Router1(config)#ip dhcp database ftp://dhcp:bindsave@172.25.1.1/dhcp-leases-rtr1
Router1(config)#end
Router1#
Router2:
Router2#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router2(config)#ip dhcp pool 172.22.1.0/24     
Router2(dhcp-config)#network 172.22.1.0 255.255.255.0
Router2(dhcp-config)#default-router 172.22.1.1      
Router2(dhcp-config)#domain-name oreilly.com        
Router2(dhcp-config)#dns-server 172.25.1.1 10.1.2.3 
Router2(dhcp-config)#exit
Router2(config)#ip dhcp excluded-address 172.22.1.1 172.22.1.149
Router2(config)#ip dhcp database ftp://dhcp:bindsave@172.25.1.1/dhcp-leases-rtr2
Router2(config)#end
Router2#


10.  DHCP静态映射
提问 根据某个文本文件来进行IP地址的静态指配
回答
先在TFTP服务器上创建此文本文件
Freebsd% cat /tftpboot/dhcp.static
*time* Aug 17 2006 03:52 PM
*version* 2
!IP address       Type      Hardware address               Lease expiration
10.1.1.16 /24    id        0100.104b.33da.74                Infinite
10.1.1.17 /24    id        0100.0dbc.eff6.38                Infinite
10.1.1.18 /24    id        0100.0a5e.4001.27                Infinite
10.1.1.19 /24    id        0100.0331.327e.41                Infinite
10.1.1.20 /24    id        0100.0d60.b21a.4c                Infinite
*end*
Freebsd%
路由器配置
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#ip dhcp pool OREILLY
Router1(dhcp-config)#origin file tftp://172.25.1.1/dhcp.static
Router1(dhcp-config)#default-router 10.1.1.1
Router1(dhcp-config)#dns-server 172.25.1.1 172.25.1.3
Router1(dhcp-config)#domain-name oreilly.com
Router1(dhcp-config)#lease 3
Router1(dhcp-config)#end
Router1#
 注释 7讲到的静态地址分配需要一个特定的DHCP Pool,扩展性不强,从12.3(11)T以后可以使用特定的文本文件来进行指配,不过必须遵照一定的格式。如果文本文件修改后需要生效,必须先no service dhcp 来停止DHCP服务然后service dhcp 命令重新启用来生效
<!--[if !supportLists]-->20.11.       <!--[endif]-->安全DHCP IP地址指派
提问 同步ARP和DHCP地址绑定来防止出现IP地址欺骗
回答
Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#ip dhcp pool OREILLY
Router1(dhcp-config)#update arp
Router1(dhcp-config)#end
Router1#
注释 从12.2(15)T开始思科引入了安全DHCP IP地址指派(DHCP secured IP address assignment),启用此特性后会针对每个DHCP绑定增加一个安全ARP条目,从而防止对此条目的修改,即使使用clear arp-cache命令也会保证此条目不被清除


11.  显示DHCP状态
提问 显示DHCP服务器的状态
回答
显示绑定和相应的分配时长
Router1#show ip dhcp binding
显示地址冲突
Router1#show ip dhcp conflict
显示数据库状态
Router1#show ip dhcp database
显示全局DHCP数据统计
Router1#show ip dhcp server statistics
注释
Router1#show ip dhcp server statistics
Memory usage         17996
Address pools        4
Database agents      1
Automatic bindings   2
Manual bindings      1
Expired bindings     3
Malformed messages   0
 Message              Received
BOOTREQUEST          0
DHCPDISCOVER         63
DHCPREQUEST          203
DHCPDECLINE          1
DHCPRELEASE          27
DHCPINFORM           19
 
Message              Sent
BOOTREPLY            0
DHCPOFFER            63
DHCPACK              139
DHCPNAK              2
Router1#
<!--[if !supportLists]-->20.13.       <!--[endif]-->DHCP排错
提问 对DHCP出现的问题进行排错
回答
Router1#debug ip dhcp server events
Router1#debug ip dhcp server packet

 

 

转自http://wenku.baidu.com/view/4eab3060ddccda38376baf8d.html