科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道详解DHCP Snooping的使用(1)

详解DHCP Snooping的使用(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

DHCP Snooping 就是通过对经过设备的 DHCP 报文进行合法性检查,丢弃不合法的 DHCP 报文,并记录用户信息生成 DHCP Snooping 绑定数据库供 ARP 检测查询使用。以下几种类型的报文被认为是非法的 DHCP 报文:  1. UNTRUST 口收到的 DHCP reply 报文,包括 DHCPACK、DHCPNACK、DHCPOFFER 等。

2010年8月30日

关键字: 网络

  • 评论
  • 分享微博
  • 分享邮件

文章中,我们针对DHCP Snooping的内容进行了介绍和讲解。希望大家通过文章的内容,能够对这部分知识有所了解。

对于DHCP的内容我们已经有所了解了。前面我们也讲解了DHCP工作流程的相关步骤,不知道大家是否已经掌握。那么接下来的内容我们来讲解一下DHCP Snooping的知识,希望对大家有用。首先让我们看看DHCP服务器的客户端和服务端的相关工作流程是什么样的。

DHCP Client 发出 DHCP DISCOVER广播报文给 DHCP Server,若 Client 在一定时间内没有收到服务器的响应,则重发 DHCP DISCOVER 报文。DHCP Server收到 DHCP DISCOVER报文后,根据一定的策略来给 Client 分配资源(如 IP 地址),然后发出 DHCP OFFER报文。DHCP Client 收到 DHCP OFFER报文后,发出 DHCP REQUEST请求,请求获取服务器租约,并通告其他服务器已接受此服务器分配地址。

服务器收到 DHCP REQUEST报文,验证资源是否可以分配,如果可以分配,则发送 DHCP ACK 报文;如果不可分配,则发送 DHCP NAK 报文。DHCP Client收到 DHCP ACK 报文,就开始使用服务器分配的资源。如果收到 DHCP NAK,则重新发送 DHCP DISCOVER报文。

理解DHCP Snooping

DHCP Snooping 就是 DHCP 窥探,通过对 Client 和服务器之间的 DHCP 交互报文进行窥探,实现对用户的监控,同时 DHCP Snooping起到一个 DHCP 报文过滤的功能,通过合理的配置实现对非法服务器的过滤。下边对 DHCP Snooping内使用到的一些术语及功能进行一些解释:

DHCP Snooping TRUST 口:由于 DHCP 获取 IP的交互报文是使用广播的形式,从而存在着非法服务器影响用户正常 IP 的获取,更有甚者通过非法服务器欺骗窃取用户信息的现象,为了防止非法服务器的问题,DHCP nooping 把端口分为两种类型, TRUST口和UNTRUST口,设备只转发TRUST口收到的DHCP Reply报文,而丢弃所有来自UNTRUST口DHCP Reply报文,这样我们把合法的DHCP Server 连接的端口设置为 TURST 口,其他口设置为 UNTRUST 口,就可以实现对非法 DHCP Server 的屏蔽。

DHCP Snooping 绑定数据库:在 DHCP 环境的网络里经常会出现用户私自设置IP 地址的问题,用户私设 IP 地址不但使网络难以维护,并且会导致一些合法的使用 DHCP 获取 IP 的用户因为冲突而无法正常使用网络, DHCP Snooping通过窥探 Client 和 Server 之间交互的报文,把用户获取到的 IP信息以及用户 MAC、VID、PORT、租约时间等信息组成一个用户记录表项,从而形成一个 DHCP Snooping 的用户数据库,配合 ARP检测功能的使用,从而达到控制用户上网的目的。

DHCP Snooping 就是通过对经过设备的 DHCP 报文进行合法性检查,丢弃不合法的 DHCP 报文,并记录用户信息生成 DHCP Snooping 绑定数据库供 ARP 检测查询使用。以下几种类型的报文被认为是非法的 DHCP 报文:

1. UNTRUST 口收到的 DHCP reply 报文,包括 DHCPACK、DHCPNACK、DHCPOFFER 等。

2. 打开 mac 校验时,源 MAC 与 DHCP 报文携带的 DHCP Client 字段值分别为不同的报文。

3. 用户的信息存在于 DHCP Snooping 绑定数据库中,但是端口信息与设备保存在DHCP绑定数据库中的信息中的端口信息不一致的DHCPRELEASE报文。

 

DHCP Snooping和ARP探测的关系

ARP 探测就是对经过设备的所有 ARP 报文进行检查, DHCP Snooping需要提供数据库信息供 ARP 探测使用,在开启 DAI 功能的设备上,当收到 ARP报文时,DAI 模块就根据报文查询 DHCP snooping的绑定数据库,只有当收到得 ARP 报文得 mac、ip 和端口信息都匹配时才认为收到的 ARP 报文是合法的,才进行相关的学习和转发操作,否则丢弃该报文。

DHCP Snooping配置的其他注意事项

DHCP Snooping功能与 1x的 DHCP Option 82 功能是互斥的,即不能同时使用

DHCP Snooping和 DHCP Option82

DHCP Snooping仅对用户的DHCP过程进行窥探,若想控制用户必须使用DHCP分配的 IP 上网, 则必须使用 ARP 探测功能,而 ARP 检测模块需要检测所有 ARP报文,所以会对设备的整体性能产生影响,需要用户注意。

配置打开和关闭DHCP Snooping

缺省情况下,设备的 DHCP Snooping 功能是关闭,当配置 ip dhcp snooping 命令后,设备就打开了 dhcp snooping 功能,开始对 dhcp报文进行监控。

switch# configure terminal //进入配置模式

switch(config)# [no] ip dhcp snooping DHCP snooping //打开和关闭

下边是配置打开设备 DHCP snooping功能:

switch# configure terminal

switch(config)# ip dhcp snooping

switch(config)# end

switch#

配置DHCP源MAC检查功能

配置此命令后,设备就会对 UNTRUST 口送上来的 DHCP Request 报文进行源MAC和 Client 字段的 MAC地址校验检查,丢弃 MAC值不相同的不合法的报文。默认不检查。

switch# configure terminal //进入配置模式

switch(config)# [no]ip dhcp snooping

verify mac-address

打开和关闭源 MAC检查功能

下边的是打开 DHCP 源 MAC检查的功能

switch# configure terminal

switch(config)# ip dhcp snooping verify mac-address

switch(config)# end

switch#

配置静态DHCP snooping用户

在某些应用情况下,某些端口下的用户希望能够静态使用某些 IP,就可以通过静态配置此用户信息来实现。

switch# configure terminal //进入配置模式

switch(config)# [no] ip dhcp snooping

bindingmac-addrees vlan vlan_id ip

ip-addressinterface interface-id

设置DHCP静态用户到DHCP

snooping 绑定数据库

下边是添加一个静态的用户到设备的9端口:

switch# configure terminal

switch(config)# ip dhcp snooping binding 00d0.f801.0101 vlan

1 ip 192.168.4.243 interface gigabitEthernet 0/9

switch(config)# end

switch#

配置定时写DHCP Snooping数据库信息到flash

为了防止设备断电重启导致设备上的DHCP户信息丢失,所以DHCP Snooping 提供可配置的定时把DHCP Snooping 数据库信息写入 flash的命令,默认情况下,定时为 0,即不定时写 flash。

switch# configure terminal //进入配置模式

switch(config)# [no] ip dhcp snooping

database write-delay [time]

设置DHCP延迟写flash的时间

time:600s--86400s.缺省为 0

下边的是设置 DHCP Snooping延迟写 flash的时间为 3600s:

switch# configure terminal

switch(config)# ip dhcp snooping database write-delay 3600

switch(config)# end

switch#

手动把DHCP snooping数据库信息写到flash

为了防止设备断电重启导致设备上的DHCP用户信息丢失,除了配置定时写flash 外,也可以根据需要手动地把当前的DHCP Snooping绑定数据库信息写入flash。

switch# configure terminal //进入配置模式

switch(config)# ip dhcp snooping database

write-to-flash

把DHCP snooping数据库信息写入flash

下边的是手动的把 DHCP Snooping 数据库信息写入 flash:

switch# configure terminal

switch(config)# ip dhcp snooping database write-to-flash

switch(config)# end

 

配置端口为TRUST口

用户通过配置此命令来设置一个端口为 TRUST 口,默认情况下所有端口全部为UNTRUST 口:

switch# configure terminal //进入配置模式

switch(config)# interface interface //进入接口配置模式

switch(config-if)# [no] ip dhcp snooping trust //将端口设置为 trust 口

下边是配置设备的 1端口为 TRUST 口:

switch# configure terminal

switch(config)# interface gigabitEthernet 0/1

switch(config-if)# ip dhcp snooping trust

switch(config-if)# end

switch#

清空DHCP Snooping数据库动态用户信息

此命令用于清空当前的 DHCP Snooping 数据库的信息。

switch# clear ip dhcp snooping binding //清空当前数据库的信息

下边的是手动清空当前数据库的信息:

switch# clear ip dhcp snooping binding

 

DHCP snooping配置显示

显示DHCP snooping

您可以通过以下步骤显示 ip dhcp snooping内容

switch# show ip dhcp snooping

显示 dhcp snooping 的相关配置信息

例如:

switch# show ip dhcp snooping

Switch DHCP snooping status : ENABLE

DHCP snooping Verification of hwaddr status : ENABLE

DHCP snooping database wirte-delay time : 3600

Interface Trusted

------------------------ -------

GigabitEthernet 0/1 YES

显示DHCP snooping 数据库信息

您可以通过以下步骤显示 ip dhcp snooping数据库信息的相关内容

switch# show ip dhcp snooping binding

查看 DHCP Snooping 绑定数

据库的静态用户信息

例如:

switch# show ip dhcp snooping binding

MacAddress IpAddress Lease(sec) Type VLAN Interface

------------------ --------------- ---------- -----------

00d0.f801.0101 192.168.4.243 - static 1 GigabitEthernet 0/9

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章