• Cisco DHCP Snooping + IPSG 功能实现


    什么是DHCP

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,前身是BOOTP协议,

    使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client)。DHCP通常被用于局域网环境,主要作用是

    集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用

    率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。

    DHCP协议中的报文:

    DHCP DISCOVER 客户端广播DHCP Discover消息,局域网内所有主机都能接受到该报文。

    DHCP OFFER 服务器接收到DHCP DISCOVER之后做出的响应,它包括了给予客户端的IP、客户端的MAC地址、租约过期时间、服务器的识别符以及其他信息

    DHCP REQUEST 客户端对于服务器发出的DHCP OFFER所做出的响应,发送请求报文。

    DHCP ACK 服务器在接收到客户端发来的DHCP REQUEST之后发出的成功确认的报文。在建立连接的时候,客户端在接收到这个报文之后才会确认分配给它的IP和其他信息可以被允许使用。

    DHCP的工作流程:

    DHCP报文数据包:

    什么是DHCP  Snooping ?

    DHCP Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,

    这些信息是指来自不信任区域的DHCP信息。DHCP Snooping绑定表包含不信任区域的用户MAC地址、IP地址、

    租用期、VLAN-ID 接口等信息。Cisco交换机支持在每个VLAN基础上启用DHCP监听特性。通过这种特性,交换

    机能够拦截第二层VLAN域内的所有DHCP报文。

    知识点: DHCP Snooping绑定表为后续部署IP源防护(IPSG)和动态ARP检测(DAI)提供重要支持。

    DHCP  Snooping作用:

    1、  防止私自搭建的DHCP Server分配IP地址(主要功能)。

    2、  防止恶意搭建的DHCP Server的DOS攻击,导致信任DHCP Server(公司DHCP服务器)的IP地址资源耗竭(主要功能)。

    3、  防止用户手动配置固定IP地址,造成与信任DHCP  Server(公司DHCP服务器)分配的IP地址冲突。(需要配合IPSG功能共同实现,后续会讲解)

    DHCP监听将交换机端口划分为两类:

    1、  信任端口:连接信任的DHCP服务器或者汇聚交换机的上行端口或核心交换机的下行端口。

    2、  非信任端口:通常为连接终端设备的端口,例如电脑、网络打印机、笔记本,HUB(傻瓜交换机端口不可控)等。

    设计思路:

    1、3560划分3个VLAN(vlan10  vlan20  vlan50)并分配IP地址,gi0/13端口配置为信任端口连接信任DHCP服务器并划分到vlan 50,gi0/24端口设置为trunk

    2、2960划分3个VLAN(vlan10  vlan20  vlan50)并分配端口,gi1/0/24端口设置为trunk与3560 gi0/24端口相连

    3、私搭建的DHCP服务器可以接在3560交换机或2960交换机非信任端口进行测试

    4、PC01连接在2960 vlan10 端口gi1/0/1,PC02连接在2960 vlan20 端口gi1/0/8

    VLAN情况:

    vlan 10    192.168.10.1/24(3650)   分配端口gi1/0/1-5(2960)

    vlan 20    192.168.20.1/24(3650)   分配端口gi1/0/6-10(2960)

    vlan 50    192.168.50.1/24(3650)   分配端口gi1/0/11-15(2960)

    信任DHCP服务器IP地址  192.168.50.254/24(3650)   分配端口gi0/13(3650)

    网络拓扑图:

    提示:思科模拟器Cisco Packet Tracer Student实现DHCP Snooping功能会有异常,本教程是使用真实思科交换机实验。

    3650配置信息:

    ##配置vlan

    3560(config)#vlan 10

    3560(config-vlan)#name VLAN10

    3560(config-vlan)#exit

    3560(config)#vlan 20

    3560(config-vlan)#name VLAN10

    3560(config-vlan)#exit

    3560(config)#vlan 50

    3560(config-vlan)#name VLAN10

    3560(config-vlan)#exit

    ##配置vlan的IP地址并设定DHCP服务器中继代理

    3560(config)#interface vlan 10

    3560(config-if)#ip address 192.168.10.1 255.255.255.0

    3560(config-if)#ip helper-address 192.168.50.254

    3560(config-if)#exit

    3560(config)#interface vlan 20

    3560(config-if)#ip address 192.168.20.1 255.255.255.0

    3560(config-if)#ip helper-address 192.168.50.254

    3560(config-if)#exit

    3560(config)#interface vlan 50

    3560(config-if)#ip address 192.168.50.1 255.255.255.0

    3560(config-if)#ip helper-address 192.168.50.254

    3560(config-if)#exit

    ##划分gi0/13端口给vlan50用于连接DHCP服务器

    3560(config)#interface gigabitEthernet 0/13

    3560(config-if)#switchport access vlan 50

    3560(config-if)#switchport mode access

    3560(config-if)#no shutdown

    ##设置gi0/24端口为trunk用于连接下联2960交换机

    3560(config)#interface gigabitEthernet 0/24

    3560(config-if)#switchport trunk encapsulation dot1q

    3560(config-if)#switchport mode trunk

    3560(config-if)#no shutdown

    ##开启三层路由功能

    3560(config)#ip routing

    ##开启DHCP Snooping功能

    3560(config)#ip dhcp snooping

    ##设置DHCP Snooping功能将作用于哪些VLAN

    3560(config)#ip dhcp snooping vlan 10,20,50

    ##配置交换机能从非信任端口接收带option 82的DHCP报文

    3560(config)#ip dhcp snooping information option allow-untrusted

    ##将DHCP监听绑定表保存在flash中,文件名为dhcp_snooping.db

    3560(config)#ip dhcp snooping database flash:dhcp_snooping.db

    ##指DHCP监听绑定表发生更新后,等待30秒,再写入文件,默认为300

    3560(config)#ip dhcp snooping database write-delay 30

    ##指DHCP监听绑定表尝试写入操作失败后,重新尝试写入操作,直到60秒后停止尝试,默认为300

    3560(config)#ip dhcp snooping database timeout 60

    ##使由于DHCP报文限速原因而被禁用的端口能自动从err-disable状态恢复

    3560(config)#errdisable recovery cause dhcp-rate-limit

    ##设置自动恢复时间;端口被置为err-disable状态后,经过30秒时间自动恢复

    3560(config)#errdisable recovery interval 30

    ##设置gi0/13端口和gi0/24为信任端口,其它端口自动默认为非信任端口

    3560(config)#interface gigabitEthernet 0/13

    3560(config-if)#ip dhcp snooping trust

    3560(config-if)#exit

    3560(config)#interface gigabitEthernet 0/24

    3560(config-if)#ip dhcp snooping trust

    3560(config-if)#exit

    ##显示与维护

    #查看交换机配置情况

    3560#show running-config

    #查看交换机端口速率、信任端口、非信任端口等信息

    3560#show ip dhcp snooping

    #查看DHCP snooping绑定表

    3560#show ip dhcp snooping binding 

    2960配置信息:

    ##创建vlan

    2960#vlan database

    2960(vlan)#vlan 10 name VLAN10

    2960(vlan)#vlan 20 name VLAN20

    2960(vlan)#vlan 50 name VLAN50

    2960(vlan)#exit

    ##划分端口给相应vlan

    2960#configure terminal

    2960(config)#interface range gigabitEthernet 1/0/1-5

    2960(config-if-range)#switchport access vlan 10

    2960(config-if-range)#switchport mode access

    2960(config-if-range)#no shutdown

    2960(config-if-range)#exit

    2960#configure terminal

    2960(config)#interface range gigabitEthernet 1/0/6-10

    2960(config-if-range)#switchport access vlan 20

    2960(config-if-range)#switchport mode access

    2960(config-if-range)#no shutdown

    2960(config-if-range)#exit

    2960#configure terminal

    2960(config)#interface range gigabitEthernet 1/0/11-15

    2960(config-if-range)#switchport access vlan 50

    2960(config-if-range)#switchport mode access

    2960(config-if-range)#no shutdown

    2960(config-if-range)#exit

    ##开启DHCP Snooping功能

    2960(config)#ip dhcp snooping

    2960(config)#ip dhcp snooping vlan 10,20,50

    2960(config)#ip dhcp snooping information option allow-untrusted

    2960(config)#ip dhcp snooping database flash:dhcp_snooping.db

    2960(config)#ip dhcp snooping database write-delay 30

    2960(config)#ip dhcp snooping database timeout 60

    2960(config)#errdisable recovery cause dhcp-rate-limit

    2960(config)#errdisable recovery interval 30

    ##设置gi0/24为信任端口并设置为trunk与3650交换机连接,其它端口自动默认为非信任端口

    2960(config)#interface gigabitEthernet 1/0/24

    2960(config-if)#switchport mode trunk

    2960(config-if)#ip dhcp snooping trust

    ##设置其它所属vlan的非信任端口DHCP报文速率为每秒100个包(端口默认是每秒15个包)

    2960(config)#interface range gigabitEthernet 1/0/1-15

    2960(config-if-range)#ip dhcp snooping limit rate 100

    ##设置为直接转发

    2960(config-if-range)#spanning-tree portfast

    ##显示与维护

    3560#show running-config 

    3560#show ip dhcp snooping

    3560#show ip dhcp snooping binding

    什么是IPSG

    IP 源防护(IP Source Guard,简称 IPSG)是一种基于 IP/MAC 的端口流量过滤技术,它可以防止局域网内的 IP 地址欺骗攻击。

    IPSG 能够确保第 2 层网络中终端设备的 IP 地址不会被劫持,而且还能确保非授权设备不能通过自己指定 IP 地址的方式来访问

    网络或攻击网络导致网络崩溃及瘫痪。

    IPSG作用:

    1、防止用户手动配置固定IP地址,造成与信任DHCP  Server(公司DHCP服务器)分配的IP地址冲突。(需要配合DHCP Snooping功能共同实现)

    2、实现静态绑定IP+vlan+端口,同时配合HDCP Snooping功能一起使用可实现动态绑定。

    标注:IPSG配置参照以上DHCP Snooping配置不变,只要增加以下配置即可:

    2960交换机增加以下配置信息:

    ##信任端口不必配置

    2960(config)#interface range gigabitEthernet 1/0/1-15

    2960(config-if-range)#ip verify source port-security

    #交换机允许手动设置IP地址绑定命令,一般绑定了就不能自动获取,除非DHCP服务器上存在你的IP与MAC绑定信息,否则无法自动获取IP地址

    2960(config)#ip source binding D8:CB:8A:93:24:E5 vlan 20 192.168.20.120 interface gigabitEthernet 1/0/10

    ##显示与维护

    2960#show ip source binding

    2960#show ip verify source

  • 相关阅读:
    最小花费
    LOJ10090
    LOJ2436
    loj10087
    LOJ2632
    LOJ10021 Addition Chains
    LOJ10019生日蛋糕
    loj10018数的划分
    LOJ10015扩散
    loj10014数列分段二
  • 原文地址:https://www.cnblogs.com/zoulongbin/p/8944196.html
Copyright © 2020-2023  润新知