Margrop
Articles158
Tags353
Categories21
1password AC AP API AppDaemon Aqara Cron Date Diagrams.net HA HADashboard HomeAssistant IP IPv4 Java LVM‑Thin Linux MacOS MySQL NAS PPPoE PostgreSQL ProcessOn Proxmox VE SSL Shell TTS TimeMachine UML Uptime Kuma Web Windows activate ad adb adblock agent aligenie aliyun alpine annotation aop authy autofs backup baidupan bash bitwarden boot brew browser caddy2 cdn centos cert certbot charles chat chrome classloader client clone closures cloudflare cmd command commit container crontab ctyun ddsm demo dependency deploy developer devtools dll dns docker domain download draw drawio dsm dump dylib edge exception export fail2ban feign firewall-cmd flow frp frpc frps fuckgfw function gcc gfw git github golang gperftools gridea grub gvt-g hacs havcs heap hello hexo hibernate hidpi hoisting homeassistant hosts html htmlparser https idea image img img2kvm import index install intel io ios ip iptables iptv ipv6 iso java javascript jetbrains jni jnilib jpa js json jsonb jupter jupyterlab jvm k8s kernel key kid kms kodi koolproxy koolproxyr kvm lan lastpass launchctl learning lede letsencrypt linux live low-code lvm lxc m3u8 mac macos mariadb markdown maven md5 microcode mirror modem modules monitor mount mstsc mysql n2n n5105 nas network nfs node node-red nodejs nohup notepad++ npm nssm ntp oop openfeign openssl os otp ovz packet capture pat pdf pem perf ping pip plugin png powerbutton print pro proxy pve pvekclean python qcow2 qemu qemu-guest-agent rar reboot reflog remote remote desktop renew repo resize retina root route router rule rules runtime safari sata scipy-notebook scoping scp server slmgr so socks source spk spring springboot springfox ssh ssl stash string supernode svg svn swagger sync synology systemctl tap tap-windows tapwindows telecom template terminal tls token totp tvbox txt ubuntu udisk ui undertow uninstall unlocker upgrade url v2ray vhd vim vlmcsd vm vmdk web websocket wechat windows with worker wow xiaoya xml yum zip 中国电信 云电脑 交换机 光猫 公网IP 内存 内网IP 升级 启动 夏令时 天猫精灵 天翼云 安装 容器 导入 小米 常用软件 广告屏蔽 序列号 应用市场 异常 抓包 描述文件 时区 显卡虚拟化 智能家居 智能音箱 梯子 模块 流程 流程图 浏览器 漫游 激活 火绒 电信 画图 直播源 续期 网关 网络风暴 群晖 腾讯 虚拟机 证书 路由 路由器 软件管家 软路由 运维监控 镜像 镜像源 门窗传感器 防火墙 阿里云 阿里源 集客

Hitokoto

Archive

记一次家庭网络的网络风暴故障排查

记一次家庭网络的网络风暴故障排查

3月7日,周日,本来是一个应该好好休息放松的日子。

上午10点左右

家里的小爱同学,突然罢工了,提示『网络连接失败』

本来以为只是个小问题,没想到经过一番检查,发现家里所有联网的设备,网络都挂了???

而且局域网完全罢工,任意2个设备都不能互相访问???

这就跟我眼瞎了差不多,完全就没头绪好吗!!!

分析问题

根据设备的一般规律,一般不太可能2个或2个以上的设备同时坏掉。

而目前的现状是,几乎所有的设备都像坏了,昨天正好下大雨,难道打雷把设备劈坏了?

马上我又否定了这个想法,半小时前还能正常使用网络了,和下雨肯定没关系。

那有可能是家里的核心交换机坏了?毕竟是16口千兆交换机,如果因为交换机损坏导致所有设备网络不通,也是非常正常的。

于是拿出了备用8口交换机换上,结果换上后无济于事…

于是又怀疑另外一个8口杂牌交换机坏了,毕竟是杂牌交换机,结果换上后无济于事…

中午12点左右,毫无进展

网络已经断了1个多小时了,并且完全没头绪,也完全没定位问题。

我心态有点要崩溃了,这 TMD 有点坑爹啊。

正好到了午餐时间,先停下来,吃饭,冷静一下,整理思路再干。

下午2点左右,最小系统

LD也提出了建议,既然网络搞不好,那先保证家里能正常上网吧。

有点道理,于是把家里局域网和电信猫断开,仅使用备用路由器 + 电信猫,成功连接网络。

至少家里有个临时可上网的 WIFI 了,心态又好了一些。

但是问题还得继续排查,不然家里上百个联网设备,就得一直罢工了。

排除法

既然现在可以正常上网了,那就把设备一个个换掉试试。

把软路由换为备用路由器,无济于事…

那也不是软路由的问题。

先把各个房间,和各个AP的网线整理出来,打个标签,方便查看。

然后再在可用的网络上,加上备用交换机,然后把各个网线,一根根插到交换机上。

前几根网线插上的时候,网络还可以正常上网。

然后又插了几根网线,还是可以上网啊…

不过,过了1-2分钟,新的网络也挂了,和之前症状一模一样…

突破口

终于算是找到突破口了,我开始一直把排查重点放在家里的弱电箱,而没思考其他房间的设备。

应该是其他房间的某个设备,导致网络挂掉的。

事情有了突破口,就好办多了。

下午4点左右,解决问题

现在开始,对一根根网线进行排查,而且插上网线后,得一直 ping几分钟,完全没问题才能继续排查。

又过了许久…

终于定位到是哪根房间的网线有问题了。

好开心,现在可以恢复家里80%以上的设备联网了。

下午5点左右,真相大白

剩下的工作也轻松了,连接这根网线的设备,一共就4个:交换机,笔记本,PC机,AP,逐一排查问题即可。

最后问题定位到了AP…

问题总结

说真的,直到把问题定位到 AP,我才突然明白,这次的问题就是网络风暴。

网络风暴:这个词语,我是在 HW,DG机房里学习到的,一般是在新配置网络时,出现了环路,导致网络拥塞。

没想到,对于已经正常工作1年多的网络,也可能会出现这种问题,真是疏忽了。

问题解决后,去 Google 了一下,发现网络上也有类似这种偶发性 AP 导致的网络风暴…

该罪魁祸首 AP 已经被打入冷宫,毕竟毁了我几乎一个完整的周日,上午2小时,下午4个小时,全搭进去了。

有线联网设备整理

  • 弱电箱:电信猫,软路由,群晖NAS,16口交换机,5口交换机
  • 主卧:AP,8口交换机,PC 机,笔记本,AP,5口交换机,小米电视
  • 次卧:AP,8口交换机,小服务器,群晖 NAS,群晖 NAS
  • 客厅:AP,5口交换机,MiniPC,AP,AP
  • 走廊:AP
  • 儿童房:AP,5口交换机,AP

确实 AP 占了半壁江山,AP损坏本就是意料之中的,但导致网络风暴就过分了。

得好好想想怎么处理,以及以后怎么避免。

Author:Margrop
Link:http://blog.margrop.com/post/a-network-broadcast-flooding-solution-record/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可