Cat73 Blog

喵星人占领地球战略指挥部

0%

珍爱生命,慎用华为

一切的开始

距离上次写博客已经有两年了,现在越来越忙于工作了,本来也懒得写文了来着,但这次实在是被恶心到了。

事情是这样的,公司外面是网线进的,PPPoE 拨号,纯 IPv4,于是放了个无线路由,刷的 OpenWrt 给同事们联网用,但角落难免信号差点,手头刚好有一个之前调试设备用剩下的华为 B311,于是用网线和主路由连起来了。

因为华为这台路由器旁边刚好有公司的打印机,所以决定把这台路由器当成无线交换机来用,保持全公司在一个网段。

依照之前组网的经验,WAN 口闲置,主路由来的线接内网,然后禁用 DHCP,放开无线即可。

灾难与排查

灾难就从这时埋下了种子,在测过打印机比之前无线响应更快之后,就在公司群通知新路由器到位,继续摸鱼去了。

半小时后(DHCP 过期最早的倒霉蛋),开始有人反馈,打不开网页了,当时在忙嘛,随便应付了下,说出了程序猿最常用的:我这好的呀,别人咋没事呢,但好景不长,慢慢的出现问题的人越来越多。

于是开始对其中一位同事的电脑进行排查,打不开网页,微信好的,根据经验,多半是 DNS 的锅,于是nslookup baidu.com一看,解析到结果了,查询的服务器是一个 fe80 开头的 ipv6 地址,结果是 172.31.255.254,当时并没有感到违和,反正查到结果了嘛。

但网页就是打不开,重连没用,重启居然也没解决什么。

到自己的 Mac 试试,毫无异常(后面证实 Mac 免疫此问题),拿 dig 查了下,解析到的 baidu.com 结果有一长串,多个 IP,且没有 172 开头的,感觉比较违和,但没找到问题在哪。

再排查多个同事的电脑,终于发现这个 IPv6 的服务器,然后开始疑惑,明明 OpenWrt 上禁用了 IPv6 呀,怎么会通过 IPv6 的地址进行解析呢,而且还能解析到结果,于是开始排查路由器的设置,也确实找到了几个和 IPv6 相关的参数,之前没禁掉,于是禁用,重启,毫无卵用,再排查调整,再重启,还是无用,期间每次重启,全公司就一片怨声载道,网又炸了。

既然改路由器无用,那还是回过头去查,这个 IPv6 的 DNS 是哪来的,和 Mac 对比后发现,Mac 没有这个 DNS 服务器,本来就对 Windows 好感度就不高,内心立马开始喷 Windows 这个垃圾,为了推广 IPv6,强行生成了个 IPv6 的地址和 DNS,然后又因为 IPv6 优先,自动用这个 DNS,而且它还能返回结果,当场就觉着微软太操蛋了,然后给两三个同事在网卡配置里禁用了 IPv6,好了,没问题了。

但不能给全公司都配一遍呀,而且近期在大量招聘,每个新人都搞一次那太吐血了。

不行,其他地方的 WI-FI 都没问题,肯定是我新配的 OpenWrt 有什么地方没做到位,例如,需要开一个 IPv6 的 DNS 服务器,以供 Windows 电脑解析用?

一番尝试,未果,又去 Google 类似问题,希望找到 Windows 多出来的 IPv6 地址、DNS 等是哪里出来的,也几乎没在网上找到有效的信息。

同事们都还在工作,不敢大操大办,就这么小打小闹拖到了下班。

加班排查

下班之后,矛头还是在这个 IPv6 的 DNS 是哪来的,怎么能禁止它出来,日常工作的 Mac 环境比较全,直接打开 Wireshark 开始抓包,首先排查 DHCP 分配时到底给了啥,结果它只给了 IPv4 的地址,和写好的1.2.4.8、114.114.114.114,根本没有 IPv6 地址。

这就邪门了,于是又找出备用的 Windows,它也同样上不去网,安装 Wireshark 后,发现 DHCP 和 Mac 上相同,也没和 IPv6 沾边。

这时对微软的怨念越来越深,不断变换关键词,在 Google 鬼也没搜出来。

好吧,再回去抓包,这次在出现 IPv6 地址后,停止抓包,准备从上到下把 100 多个包全部捋一遍,顺利发现了,Windows 会主动发送 DHCPv6 请求,并紧接着有响应包,里面正好包含那个该死的 DNS 服务器,看设备名,HuaweiDe_04:94:c2

好家伙,网络里就俩华为手机和新装的华为路由器,跑去打印机旁边给它断电,回来重连 WI-FI,好了,清净了,IPv6 地址终于没了。

其他受害者们

既然知道问题出在华为的路由器身上,再去搜相似案例就容易多了,轻松找到另外一位受害者,看起来排查的更复杂,为他的头发默哀。

结语

华为近几年发展确实挺快,但骚操作似乎多了些,像这次的路由器,在设置里禁用 DHCP 服务器后,确实不会响应 DHCP 请求,但却会正常响应 DHCPv6 请求,且因为 WAN 口闲置,自己判定自己无网络,对所有 DNS 查询都秒回 172.31.255.254。

这些年,智能化设备为人们带来了很多便利,但也隐含了好多骚操作,没有传统厂商那么稳重,居家用用尚可,复杂场景还是慎重。

Wireshark 永远的神!

截图

不知哪来的 IPv6 地址和 DNS:

秒回的 DNS 解析:

关闭的 DHCP 开关:

抓包到的 DHCPv6 响应:

小礼物 - 无限试用 iShot

近期 iShot 推出了 2.0,新增了不少功能,其中部分是收费的,包括一些老版本的免费功能,截止到 2.1.0,仍可以通过指令把试用期拉到数千天以永久免费试用:

1
plutil -replace AppStoreiShotInstallTime -integer 2000000000 "~/Library/Group Containers/4K6FWZU8C4.group.cn.better365/Library/Preferences/4K6FWZU8C4.group.cn.better365.plist"