1. 当前位置: 网站首页 >  路由器百科 >  ARP是什么意思?NAS时通时断那晚,arp -a一看,两台设备在抢同一个IP

ARP是什么意思?NAS时通时断那晚,arp -a一看,两台设备在抢同一个IP

上个月帮表弟修好Windows连不上NAS的SMB问题之后,他那台二手四口群晖安生了没多久。上周末夜里十一点他又来电话,这回的症状不一样:不是连不上,是「薛定谔的连不上」——ping 192.168.0.30,前四个包回来三个,后四个全丢,过十秒再ping,又通了。传文件传到一半卡死,过一会儿自己又续上了。

更蹊跷的是他发来的截图:群晖后台右上角弹着一条告警,「检测到网络IP冲突」。这八个字就是破案的方向。我让他连敲了两遍 arp -a,把两次输出贴给我,一眼就看出问题了:同一个 192.168.0.30,两条记录的MAC地址不一样。家里不知道什么时候多了台设备,在跟NAS抢同一个门牌号。

ARP是什么:拿IP换MAC的喊话机制与两次arp -a对比抓IP冲突

这篇就把这事背后的ARP讲清楚。它是网络里最基础的一环,之前写MAC地址是什么和子网掩码管什么的时候都绕着它走,这次正面写透——因为IP冲突、时通时断、换设备后失联这类怪病,病根十有八九都在它身上。

先说清楚:ARP就是拿IP换MAC的那声喊话

接着掩码那篇的小区比喻往下说。掩码圈出了你的小区(网段),网关是小区的大门,而小区内部找人,靠的是「喊一嗓子」。

场景是这样的:你的电脑要给 192.168.0.30 发数据。IP地址是人用的门牌号,但网络上真正打包发货时,信封上写的是MAC地址——设备网卡的物理编号。问题来了:电脑只知道门牌号,不知道住在这门牌底下的人长什么样。

ARP(地址解析协议)干的就是这个翻译活。电脑先在小区里广播喊一嗓子:「谁是192.168.0.30?请回话!」这一嗓子全小区每台设备都听得见。地址真是自己的那台设备应答:「我是192.168.0.30,我的MAC是00-11-32-xx。」一来一回,电脑把这个对应关系记在小本本上,接下来这封信照着MAC发出去,以后一段时间内再通信就不用重新喊了。

那个小本本就是ARP缓存表。它是ARP协议最值得琢磨的部分:喊话(广播)很吵,全小区都得停下手里的活听你喊,所以协议设计成「喊一次记下来,能不喊就不喊」。后面IP冲突为什么会表现成时通时断,玄机全在这张表的刷新机制上,往下看。

表弟家那晚:两次arp -a,MAC在眼皮底下换了人

回到案发现场。表弟家NAS是装的时候照教程手动设的固定IP 192.168.0.30,设置面板里填的,路由器全程不知情。前阵子他给电视换了新盒子,插上网线DHCP自动拿地址——路由器一看地址池里 .30 空着(它确实不知道被NAS手动占了),大大方方分给了盒子。

于是同一门牌底下住了两户人。电脑喊「谁是.30」,NAS和盒子都应答,电脑的小本本一会儿记下NAS的MAC,一会儿记下盒子的MAC。发文件时信封上写的MAC指向NAS,数据顺利送达;下一秒表被盒子的应答刷掉了,信封指向盒子,盒子一看收件人不是自己,直接扔掉。这就是「时通时断」的全部机理——不是线路抽风,是收件人在换人。

验证方法就是我让他做的那两步。第一遍:

arp -a
接口: 192.168.0.108 --- 0x5
  192.168.0.30      00-11-32-6a-4c-21    动态
  192.168.0.1        d8-5d-84-3f-90-77    动态

隔十来秒再敲一遍,.30 那行变成了 50-e2-f5开头的另一个MAC。00-11-32是群晖网卡的厂商前缀,50-e2一查是那台盒子的。MAC隔十几秒换一次主人,比什么排查都直白。顺带一提,路由器那行 .1 对应的MAC也要留意,排查蹭网和ARP欺骗时会用它。

处理就三步:先把盒子断电或断网,NAS立刻恢复稳定;再进路由器后台把 .30 划出DHCP地址池,或者干脆给NAS和盒子都做上静态绑定——静态IP绑定那篇写过完整做法,核心就一句话:手动设的IP必须让路由器知道,要么填在池子外面,要么直接在路由器端绑定,别让DHCP有机会把它分出去。表弟后来在路由器里给NAS绑了 .30,盒子改成DHCP自动拿,从此相安无事。这也解释了为什么DHCP的地址池经常被建议留一段不放——就是给手动设备腾地方的。

arp -a的输出怎么读:三列各有用处

Windows上 arp -a 列出来的就是本机当前的ARP表,三个字段都值得认识:

字段是什么排查时看什么
Internet地址对方设备的IP有没有陌生IP(蹭网线索)
物理地址对应的MAC同一IP的MAC变没变(冲突实锤);MAC前六位可查厂商
类型动态/静态动态是自动学的,静态是手动绑的

接口那一行别忽略,它告诉你这张表挂在哪个网卡上。电脑装了虚拟机或者VPN之后会多出好几块虚拟网卡,每块网卡有自己独立的ARP表,看错接口会得出「表里没有对方」的误判——其实就是查错了小本本。

