DHCP-snooping&ip source guard实验

DHCP 监听:
       通过 DHCP 监听,交换机能限制终端用户端口(非信任端口)只能够发送 DHCP 请求,并且丢弃来自用户端口的所有其他 DHCP 报文,例如 DHCP 提供 (OFFER) 相应报文等。信任端口能够发送或接受所有的 DHCP 报文。
       带有选项 82 dhcp 监听是一种非常使用的机制,它能够避免 dhcp ddos 攻击或客户机配置不当所导致的网络异常。
 
DHCP 监听步骤:
1.       SW2(config)#ip dhcp snooping
2.       SW2(config)#ip dhcp snooping vlan 400
3.       SW2(config)#ip dhcp snooping information option
4.       SW2(config)#interface g0/10
SW2(config-if)#ip dhcp snooping trust
5.       SW2(config)#int range g0/9 , g0/11
SW2(config-if-range)#ip dhcp snooping limit rate 100
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
400
Insertion of option 82 is enabled
Option 82 on untrusted port is not allowed
Verification of hwaddr field is enabled
Interface                    Trusted     Rate limit (pps)
------------------------     -------     ----------------
GigabitEthernet0/9           no          100      
GigabitEthernet0/10          yes         unlimited
GigabitEthernet0/11          no          100      
 
 
交换机内部有一个 IP 源绑定表( IP Source Binding Table )作为每个端口接受到的数据包的检测标准,只有在两种情况下,交换机会转发数据:
1.       所接收到的 IP 包满足 IP 源绑定表中 Port/IP/MAC 的对应关系
2.       所接收到的是 DHCP 数据包
其余数据包将被交换机做丢弃处理。
 
1.       IP 源绑定表可以由用户在交换机上静态添加
2.       或者由交换机从 DHCP 监听绑定表( DHCP Snooping Binding Table )自动学习获得。
 
交换机从 DHCP 报文中提取关键信息(包括 IP 地址, MAC 地址, vlan 号,端口号,租期等),并把这些信息保存到 DHCP 监听绑定表中。(以上这个过程是由 DHCP Snooping 完成的)。 IP 源防护只支持第 2 层端口,其中包括接入( access )端口和干道( trunk )接口。 IP 源防护的信任端口 / 非信任端口也就是 DHCP 监听的信任端口 / 非信任端口。对于非信任端口存在以下两种级别的 IP 流量安全过滤:
IP 地址过滤 :默认情况下,如果端口在没有存在 IP 源绑定条目的情况下启用了 IP 源防护功能,默认的 PACL 将拒绝端口的所有流量(实际上是除 DHCP 报文以外的所有 IP 流量)。配置:
SW2(config)#int g0/9
SW2(config-if)#ip verify source
   
IP 和源MAC 地址过滤 :当以 IP MAC 地址作为过滤的时候,为了确保 DHCP 协议能够正常的工作,还必须启用 DHCP 监听选项 82 对于没有选项 82 的数据,交换机不能确定用于转发 DHCP 服务器响应的客户端主机端口。相反地, DHCP 服务器响应将被丢弃,客户机也不能获得 IP 地址。
   
注:交换机使用端口安全( SW2(config-if)#switchport port-security )来过滤源 MAC 地址。
 
当交换机只使用 “IP 源地址过滤 时, IP 源防护功能与端口安全功能是相互独立的关系。 端口安全是否开启对于 IP 源防护功能来说不是必须的。 如果同时开启,则两者也只是一种宽松的合作关系, IP 源防护防止 IP 地址欺骗,端口安全防止 MAC 地址欺骗。而当交换机使用 IP 和源 MAC 地址过滤 时, IP 源防护功能与端口安全功能是就变成了一种 集成 关系,更确切的说是端口安全功能被集成到 IP 源防护功能里,作为 IP 源防护的一个必须的组成部分。在这种模式下,端口安全的违规处理( violation )功能将被关闭。对于非法的二层报文,都将只是被简单的丢弃,而不会再执行端口安全的违规处理了。 IP 源防护功能不能防止客户端 PC ARP 攻击。 ARP 攻击问题必须由 DAI 功能来解决。如果要支持 IP 源防护功能,必须是 35 系列及以上的交换机。 2960 目前不支持该功能。
 
Switch#show ip dhcp snooping binding
Switch#show ip source binding
Switch#show ip verify source
 
ip dhcp snooping information option allow-untrusted
 
IP 源防护只针对非信任端口起作用,对信任端口不起作用。所以不需要为接在信任端口上的主机添加静态 IP 源绑定,其依然可以正常通信。 IP 源绑定能阻止非信任端口上的客户端以静态指定 IP 地址的方式接入网络。 这些客户端将无法通信,除非为其手工添加静态 IP 源绑定条目。
 
说明:本例中采用 IP 和源 MAC 地址过滤 模式,采用该模式需要注意以下三点:
1 )交换机必须对客户端的 DHCP 请求插入选项 82 信息,即必须配置 ip dhcp snooping information option 命令(默认即为开启)。对于没有插入选项 82 DHCP 请求,交换机不能确定用于转发 DHCP 服务器响应的客户端主机端口。相反地, DHCP 服务器响应将被丢弃,客户机也不能获得 IP 地址。 DHCP 回复包因为找不到目标端口而被交换机丢弃了。
2 )所使用的 DHCP 服务器必须支持利用 DHCP 选项 82 分配 IP 地址的功能,否则客户端将无法获得 IP 地址( debug 信息类似第( 1 )项所述)。像 Win2003 Cisco IOS 12.2 等作为 DHCP 服务器时都不支持利用 DHCP 选项 82 来分配 IP 地址。本例中如果采用 12.2 版本的 IOS ,将出现客户端无法获得 IP 地址的情况。 Cisco IOS 从版本 12.3 4 T 开始支持利用选项 82 分配 IP 地址。 最简单的方法,看 IOS 是否支持命令 ip dhcp use class
3 )必须在端口下同时配置 switchport port-security 命令。 若没有该命令,本模式的最终效果与 IP 地址过滤 模式将相同。
 
