【apt update突然报错Temporary failure resolving ‘cn.archive.ubuntu.com‘】

文章目录

  • 项目场景
  • 问题描述
    • [DNS出问题了,导致apt update也失效了](#DNS出问题了,导致apt update也失效了)
    • ping不通百度
    • 现状
  • 原因分析
  • 解决方案
    • [方法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:虚拟机网卡切换为 桥接模式

  1. 虚拟机 → 编辑虚拟机设置
  2. 网络适配器 → 桥接模式
  3. 重启虚拟机
  4. 重新获取 IP:
bash 复制代码
dhclient ens33

方法3:主机安全软件放行 VMware

  • 火绒 / 360 里允许 VMware 网络
  • 关闭 Windows 防火墙试试

相关推荐
工业一体机老司机15 小时前
Linux工业一体机自启动服务配置:systemd服务单元编写与开机优化实战
java·linux·服务器
zhixingheyi_tian15 小时前
Linux 之 ssh
linux·服务器·ssh
艾伦_耶格宇16 小时前
【DOCKER容器实战】-2MySQL
运维·docker·容器
Brilliantwxx16 小时前
42525
运维
小鱼仙官16 小时前
Ubuntu C++ NTP校时程序
linux·c++·ubuntu
RisunJan16 小时前
Linux命令-vgdisplay(显示卷组详细属性)
linux·运维·数据库
深念Y17 小时前
RIO-UL00(EMUI 4.1 / Android 6.0.1 / arm64)开机自启动 sshd
android·linux·华为·安卓·chroot·sshd·emui
Escalating_xu17 小时前
【Linux线程】线程控制全解析:终止、join/detach、cancel、线程栈与 NPTL(下篇)
java·linux·运维
老当益壮梁奶奶17 小时前
Linux软件编程学习笔记(二)Linux文件IO编程入门:从fopen到fgetc
linux·c语言·c++·笔记·学习
sunoo-22917 小时前
C 语言文件 IO 全攻略:从基础函数到实战踩坑(BMP 读取 + 词典查询)
linux·c语言·前端·笔记·vscode·学习