Mac和Linux上命令不一样但一回事:Mac是 arp -a,Linux可以 ip neigh,输出都带IP、MAC和状态。状态列里如果看到 FAILED 或者 INCOMPLETE 挂着不下去,说明喊话没人应——对方关机了,或者根本不在这个网段。

清缓存用 arp -d,后面跟IP删单条,跟星号清全部。Windows上这命令得用管理员身份开cmd,普通权限会报拒绝访问。什么时候需要手动清?设备换过网卡、挪过网口之后个别机器死活连不上,先 ipconfig /flushdns 清域名缓存,再 arp -d * 清一遍,让电脑重新挨个喊话,很多「玄学失联」到这一步就自愈了。

Windows弹「IP地址冲突」,是免费ARP在报警

表弟截图里群晖弹的那条告警,背后是个叫「免费ARP」的机制,Windows的「检测到IP地址冲突」弹窗也是它。

一台设备配好IP准备上线时,会先发自问自答的一嗓子:「谁是192.168.0.30?」——重点在于,它自己就是192.168.0.30。正常情况下没人会应答这声奇怪的喊话,它就安心上网了。但如果这个地址已经被别人占着,占着的那位一看「这我的地址,谁在问」,回一句「我是」,新设备立刻明白撞号了,Windows当场弹冲突警告,群晖在后台挂告警,都是这个瞬间。

这声自问自答还有个顺带的好处:全小区听见之后会把小本本上这条记录更新成喊话者的新MAC。所以换了新路由器或者设备换了网卡,通常不用挨台机器去清缓存,新设备一上线广播一轮,大家的表就都刷新了。真正刷不掉的,是表弟那种「两台设备都用免费ARP宣告同一个IP」的拉锯——你刷一遍我刷一遍,所以那晚的ARP表才会变来变去。

什么时候会主动撞号?最常见的三种:手动设IP设进了DHCP池里(表弟这款);两台设备都手动设了同一个IP;路由器断电重启后DHCP记录丢了,把在用地址重新分了出去。前两种是设置问题,第三种在老路由器上偶发——定时重启路由器那篇提过断电丢状态的事,地址分配记录就是丢的东西之一,重要设备做静态绑定能躲开大半。

路由器里的IP/MAC绑定,跟ARP是一家人

翻路由器后台会发现一个功能叫「IP与MAC绑定」,或者叫「静态ARP」「ARP绑定」,名字五花八门,本质都是在路由器那张ARP表上做文章。

路由器自己也维护一张ARP表——后台设备列表里那些「设备名+IP+MAC」,很大一部分就是这张表的学习成果,每台连上来的设备喊过话、应过答,都被记下来了,再跟DHCP的租约记录一对账,就成了你看到的列表。有些老款路由器后台不显示设备名,只给一串MAC,那就是表里最原始的样子。

「绑定」就是挑几条记录钉死。钉死之后有两层用处:一层是固定IP分配(DHCP静态租约),地址不再漂移,端口转发和远程访问指着固定地址吃饭,IP一漂规则全作废;另一层是安全,把网关那条记录绑死后,局域网里有人伪造网关MAC发假应答(ARP欺骗的老套路),路由器也不认账。家用场景第一层是刚需,第二层属于锦上添花。

还有个反过来的冷门用法:设备关着的时候,是不应答ARP的。之前写远程开机时踩过这个坑——路由器想把外面进来的魔术包转给家里电脑,查ARP表发现这台电脑的记录早过期了,喊话没人应,包到跟前只能扔掉。所以远程开机的前置步骤之一就是把电脑的IP/MAC在路由器里绑死,让这条记录永远留在表里。你看,同一个机制,正着用是防漂移,反着用是保记录。

什么情况该怀疑到ARP头上

ARP惹的祸有几个固定面目,遇到对号入座:

症状ARP层面的解释第一步做什么
ping时通时断,规律随机IP冲突,两个MAC轮番刷表连敲两遍arp -a看MAC变不变
弹「IP地址冲突」免费ARP检测到撞号找出两台设备,改地址或做绑定
换网卡/换路由器后个别机器连不上旧缓存还指着老MACarp -d *清表重学
arp -a里有陌生IP表是设备列表的底层MAC前六位查厂商,对不上就排查蹭网
表里压根没有对方喊话没人应:不同网段或对方关机先查掩码和网关,再看对方死活

排查顺序给一条:先 ping 分清通断,再 arp -a 看表,然后用 arp -d 清了重试,最后才轮到重启设备。多数「玄学网络问题」在前三步就现形了,重启是大招也是懒招——它确实会顺带清掉ARP表,所以「重启就好了」的病,多半根子就在这张表上,只是重启永远不会告诉你为什么。

表弟那台NAS现在稳得很,他后来跟我说了句大实话:以前总觉得网络这东西要么通要么不通,非黑即白,折腾完这晚才知道中间还有个「时通时断」的地带,而那块地界,基本都是ARP在管。

展开全文


版权说明 手机扫码阅读
版权所有:《数巢笔记》 => 《ARP是什么意思?NAS时通时断那晚,arp -a一看,两台设备在抢同一个IP》
本文地址:https://www.shunot.com/lybk/1048.html
除非注明,文章均为 《SHUNOT》 原创,欢迎转载!转载请注明本文地址,谢谢。

发表评论

联系我们

在线咨询:点击这里给我发消息

微信号:master_135

工作日:9:00-23:00,节假日休息

扫码关注