如果使用 DHCP 获得地址,在交换机上需先启动 ip dhcp snooping verify mac-address 命令,客户端通过服务器获得地址,这样交换机记录客户端 ip mac ,并且只对该接口下匹配的 ip mac 的流量进行放行,端口下同时配置 switchport port-security 命令或者 ip verify source port-security
 
               IP 源防护应用于 3560 下联的 trunk 接口上,该接口为非信任接口。由于 2960 没有 IP 源防护功能,所以从 2960 过来的数据报文是有可能存在 IP 欺骗攻击的。在 3560 trunk 口上应用 IP 源防护将可以把攻击隔绝在这里,使受攻击的范围减小到最小。但由于 2960 本身没有该功能,所以接在 2960 上的各个主机之间仍有可能存在攻击行为。对有防护能力的交换机,级联时级联端口可以选为 ip dhcp snooping trust.
 
实例: pc < -- > Gig0/9 3560 Gig0/11 < -- > DHCP-server 3560
 
1.       试验中用的 dhcp-server-IOS 12.2 版本,不支持选项 82 分配 ip 地址,因此为了支持选项 82 分配 ip 地址,做 dhcp-server 的交换机 3560 一定要开 ip dhcp snooping (可以不指定 vlan ,可不配置 ip dhcp snooping information option ),否则无法对 DHCP option82 进行处理,进行传输的交换机丢弃该包,客户端 pc 也收不到 dhcp 包。
2.       dhcp-server 对收到 DHCP 请求的端口要打开 ip dhcp snooping trust (接口级命令)或者使用全局命令 ip dhcp snooping information option allowed-untrusted ,使 dhcp 请求进入该端口。接入层交换机连接 pc 端口应该设置为 ip dhcp snooping untrust
 
snooping �Cswitch 主要配置:
Switch#sh run
 
ip dhcp snooping vlan 40
ip dhcp snooping
!
interface GigabitEthernet0/9
 switchport access vlan 40
 ip dhcp snooping limit rate 100
 
interface GigabitEthernet0/11
 switchport access vlan 40
 no cdp enable
 ip dhcp snooping trust
 
interface Vlan40
 ip address 192.168.10.2 255.255.255.0
 
 
DHCP-server#sh run
 
no ip dhcp conflict logging
ip dhcp excluded-address 192.168.10.1 192.168.10.2
!
ip dhcp pool pool1
   network 192.168.10.0 255.255.255.0
   dns-server 192.168.2.2
   default-router 192.168.10.2
!
no ip dhcp snooping information option
ip dhcp snooping
!
interface GigabitEthernet0/1
 ip dhcp snooping trust
!
interface Vlan1
 ip address 192.168.10.1 255.255.255.0
 
查看传输交换机 3560 dhcp 服务器 3560debug 信息:
10:26:53: DHCP_SNOOPING: received new DHCP packet from input interface (GigabitEthernet0/9)
10:26:53: DHCP_SNOOPING: process new DHCP packet, message type: DHCPDISCOVER, input interface: Gi0/9, MAC da: ffff.ffff.ffff, MAC sa: 000f.fee6.f2a2, IP da 255.255.255.255, IP sa: 0.0.0.0, DHCP ciaddr: 0.0.0.0, DHCP yiaddr: 0.0.0.0, DHCP siaddr: 0.0.0.0, DHCP giaddr: 0.0.0.0, DHCP chaddr: 000f.fee6.f2a2
10:26:53: DHCP_SNOOPING: add relay information option.
10:26:53: DHCP_SNOOPING_SW: Encoding opt82 in vlan-mod-port format
10:26:53: DHCP_SNOOPING: binary dump of relay info option, length: 20 data:
0x52 0x12 0x1 0x6 0x0 0x4 0x1 0x90 0x1 0x9 0x2 0x8 0x0 0x6 0x0 0x21 0x56 0x47 0xCD 0x80
 
