解决在 DHCP 环境下私自指定 IP 和私自搭建 DHCP 服务器的方法
现在用户真是不省心,自己改个 IP 地址;私接 AP、忘关 DHCP,还有的下个小 黑客程序,就想在你内网里试试。单靠交换机能管吗?
IP 与 MAC 绑定
思科的 Catalyst 3560 交换机支持 DHCP Snooping 功能,交 换机会监听 DHCP 的过程,交换机会生成一个 IP 和 MAC 地址对应表。思科的交换机更进一 步的支持 IP source guard 和 Dynamic ARP Inspection 功能,这两个功能任启 一个都可以自动的根据 DHCP Snooping 监听获得的 IP 和 MAC 地址对应表,进行 绑定,防止私自更改地址。
Dynamic ARP Inspection 功能还有一个好处是可以防范在 2 层网络的中间 人攻击(见图 4)。
思科在 DHCP Snooping 上还做了一些非常有益的扩展功能,比如 Catalyst 3560 交换机可以限制端口通过的 DHCP 数据包的速率,粒度是 pps,这样可以防 止对 DHCP 服务器的进行地址请求的 DoS 攻击。另外 Catalyst 3560 交换机还支 持 DHCP Tracker,在 DHCP 请求中插入交换机端口的 ID,从而限制每个端口申 请的 IP 地址数目,防止黑客程序对 DHCP 服务器进行目的为耗尽 IP 地址池的攻 击。华硕虽然不能调整速率,但是也会限制 DHCP 请求的数量。
DHCP(动态主机配置协议)是一种简化主机 IP 地址配置管理的 TCP/IP 标准。 该标准为 DHCP 服务器的使用提供了一种有效的方法:即管理网络中客户机 IP 地址的动态分配以及启用网络上 DHCP 客户机的其它相关配置信息。
在基于 TCP/IP 协议的网络中,每台计算机都必须有唯一的 IP 地址才能访问网 络上的资源,网络中计算机之间的通信是通过 IP 地址来实现的,并且通过 IP 地址和子网掩码来标识主计算机及其所连接的子网。在局域网中如果计算机的 数量比较少,当然可以手动设置其 IP 地址,但是如果在计算机的数量较多并且 划分了多个子网的情况下,为计算机配置 IP 地址所涉及的管理员工作量和复杂 性就会相当繁重,而且容易出错,如在实际使用过程中,我们经常会遇到因 IP 地址冲突、网关或 DNS 服务器地址的设置错误导致无法访问网络、机器经常变 动位置而不得不频繁地更换 IP 地址等问题。
DHCP 则很好地解决了上述的问题,通过在网络上安装和配置 DHCP 服务器,启 用了 DHCP 的客户机可在每次启动并加入网络时自动地获得其上网所需的 IP 地 址和相关的配置参数。从而减少了配置管理,提供了安全而可靠的配置。
配置 DHCP 服务的服务器可以为每一个网络客户提供一个 IP 地址、子网掩码、 缺省网关,以及 DNS 服务器的地址。DHCP 避免了因手工设置 IP 地址及子网掩 码所产生的错误,也避免了把一个 IP 地址分配给多台主机所造成的地址冲突。
降低了 IP 地址管理员的设置负担,使用 DHCP 服务器可以大大地缩短配置网络 中主机所花费的时间。
但是,随着 DHCP 服务的广泛应用,也产生了一些问题。首先,DHCP 服务允许 在一个子网内存在多台 DHCP 服务器,这就意味着管理员无法保证客户端只能从 管理员所设置的 DHCP 服务器中获取合法的 IP 地址,而不从一些用户自建的非 法 DHCP 服务器中取得 IP 地址;其次,在部署 DHCP 服务的子网中,指定了合法 的 IP 地址、掩码和网关的主机也可以正常地访问网络,而 DHCP 服务器却仍然 会有可能将该地址分配给其他主机,这样就会造成地址冲突,影响 IP 地址的正 常分配。
针对上述问题,本文给出了一个解决方案,即通过使用 Cisco 提供的 DHCP Snooping 技术和 Dynamic ARP Inspection 技术,可以有效地防止以上问题的 发生。
这里首先对两种技术做一个简要的介绍,然后将给出一个应用实例加以说明。 四、应用实例
我校 1#学生公寓,PC 拥有数量大约 1000 台。采用 DHCP 分配 IP 地址,拥有 4 个 C 类地址,实际可用地址数约 1000 个。由于楼内经常存在私开的 DHCP 服务 器,导致大量主机无法分配到合法 IP 地址;另外,由于有相当数量的主机指定 IP 地址,因此造成了与 DHCP 分配的 IP 地址冲突。以上两方面,均造成了该公 寓楼大量主机无法正常访问网络。
经过一段时间的分析、实验,我们决定对该公寓楼部署 DHCP Snooping 和 Dynamic ARP Inspection 两项技术,以保证网络的正常运行。
该公寓网络设备使用情况如下,接入层为××台 Cisco 2950 交换机上联至堆叠 的 4 台 Cisco 3750,再通过光纤上联至汇聚层的 Cisco 3750 交换机。同时汇 聚层的 Cisco 3750 交换机还兼做 DHCP 服务器。
部署过程
首先按如下过程配置 DHCP Snooping
1 configure terminal
2 ip dhcp snooping 在全局模式下启用 DHCP Snooping
3 ip dhcp snooping vlan 103 在 VLAN 103 中启用 DHCP Snooping
4 ip dhcp snooping information option Enable the switch to insert and remove DHCP relay information(option-82 field) in forwarded DHCP request messages to the DHCP server. The default is enabled.
5 interface GigabitEthernet1/0/28,进入交换机的第 28 口
6 ip dhcp snooping trust 将第 28 口设置为受信任端口
7 ip dhcp snooping limit rate 500 设置每秒钟处理 DHCP 数据包上限
9 end 退出
完成配置后,可用如下命令观察 DHCP Snooping 运行状况:
show ip dhcp snooping
得到如下信息:
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs: 103
Insertion of option 82 is enabled
Verification of hwaddr field is enabled
Interface Trusted Rate limit (pps)
------------------------ ------- ----------------
GigabitEthernet1/0/22 yes unlimited
GigabitEthernet1/0/24 yes unlimited
GigabitEthernet1/0/27 yes unlimited
GigabitEthernet1/0/28 no 500
show ip dhcp snooping binding,得到如下信息: MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- ---- -------------------------------------------------------
00:11:09:11:51:16 210.77.5.201 3209 dhcp-snooping 103 GigabitEth ernet1/0/28
00:50:8D:63:5A:05 210.77.6.134 2466 dhcp-snooping 103 GigabitEthernet1/0/28
00:E0:4C:A17:80 210.77.4.26 3070 dhcp-snooping 103 GigabitEthernet1/0/28
00:0F:EA:A8:BC:22 210.77.5.198 1887 dhcp-snooping 103 GigabitEthernet1/0/28
10:E0:8C:50:805 210.77.5.95 3034 dhcp-snooping 103 GigabitEthernet1/0/28
00:03:0D:0E:9A:A5 210.77.6.230 3144 dhcp-snooping 103 GigabitEthernet1/0/28
00:50:8D:6C:08:9F 210.77.4.17 3012 dhcp-snooping 103 GigabitEthernet1/0/28
00:E0:50:00:0B:54 210.77.6.18 3109 dhcp-snooping 103 GigabitEthernet1/0/28
00:0F:EA:13:40:54 210.77.7.7 2631 dhcp-snooping 103 GigabitEthernet1/0/28
00:E0:4C:45:21:E9 210.77.7.77 2687 dhcp-snooping 103 GigabitEthernet1/0/28
--More--
接下来配置 Dynamic ARP Inspection
1 show cdp neighbors 检查交换机之间的连接情况
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
ap Gig 1/0/23 149 T AIR-AP1230Fas 0
hall-3750 Gig 1/0/27 135 S I WS-C3750-2Gig 1/0/1
1#west-3750 Gig 1/0/28 173 S I WS-C3750G-Gig 1/0/25
1 configure terminal 进入全局配置模式
3 ip arp inspection vlan 103 在 VLAN 103 上启用 Dynamic ARP Inspection 4 interface GigabitEthernet1/0/28 进入第 28 端口
5 ip arp inspection trust 将端口设置为受信任端口
The switch does not check ARP packets that it receives from the other switch on the trusted interface. It simply forwards the packets.
6 end
配置完成后可以用如下命令观察 Dynamic ARP Inspection 的运行情况
show arp access-list [acl-name] Displays detailed information about ARP ACLs.
show ip arp inspection interfaces [interface-id] Displays the trust state and the rate limit of ARP packets for the specified interface or all interfaces.
Interface Trust State Rate (pps) Burst Interval
--------------- ----------- ---------- --------------
Gi1/0/21 Untrusted 15 1
Gi1/0/22 Trusted None N/A
Gi1/0/23 Untrusted 15 1
Gi1/0/24 Trusted None N/A
Gi1/0/25 Untrusted 15 1
Gi1/0/26 Untrusted 15 1
Gi1/0/27 Trusted None N/A
Gi1/0/28 Untrusted None N/A
show ip arp inspection vlan vlan-range, Displays the configuration and the operating state of dynamic ARP inspection for all VLANs configured on the switch, for a specified VLAN, or for a range of VLANs.
yql-2#-3750#sh ip arp inspection vlan 103