踩坑教程!WiFi 网卡 MTU 值导致无法访问必应

已经连续 5 天无法访问必应网站了,被迫使用极其讨厌的百度搜索,这么多年百度搜索的体验还是那么差,现在貌似很难离开必应搜索了。但最近不知什么原因,导致电脑浏览器无法访问必应网站,断断续续找了很多原因,也做了很多尝试,但不成功。今天花了 2 个小时左右,终于彻底解决了无法访问必应网站的问题。这是一次非常精准的 “踩雷” 事件,核心问题是:不是所有网站的 HTTPS 握手包大小都一样,只是必应刚好踩到了你网络 MTU=1500 的 “尺寸红线”。

问题描述:

浏览器无法访问必应 bing.com,其它网站打开都正常,Outlook 邮箱也可以正常访问,微软新闻网站也都能正常打开,同时换成 chromium 和 GNOME 浏览器,问题都一样。在同一网络下,手机可以正常访问必应 bing.com,终端 ping bing.com 也是正常的。系统代理均为关闭状态,防火墙也关闭了,各种代理客户端后台均未启动时,还是不能访问。用必应搜索时显示如下:

连接超时

www.bing.com 的服务器响应时间过长。

此站点暂时无法使用或者太过忙碌。请过几分钟后再试。
如果您无法加载任何网页,请检查您计算机的网络连接状态。
如果您的计算机或网络受到防火墙或者代理服务器的保护,请确认 Firefox 已被授权访问网络。

修复回顾:

1 使用命令:curl -v https://www.bing.com 时,显示如下:

  • Host www.bing.com:443 was resolved.
  • IPv6: (none)
  • IPv4: 202.89.233.101, 202.89.233.100
  • Trying 202.89.233.101:443…
  • ALPN: curl offers h2,http/1.1
  • TLSv1.3 (OUT), TLS handshake, Client hello (1):
  • CAfile: /etc/ssl/certs/ca-certificates.crt
  • CApath: /etc/ssl/certs

一会后返回:

  • Recv failure: 连接被对方重置
  • TLS connect error: error:00000000:lib(0)::reason(0)
  • OpenSSL SSL_connect: 连接被对方重置 in connection to www.bing.com:443
  • closing connection #0
    curl: (35) Recv failure: 连接被对方重置

2.使用命令:echo $http_proxy $https_proxy $all_proxy 查看代理情况,返回空白,已无代理。

3.使用命令:sudo iptables -F 清空 Linux 系统防火墙的所有自定义规则。

到此为止,必应 bing.com 还是无法正常访问的。

4.使用命令:ip link,列出所有网卡信息:

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
link/ether 1c:83:41:cb:95:ec brd ff:ff:ff:ff:ff:ff
altname enx1c8341cb95ec
3: wlp0s20f3: mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
link/ether 90:09:df:f0:64:ff brd ff:ff:ff:ff:ff:ff
altname wlx9009dff064ff

其中,lo:系统核心本地回环网卡;enp3s0:有线网口(没插网线,处于关闭状态); wlp0s20f3:正在用的 WiFi 网卡(已连接,正常工作)。

结合问题描述中网络手机能上、电脑卡死 TLS 握手的现象,尝试考虑是不是 WiFi 网卡 MTU 值不匹配的问题(上面返回显示 mtu 1500,和路由器不兼容,手机会自动适配)。

5.尝试调整 WiFi 网卡 MTU 值从 1500 降至 1420,使用命令:sudo ip link set wlp0s20f3 mtu 1420。

此命令重启后失效,如果需要永久修改 MTU(重启仍有效),则需要打开下述文件:

/etc/NetworkManager/system-connections/你的 WiFi 连接名.nmconnection

在 WiFi 段下加:mtu=1400,即可永久修改 MTU。1400 这个值可以根据自己的情况更改。

6.再使用命令:curl -v https://www.bing.com,一切正常,此时使用浏览器访问必应 bing.com 秒开。

