session 1 DHPC服务器的配置
不需跨越L3层设备配置DHCP
在cisco3560上配置为例:开启3560的L3层功能,划分3个vlan,为每个v lan分配DHCP地址池。实现不同vlan不同的地址池。
3560(config)#vlan 3
3560(config-vlan)#name 17.31net
3560(config-vlan)#exit
3560(config)#service dhcp 开启dhcp服务功能,如果想停用dhcp功能而不删除DHCP地址池及其他的配置可以使用no service dhcp,想启用dhcp功能的时候service dhcp就可以了。
3560(config)#ip dhcp pool vlan3_31net 配置vlan3要分配的地址池范围
3560(dhcp-config)#network 172.17.31.0 255.255.255.0
3560(dhcp-config)#default-router 172.17.31.1
3560(dhcp-config)#dns-server 61.134.1.4 8.8.8.8
3560(dhcp-config)#lease ? 配置dhcp分配的地址的租约时间,默认是1天
<0-365> Days
infinite Infinite lease 无限期,代表分配后一直有效
3560(dhcp-config)#exit
3560(config)#ip dhcp excluded-address 172.17.31.1 vlan3地址池中不分配的ip地址,一般都是网关
3560(config)#ip dhcp pool ip_31.243 配置vlan3要给固定主机分配的ip地址
3560(dhcp-config)#host 172.17.31.243 255.255.255.0
3560(dhcp-config)#client-identifier 01d0.67e5.1e7b.65 //IP地址和主机的mac地址绑定,注意开头的01表示以太网网类型指示符号,后面的d067.e51e.7b65是mac地址, 不同的cisco交换机这里设置的格式可能不同,有的交换机设置形式是0100.0002.af65.0c55,应该用哪个形式,可以先通过show ip dhcp binding来看。
3560R#show ip dhcp binding
IP address Client-ID/ Lease expiration Type
Hardware address
172.17.17.243 01d0.67e5.1e7b.65 Infinite Manual
红色的表示PC的mac地址,01是表示网络类型是以太网
3560(config)#interface vlan 3 配置vlan3的网关SVI接口的ip地址
3560(config-if)#ip address 172.17.31.1 255.255.255.0
3560(config-if)#no shutdown
这样vlan3的整个DHCP就配置完成,所有接入vlan3的主机就可以获取到ip地址了。如果客户端获取不到ip地址一般两种情况:交换机连接客户端的接口不是postfast接口,会延迟客户端获取ip的时间。二是SW和客户端不是同一个网段或vlan的,这就需要在连接客户端的L3层设备接口上配置dhcp中继代理解决。如果是使用三层交换的SVI划分多vlan不会出现以上问题。
如果还需要配置其他vlan的dhcp也和vlan3一样:
1、创建vlan的dhcp地址池、网关、dns等
2、排除不需要分配的ip地址
3、绑定ip+mac用来给固定主机分配固定ip
4、在vlan网关接口上配置ip地址,供客户端设置网关
这样就实现了多vlan多个dhcp地址池分配ip地址效果。
手动释放已经分配的ip地址命令:3560#clear ip dhcp binding *
3560#clear ip dhcp conflict *
比如设置了固定主机分配固定ip,在没有配置前可能该主机已经被dhcp分配了别的ip地址(dhcp条目有了缓存记录),所以就需要使用上面两条命令对dhcp的地址分配条目做清除,来重新分配ip地址。
5、如果配置了访问控制列表ACL,那么需要在ACL中perimt ip host 0.0.0.0 host 255.255.255.255来放行dhcp的discovery请求报文。
最后注意,对于配置了DHCP安全扩展的需要使用如下命令:
3560(config)#ip dhcp relay information trust-all 这两条命令的作用就是允许被插入了选项82信息,但其giaddr字段为0.0.0.0这两条命令的作用就是允许被插入了选项82信息,但其giaddr字段为0.0.0.0允许被插入了选项82信息,但其giaddr字段为0.0.0.0的 DHCP请求报文通过。
如果交换机不插入选项82信息,即配置了no ip dhcp relay information trusted,那么就不会出现客户端无法得到IP地址的情况
(option)选项82是dhcp中的一个协议,它扩展了dhcp功能,使dhcp可以借助两个参数来分辨dhcp请求是从哪个交换机的哪个vlan发出的,也就是说,它使dhcp支持多vlan。不是交换机的功能模块,一般二层交换机都支持,但完全支持的很少!通常只支持一部分,比如只支持两个参数中的一个,或者只支持两个参数的复用。
session 2 DHCP安全
1、为了防止网络中非法dhcp向用户提供dhcp服务,可以使用dhcp snooping(dhcp探测功能)。
DHCP Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,这些信息是指来自不信任区域的DHCP信息(也就是非法dhcp服务器)。DHCP Snooping绑定表包含不信任区域的用户MAC地址、IP地址、租用期、VLAN-ID 接口等信息,该技术在接口上设置是否信任该接口上连接的dhcp服务器(如果有)。
当交换机开启了 DHCP-Snooping后,交换机所有端口会对自己接受来的DHCP报文进行侦听,并可以从接收到的DHCP Request或DHCP Ack报文中提取并记录IP地址和MAC地址信息。另外,DHCP-Snooping允许将某个物理端口设置为信任端口或不信任端口。信任端口可以正常接收并转发DHCP Offer报文,而不信任端口会将接收到的DHCP Offer报文丢弃。这样,可以完成交换机对假冒DHCP Server的屏蔽作用,确保客户端从合法的DHCP Server获取IP地址。
默认情况下开启了DHCP Snooping后,交换机所有接口都被设置为不信任状态,就是任何一个端口收到dhcp服务器的offer响应包后都会丢弃,可以手动配置合法dhcp所在的端口为信任端口,不丢弃dhcp服务器向外发送的offer包,来实现dhcp的安全。 具体配置:
3560(config)#ip dhcp snooping 启用dhcp snooping开关
3560(config)#ip dhcp snooping vlan 3 在vlan3中使用dhcp snooping
3560(config)#interface f0/48 进入f0/48接口(连接DHCP服务器的接口)
3560(config-if)#ip dhcp snooping trust 在该接口下信任dhcp offer包
一般所有交换机都开启dhcp snooping功能,信任接口一般都是sw之间相连的接口(如果是汇聚层交换机的话需要在该交换机连接上游核心sw和下游接入sw的接口上都开启dhcp trust才可以,核心L3层交换机作为dhcp服务器的话),非信任接口都是sw连接PC的接口。
2、dhcp snooping只能阻止非法的dhcp服务器发送的offer包,但是不能阻止外来威胁主机对于dhcp所发出的大量的dhcp discovery请求包来消耗dhcp的带宽和地址数量,可以使用arp检测
3560(config)#interface rang f0/1 - 48
3560(config-if)#ip dhcp snooping limit rate 5 限制接口的dhcp发现包5/s
3、设置DHCP SNooping,启用DAI,把用户接入的端口划为不信任端口,可以禁止用户私自配置静态IP地址上网。原理是交换机检测只有DAI的arp表项中的ip+mac才能连接,否则私自设置的ip+mac在DAI的表项中没有,那么就会被禁止连接入网。
具体配置
IOS 全局命令:
ip dhcp snooping vlan 3
no ip dhcp snooping information option
ip dhcp snooping
ip arp inspection vlan 3 定义对哪些 VLAN 进行 ARP 报文检测
ip arp inspection log-buffer entries 1024
ip arp inspection log-buffer logs 1024 interval 10
IOS 接口命令:
ip dhcp snooping trust 定义哪些接口是信任接口,通常是交换机于交换机之间的接口
ip arp inspection trust 定义哪些接口是信任接口,通常是交换机于交换机之间的接口
ip arp inspection limit rate 15 (pps) 定义接口每秒 ARP 报文数量
session 3 dhcp中继代理
dhcp中继代理的作用就是:在一个L3层网络中,如果dhcp服务器和客户端不在同一个网段时,客户端发送的dhcp-discovery广播包将会被网关设备丢弃(L3层隔离广播特性)。dhcp中继就是在网关接口上配置一种能让网关识别客户端发送的dhcp-discovery广播包,当网关收到该包后不做丢弃处理,而是以单播形式代理客户端来向dhcp服务器请求ip地址,然后再将dhcp回应的offer包转发给客户端,帮助客户端完成ip地址的获取过程。
只需要再L3网关的接口上配置中继代理:
3560(config)#interface f0/1
3560(config-if)#interface f0/17
3560(config-if)#ip helper-address 10.0.0.130 帮助客户端将dhcp请求广播发给10.0.0.130这个服务器
3560(config)#exit