下班,收到一同事在群里说,环境里有冒充网关的mac的,现在无法上网,让arp -s ip mac地址,先绑定正确的网关mac地址,先临时使用,等第二天上班再查找原因。
不能上网原因:
1、环境里存在冒充网关ip地址,会响应arp查询消息,导致网关mac被改写为错误mac,导致上行消息发到错误的地方,没有送出,导致无法上网。ping网关显示time out。
2、环境里存在ip冲突,导致回包不正常,和1区别是ping网关会时通时断。
3、dns问题,导致解析域名失败,这个可以通过cmd下,ping域名能否解析为ip地址来判断?
4、pc浏览器自身问题,排除就ping域名解析成功,ping网关ip正常打印,网关mac正确。
排除过程:
已知正确的网关ip192.168.209.1,mac地址C850.E967.FA0C
错误的mac地址000E.5E4B.E90A,这是我司产品的mac地址
在交换机上查询这个mac地址在那个端口?
[20Fsouth-04_master-100.209]#show mac-address all | inc E90A
000E.5E4B.E90A gigaethernet1/1/13 209 dynamic
确定在13口上,查看13口接的是一个olt设备。
在出问题的pc上抓包,查看端口13口和接上后的arp消息变化?
已知pc的mac地址为f4:84:8d:2a:75:08,在pc上执行arp -d触发网关ip的arp查询消息,arp -a检验是否正确获得?
获取正常。
插上13口的olt上联网线,发现有olt的arp的对网关ip的响应。
确定问题,olt上有啥问题,开了arp代理功能?
考虑到olt需要调测,不能中断,所以在决定在交换机上开启二层拦截消息,拦截olt的对192.168.209.1的目的ip的arp请求的响应消息。
添加一个自定义的二层acl规则:
rule 1 deny layer2 000e5e4be90ac0a8d101 ffffffffffffffffffff 10
红色是arp的reply消息的源mac和源ip,拦截olt的arp消息消息,蓝色是掩码,10是偏移量。
端口13应用acl的
[20Fsouth-04_master-100.209](config-gigaethernet1/1/13)#filter ing acc 5001 stat
Set successfully.
[20Fsouth-04_master-100.209](config-gigaethernet1/1/13)#sho int gi 1/1/13 con
System current configuration in port mode:
!command in port_mode
!
interface gigaethernet 1/1/13
switchport access vlan 209
filter ingress access-list 5001 statistics
拦截结果统计如下:
问题解决。
总结:
1、arp响应会刷新已有的arp缓存。
2、arp -d可以触发arp请求网关mac地址。
3、arp -a可以显示arp缓存。
4、