过程复盘:

使用 Debian + Firefox 环境上访问网络,只有必应超时、其他网站正常,最初考虑的问题可能是以下 4 点:

1.Firefox 对必应的 TLS/HTTP3/IPv6 处理异常
2.系统 DNS 解析或缓存问题
3.Firefox 扩展 / 代理 / HTTPS 拦截
4.系统 hosts 或路由 / 虚拟网卡干扰

当时判断最可能的原因是系统 DNS 解析或缓存问题,通过命令:cat /etc/hosts 检查 hosts 是否被篡改,未见异常。

接着,通过命令:sudo vi /etc/resolv.conf 更换公共 DNS(如下)也无济于事:

nameserver 223.5.5.5
nameserver 114.114.114.114

接着,通过以下命令临时禁用 IPv6,问题依旧。

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

几步无效果后,又将 3 种浏览器都恢复为默认设置,问题还存在。使用命令:dig www.bing.com 返回:

; <<>> DiG 9.20.18-1~deb13u1-Debian <<>> www.bing.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32350
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.bing.com. IN A

;; ANSWER SECTION:
www.bing.com. 2987 IN CNAME www-www.bing.com.trafficmanager.net.
www-www.bing.com.trafficmanager.net. 31 IN CNAME china.bing123.com.
china.bing123.com. 457 IN A 202.89.233.101
china.bing123.com. 457 IN A 202.89.233.100

;; Query time: 8 msec
;; SERVER: 223.5.5.5#53(223.5.5.5) (UDP)
;; WHEN: Sun Mar 29 14:20:25 CST 2026
;; MSG SIZE rcvd: 153

以上信息可以看出,阿里 DNS 解析 www.bing.com,得到的是中国大陆地区 Bing 的官方国内 IP,解析链完整、正常,没有污染或异常,对此反馈当时的心情是越来越迷模了,不知道如何进行下一步检查,也不清楚问题到底出在哪里。用使用另一个命令:nslookup www.bing.com 测试,返回:

Server: 223.5.5.5
Address: 223.5.5.5#53

Non-authoritative answer:
www.bing.com canonical name = www-www.bing.com.trafficmanager.net.
www-www.bing.com.trafficmanager.net canonical name = china.bing123.com.
Name: china.bing123.com
Address: 202.89.233.100
Name: china.bing123.com
Address: 202.89.233.101

很显然,nslookup 的结果和前面的 dig 完全一致,说明解析非常稳定,而且正常可达。既然都没有问题,为什么我无法用浏览器打开必应网站?我几乎做完了应有的所有测试,包括清除缓存与 Cookie、禁用所有扩展程序、无痕模式测试、更换浏览器、检查代理 / VPN 设置、清除系统 DNS 缓存、检查防火墙与安全软件及检查系统时间,都已经没有问题,而且还修改了DNS 服务器、检查 Hosts 文件、重置网络连接,之前还怀疑是不是运营商问题,使用同一网络的手机可以访问,说明运营商问题排除。而且测试中的 DNS 100% 正常,不会是解析的问题,怀疑网络环境拦截了必应国内 IP 的加密访问,也被排除。

再接着,会不会是网站证书问题,使用命令:curl -v -k https://www.bing.com 跳过证书验证,依旧无法访问。

到最后才考虑到真正元凶是 MTU 不匹配 Wi‑Fi 网卡默认 MTU = 1500,只要路由器 / 宽带环境不支持这么大的数据包,TLS 握手包刚好超过限制,被直接丢弃,就会导致无法访问。因此才会导致除了必应外其它网站均可正常访问的问题。因此,在此思路的提示下改小 MTU 后就恢复正常了。

《踩坑教程!WiFi 网卡 MTU 值导致无法访问必应》上有6条评论

  1. 好像拨号的光猫或者路由器都可以设置 MTU 值呀,我这边默认的是 1492,1500 以上的话是真容易出问题吧。

回复 卖烤肉 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注