1拓扑
1 实现控制只能获取企业内部合法的DHCP服务分配的地址,而其余的DHCP服务器则不能通过。
说明:为什么需要该技术呢,因为DHCP的工作原理是最先响应的服务器,PC就获取该服务器分配的IP地址,这样的话有些恶意的人把网关指向自己的电脑,然后通过抓包工具等实现抓包分析等功能,这样造成不安全,另外就是网段不一致了,导致访问公司内网或外网出现问题,所以我们必须杜绝该问题的出现。
正常情况下,内网的用户都是通过内部部署的服务集集群正确获取到IP地址,但是如果有一个人无意或者恶意的放了一台设备在接入层,而该设备正好附带DHCP功能【比如无线路由器等】,那么导致下面的用户都会获取到该服务器提供的地址段,而不是内部规划好的。
当有恶意DHCP服务器出现的时候【查看】
可以看到这次获得了172.16.1.0网段,这个就是通过恶意的DHCP服务器提供的。那么导致的结果就是
访问都失败。
2 解决办法
(1)全局 DHCP Snooping功能
[boss]dhcp enable
[boss]dhcp snooping enable
(2)面向用户的接口开启DHCP Snooping功能
[boss]port-group 1
[boss-port-group-1]dhcp snooping enable
说明:该接口组之前已经定义过了,可以直接在里面调用即可。
(3)上联接口【连接DHCP服务器接口】开启Trust功能
[boss]port-group 2
[boss-port-group-2]dhcp snooping trusted
说明:上联接口之前定义在port-group2中,开启即可,注意这里连接核心A与B接口都需要开启。
(4)测试结果
可以看到Renew一下后,又正常获取到了IP地址了。
说明:DHCP Snooping的工作原理就是当开启DHCP Snooping功能后,接口处于Trust的状态则接收对应的DHCP ACK与Offer包,而其余接口默认处于Untrust中,所以会丢弃这些包。
可以看到有动态的表项,后续的安全部署可以根据这表项来进行安全控制
3 部署用户只能通过DHCP获取的情况下,能够访问内网与外网,而人为定义则不行。
说明:有时候客户会私自定义IP地址,但是客户又不是非常懂,那么导致可能与网关或者其他PC的地址冲突了,所以我们这里必须杜绝该种情况出现,必须通过DHCP获取地址才能访问内网与外网。
手动定义地址,进行访问。
可以看到可以正常访问。
4 解决办法
开启DAI功能+ip source guead
(1)部署DAI
[boss]port-group 1
[boss-port-group-1]arp anti-attack check user-bind enable
说明:默认是检查IP 、mac、VLAN信息,可以修改arp anti-attack check user-bind check-item ip-address mac-address vlan
可以看到当自己定义IP地址后,会不访问。
(2)部署ip source guead
说明:为什么需要部署IP source guead呢,因为DAI有一个因为存在,DAI的功能是在PC第一次访问的时候,需要放松ARP信息,而DAI就是检测ARP信息的,如果本地没有对应DHCP Snooping表项,就丢弃ARP报文。那么如果客户知道了网关的MAC 地址,然后手工定义一个ARP【对于懂一点技术的人来说,也是非常简单的。】
比如手动指定了一个静态映射
可以看到就可以访问了。
[boss]port-group 1
[boss-port-group-1]ip source check user-bind enable
说明:开启ip source功能,检查,它会根据DHCP Snooping表项来检查数据包的IP、MAC、VLAN是否与绑定表有,如果没有就丢弃。
可以看到,就直接丢弃了。
(3)静态绑定表项
说明:为什么需要静态绑定呢,因为有时候有些打印机之类的是固定IP地址,所以必须允许它们通过。
[boss]user-bind static ip-address 192.168.44.1 mac-address 4422-1111-3423 vlan 40
添加一个静态表项,这样就可以通过了。
可以看到没问题了。