文章目录
- 项目场景
- 问题描述
- 原因分析
- 解决方案
-
- [方法1:重启 VMware NAT 服务(主机上操作)](#方法1:重启 VMware NAT 服务(主机上操作))
- [方法2:虚拟机网卡切换为 桥接模式](#方法2:虚拟机网卡切换为 桥接模式)
- [方法3:主机安全软件放行 VMware](#方法3:主机安全软件放行 VMware)
项目场景
我在做k8s项目的时候,突然发现镜像拉取失败了,上一秒还能拉取镜像,突然就不能拉取了,我排除了docker镜像加速器的问题,最后发现是DNS出问题了
c
// 情况如下
root@k8s-master1:~/readiness# docker pull nginx:1.24
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
问题描述
DNS出问题了,导致apt update也失效了
dns出问题后,然后我试了一下apt update果然也不能用了
bash
root@k8s-master1:~# apt update # 报错
Err:1 https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic InRelease
Temporary failure resolving 'mirrors.aliyun.com'
Err:2 https://pkgs.k8s.io/core:/stable:/v1.28/deb InRelease
Temporary failure resolving 'pkgs.k8s.io'
Err:3 http://cn.archive.ubuntu.com/ubuntu bionic InRelease
Temporary failure resolving 'cn.archive.ubuntu.com'
Err:4 http://cn.archive.ubuntu.com/ubuntu bionic-updates InRelease
Temporary failure resolving 'cn.archive.ubuntu.com'
Err:5 http://cn.archive.ubuntu.com/ubuntu bionic-backports InRelease
Temporary failure resolving 'cn.archive.ubuntu.com'
Err:6 http://cn.archive.ubuntu.com/ubuntu bionic-security InRelease
Temporary failure resolving 'cn.archive.ubuntu.com'
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
W: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/dists/bionic/InRelease Temporary failure resolving 'cn.archive.ubuntu.com'
W: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/dists/bionic-updates/InRelease Temporary failure resolving 'cn.archive.ubuntu.com'
W: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/dists/bionic-backports/InRelease Temporary failure resolving 'cn.archive.ubuntu.com'
W: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/dists/bionic-security/InRelease Temporary failure resolving 'cn.archive.ubuntu.com'
W: Failed to fetch https://mirrors.aliyun.com/docker-ce/linux/ubuntu/dists/bionic/InRelease Temporary failure resolving 'mirrors.aliyun.com'
W: Failed to fetch https://pkgs.k8s.io/core:/stable:/v1.28/deb/InRelease Temporary failure resolving 'pkgs.k8s.io'
W: Some index files failed to download. They have been ignored, or old ones used instead.

ping不通百度
然后我发现ping www.baidu.com也不通,ping 自己的DNS也不通(本机的ip是13.136,我ping 13.2不通)
但是能ping 通1.1.1.1 8.8.8.8 223.5.5.5
现状
ping 223.5.5.5 通 ✅
nc 80 超时 ❌
dig 53 超时 ❌
ufw 已经关闭
iptables 已经清空
VMware NAT 网段 192.168.13.x
原因分析
原因:我的VMware NAT 网关 禁止了所有 TCP 出站 + 有数据的 UDP 出站,只放行 ICMP(ping)
我的虚拟网卡 NAT 服务异常 / 被主机安全软件拦截了
主机的:360,火绒,电脑管家,Windows 防火墙拦截了虚拟机的 TCP 出站流量!
大家可以最简单验证(10 秒确定)
执行:
bash
curl 223.5.5.5
或
telnet 223.5.5.5 80
必然超时
解决方案
方法1:重启 VMware NAT 服务(主机上操作)
我本人用的这种方法就好了
Windows 右下角 → 以 管理员 打开 CMD:
cmd
net stop "VMware NAT Service"
net start "VMware NAT Service"

方法2:虚拟机网卡切换为 桥接模式
- 虚拟机 → 编辑虚拟机设置
- 网络适配器 → 桥接模式
- 重启虚拟机
- 重新获取 IP:
bash
dhclient ens33
方法3:主机安全软件放行 VMware
- 火绒 / 360 里允许 VMware 网络
- 关闭 Windows 防火墙试试