配置 DAI(Dynamic ARP Inspection).note
一、配置 DAI:
DAI 无法限制 IPv6,因为IPv6中没有ARP这个概念
·DAI:
DAI只判断客户端的源IP和源MAC是否匹配,对于网关一般是直接设置为 trust
1、静态DAI:用于客户端静态获取地址时,使用 arp access-list 手动指定 ip 和 mac的绑定
2、动态DAI:用于客户端DHCP获取地址时,需要先配置 dhcp snooping,它会根据dhcp snooping的数据库来判断源IP和源MAC是否匹配
3、如果交换机下有两台客户端:一台DHCP获取IP、一台静态IP,如果只配置动态DAI,那么静态IP的客户端就无法通信,需要配置静态DAI手动指定客户端IP、MAC + 配置动态DAI。此时DAI就会先查看静态DAI配置的 arp access-list,如果匹配就放行,不匹配就会再查看 dhcp snooping数据库,只有都不匹配才丢弃。
作用:
(只用来限制客户端,而不是限制网关,类似dhcp snooping)
DAI(Dynamic ARP Inspection) 是一种用于防止 ARP 欺骗 / ARP 中毒攻击 的二层安全特性。
它通过 检查 ARP 报文的合法性,确保网络中只有可信主机的 ARP 请求/应答能够通过交换机。1、配置静态DAI:
静态DAI不需要配置:ip arp inspection validate src-mac dst-mac ip,但是开启了也不会有什么影响就是了
arp access-list ARP
permit ip host 192.168.10.10 mac host 5254.0007.4792 //客户端的IP地址和MAC地址
ip arp inspection filter ARP vlan 10 //应用ARP ACL
ip arp inspection vlan 10
# 信任连接上游的接口:
interface range g0/0-1 //假设有多个上游接口
ip arp inspection trust·static 参数:
ip arp inspection filter ARP vlan 20 static
## static //只查询ARP list,如果ARP list没有匹配,也不再查询 dhcp snooping 数据库

2、配置动态DAI:
需要先配置 DHCP Snooping
# 先为vlan 10配置 dhcp snooping
ip arp inspection vlan 10 //针对vlan10开启DAI
ip arp inspection validate src-mac dst-mac ip //检查源mac,目的mac以及IP是否与DHCP snooping数据库中一致(通常三个参数同时启用)
int g0/0
ip arp inspection trust //将上游(网关)接口设置为信任端口3、假设交换机同vlan下有两个客户端:一台DHCP获取IP、一台静态IP
注意:不能再 ip arp inspection filter 下配置 static 参数(配置了就不会再去查询 snooping 数据库)
# 这种环境下,需要动态DAI + 静态DAI的结合,此时DAI就会先查看静态DAI配置的 arp access-list,如果匹配就放行,不匹配就会再查看 dhcp snooping数据库,只有都不匹配才丢弃。# 假设是vlan 10下有两个这样的客户端:
## 先配置 dhcp snooping:
ip dhcp snooping
ip dhcp snooping vlan 10
no ip dhcp snooping information option
int g0/0
ip dhcp snooping trust
## 配置 动态DAI:
ip arp inspection vlan 10
ip arp inspection validate src-mac dst-mac ip
int g0/0
ip arp inspection trust
## 配置 静态DAI:
arp access-list DAI
permit ip host 192.168.1.123 mac host 000c.29db.5ef2
ip arp inspection vlan 10
ip arp inspection filter DAI vlan 10
int g0/0
ip arp inspection trust这样配置两者就都能够通信了
·DAI 控制接口ARP报文速率:
# 当设置接口为 ip arp inspection trust后,就不会控制接口速率
# 默认速率为 15(该端口每秒允许15个报文通过)
int g0/0 //一般都是控制客户端接口(因为上游链路大多数情况都是 trust的)
ip arp inspection limit rate [0~100] burst interval 1
# none //不限制接口ARP报文速率
# rate //手动限制接口ARP报文速率(0~2048)
# brust interval [second] //在...秒内允许报文通过(一般不加,默认是1)
·ip arp inspection validate 参数解析:
ip arp inspection validate src-mac dst-mac ip //检查源mac,目的mac以及IP是否与DHCP snooping数据库中一致
# src-mac //检验ARP包中的源MAC地址
# dst-mac //检验ARP包中的目的MAC地址
# ip //检验ARP包中的IP是否与DAI的合法来源匹配
# 合法来源(按优先级):
1、DHCP Snooping Binding Table
2、ARP Access List(ARP ACL)
3、静态 Source Binding·DAI工作原理:
报文进入端口
流程1:如果该端口是 Trusted,直接放行;如果是 Untrusted,进入DAI流程
流程2:判断该报文所属VLAN,必须是 DAI启用的VLAN,否则不检查
流程3:基础检查:检查ARP 格式是否正确,操作码是否合理,长度是否异常
流程4:(如果开启)validate检查,按顺序检查:1)src-mac;2)dst-mac;3)ip。任意步骤检查失败都drop
流程5:IP-MAC合法性校验:查 DHCP Snooping binding --> 查 ARP ACL --> 查静态 source binding。找不到结果就drop
流程6:检查通过,正常转发