zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    欧拉公式
    isap的一些想法
    错误合集
    Hello World
    PAT (Advanced Level) Practice 1068 Find More Coins
    PAT (Advanced Level) 1087 All Roads Lead to Rome
    PAT (Advanced Level) 1075 PAT Judge
    PAT (Advanced Level) 1067 Sort with Swap(0, i)
    PAT (Advanced Level) 1017 Queueing at Bank
    PAT (Advanced Level) 1025 PAT Ranking
  • 原文地址:https://www.cnblogs.com/zoulongbin/p/8944196.html
Copyright © 2011-2022 走看看