1拓扑
![db46e02a531188683631a56e13bdf2b3.png](https://i-blog.csdnimg.cn/blog_migrate/7cd0624a49b2a54b63d635509b5e70e3.jpeg)
1 实现控制只能获取企业内部合法的DHCP服务分配的地址,而其余的DHCP服务器则不能通过。
说明:为什么需要该技术呢,因为DHCP的工作原理是最先响应的服务器,PC就获取该服务器分配的IP地址,这样的话有些恶意的人把网关指向自己的电脑,然后通过抓包工具等实现抓包分析等功能,这样造成不安全,另外就是网段不一致了,导致访问公司内网或外网出现问题,所以我们必须杜绝该问题的出现。
![3155cdc999fc80eb2d484c964c47ad21.png](https://i-blog.csdnimg.cn/blog_migrate/7d25509eb6af750dcb6fa23a930531c9.jpeg)
正常情况下,内网的用户都是通过内部部署的服务集集群正确获取到IP地址,但是如果有一个人无意或者恶意的放了一台设备在接入层,而该设备正好附带DHCP功能【比如无线路由器等】,那么导致下面的用户都会获取到该服务器提供的地址段,而不是内部规划好的。
当有恶意DHCP服务器出现的时候【查看】
![5d04c904c64d8f9cfce5dc4144c61b9d.png](https://i-blog.csdnimg.cn/blog_migrate/486b62d1db130c27c669786d7ea2f1ad.jpeg)
![2b5dd7b4626c571506ad0bcc23301a4c.png](https://i-blog.csdnimg.cn/blog_migrate/4cd216c53bc97ac6409e4a14d73b625b.jpeg)
可以看到这次获得了172.16.1.0网段,这个就是通过恶意的DHCP服务器提供的。那么导致的结果就是
![92340407573f26c1413f2c4dad593959.png](https://i-blog.csdnimg.cn/blog_migrate/65a7040615419246d4cbb380393efaad.jpeg)
访问都失败。
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)测试结果
![82c3e51f5bfbe18c479c6bfd5f98387a.png](https://i-blog.csdnimg.cn/blog_migrate/a8d307064174712615bd1c86ea1e1fd6.jpeg)
可以看到Renew一下后,又正常获取到了IP地址了。
说明:DHCP Snooping的工作原理就是当开启DHCP Snooping功能后,接口处于Trust的状态则接收对应的DHCP ACK与Offer包,而其余接口默认处于Untrust中,所以会丢弃这些包。
![3046454432b3b58ed2c69d9efa83d88e.png](https://i-blog.csdnimg.cn/blog_migrate/cee5119ce90754ecc7cc4e590a4cf7f8.jpeg)
可以看到有动态的表项,后续的安全部署可以根据这表项来进行安全控制
3 部署用户只能通过DHCP获取的情况下,能够访问内网与外网,而人为定义则不行。
说明:有时候客户会私自定义IP地址,但是客户又不是非常懂,那么导致可能与网关或者其他PC的地址冲突了,所以我们这里必须杜绝该种情况出现,必须通过DHCP获取地址才能访问内网与外网。
![ac807289c81afbb034e85c071d48678c.png](https://i-blog.csdnimg.cn/blog_migrate/5b81d9d48e1a27c2e8bc1e0a10064688.jpeg)
手动定义地址,进行访问。
![258c26523c42876129e0ee00a4e25d89.png](https://i-blog.csdnimg.cn/blog_migrate/3a429c45c75b1b1a78cf95919547e41b.jpeg)
可以看到可以正常访问。
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地址后,会不访问。
![366f4bfad71e76734fbfbb78c91932db.png](https://i-blog.csdnimg.cn/blog_migrate/5390aa10d3be019d5d10cc649b11aa64.jpeg)
(2)部署ip source guead
说明:为什么需要部署IP source guead呢,因为DAI有一个因为存在,DAI的功能是在PC第一次访问的时候,需要放松ARP信息,而DAI就是检测ARP信息的,如果本地没有对应DHCP Snooping表项,就丢弃ARP报文。那么如果客户知道了网关的MAC 地址,然后手工定义一个ARP【对于懂一点技术的人来说,也是非常简单的。】
![4ba498c7fe90af6548f1ea20c894ff0a.png](https://i-blog.csdnimg.cn/blog_migrate/cc4e81b1029debb534a4712e210eea6a.jpeg)
比如手动指定了一个静态映射
![13296f3932a3e32712af21ac40a3f794.png](https://i-blog.csdnimg.cn/blog_migrate/4069a34ed7617712342ca6a4238213a4.jpeg)
可以看到就可以访问了。
[boss]port-group 1
[boss-port-group-1]ip source check user-bind enable
说明:开启ip source功能,检查,它会根据DHCP Snooping表项来检查数据包的IP、MAC、VLAN是否与绑定表有,如果没有就丢弃。
![e97af36fac187303adaacf9ff81b1983.png](https://i-blog.csdnimg.cn/blog_migrate/6cffe8d395dc74ec2511d099a60ec082.jpeg)
可以看到,就直接丢弃了。
(3)静态绑定表项
说明:为什么需要静态绑定呢,因为有时候有些打印机之类的是固定IP地址,所以必须允许它们通过。
[boss]user-bind static ip-address 192.168.44.1 mac-address 4422-1111-3423 vlan 40
添加一个静态表项,这样就可以通过了。
![83b17e6a0f203c221b5e586eab218671.png](https://i-blog.csdnimg.cn/blog_migrate/c2fecd79708ef3af7d378c8d2268f5e6.jpeg)
可以看到没问题了。