10:26:55: DHCP_SNOOPING: received new DHCP packet from input interface (GigabitEthernet0/11)
10:26:55: DHCP_SNOOPING: process new DHCP packet, message type: DHCPOFFER, input interface: Gi0/11, MAC da: 000f.fee6.f2a2, MAC sa: 0021.56f8.0a48, IP da: 192.168.10.4, IP sa: 192.168.10.3, DHCP ciaddr: 0.0.0.0, DHCP yiaddr: 192.168.10.4, DHCP siaddr: 0.0.0.0, DHCP giaddr: 0.0.0.0, DHCP chaddr: 000f.fee6.f2a2
10:26:55: DHCP_SNOOPING: direct forward dhcp reply to output port: GigabitEthernet0/9.
 
10:26:55: DHCP_SNOOPING: received new DHCP packet from input interface (GigabitEthernet0/9)
10:26:55: DHCP_SNOOPING: process new DHCP packet, message type: DHCPREQUEST, input interface: Gi0/9, MAC da: ffff.ffff.ffff, MAC sa: 000f.fee6.f2a2, IP da: 255.255.255.255, IP sa: 0.0.0.0, DHCP ciaddr: 0.0.0.0, DHCP yiaddr: 0.0.0.0, DHCP siaddr: 0.0.0.0, DHCP giaddr: 0.0.0.0, DHCP chaddr:000f.fee6.f2a2
10:26:55: DHCP_SNOOPING: add relay information option.
10:26:55: DHCP_SNOOPING_SW: Encoding opt82 in vlan-mod-port format
10:26:55: DHCP_SNOOPING: binary dump of relay info option, length: 20 data:
0x52 0x12 0x1 0x6 0x0 0x4 0x1 0x90 0x1 0x9 0x2 0x8 0x0 0x6 0x0 0x21 0x56 0x47 0xCD 0x80
10:26:55: DHCP_SNOOPING_SW: bridge packet get invalid mat entry: FFFF.FFFF.FFFF, packet is flooded to ingress VLAN: (400)
 
10:26:55: DHCP_SNOOPING: received new DHCP packet from input interface (GigabitEthernet0/11)
10:26:55: DHCP_SNOOPING: process new DHCP packet, message type: DHCPACK, input interface: Gi0/11, MAC da: 000f.fee6.f2a2, MAC sa: 0021.56f8.0a48, IP da: 192.168.10.4, IP sa: 192.168.10.3, DHCP ciaddr: 0.0.0.0, DHCP yiaddr: 192.168.10.4, DHCP siaddr: 0.0.0.0, DHCP giaddr: 0.0.0.0, DHCP chaddr: 000f.fee6.f2a2
10:26:55: DHCP_SNOOPING: add binding on port GigabitEthernet0/9.
10:26:55: DHCP_SNOOPING: added entry to table (index 118)
10:26:55: DHCP_SNOOPING: dump binding entry: Mac=00:0F:FE:E6:F2:A2 Ip=192.168.10.4 Lease=86400     ld Type=dhcp-snooping Vlan=400 If=GigabitEthernet0/9
10:26:55: DHCP_SNOOPING: direct forward dhcp reply to output port: GigabitEthernet0/9.
10:26:57: ICMP: echo reply sent, src 192.168.10.1, dst 192.168.10.4
10:26:57: ICMP: echo reply sent, src 192.168.10.1, dst 192.168.10.4
10:26:57: ICMP: echo reply sent, src 192.168.10.1, dst 192.168.10.4
10:27:24: DHCP_SNOOPING: checking expired snoop binding entries
 
10:46:30: DHCP_SNOOPING: process new DHCP packet, message type: DHCPOFFER, input interface: Gi0/11, MAC da: ffff.ffff.ffff, MAC sa: 0021.56f8.0a48, IP da: 255.255.255.255, IP sa: 192.168.10.3, DHCP ciaddr: 0.0.0.0, DHCP yiaddr: 192.168.10.4, DHCP siaddr: 0.0.0.0, DHCP giaddr: 0.0.0.0, DHCP chaddr: 000f.fee6.f2a2
10:46:30: DHCP_SNOOPING: process new DHCP packet, message type: DHCPACK, input interface: Gi0/11, MAC da: ffff.ffff.ffff, MAC sa: 0021.56f8.0a48, IP da: 255.255.255.255, IP sa: 192.168.10.3, DHCP ciaddr: 0.0.0.0, DHCP yiaddr: 192.168.10.4, DHCP siaddr: 0.0.0.0, DHCP giaddr: 0.0.0.0, DHCP chaddr: 000f.fee6.f2a2

本文出自 “沉” 博客,谢绝转载!

你可能感兴趣的:(职场,DHCP,休闲,Snooping,ip-source-guard)