【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 防火墙试试

相关推荐
xywww1682 小时前
大模型 API 选型实战:GPT、Gemini、Claude 接入时该看哪些指标?
运维·服务器·人工智能·python·gpt·langchain
梦想的颜色5 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
donoot8 小时前
Linux系统下图书馆级电子书全自动标准化分类整理完整实施方案
大数据·linux·运维·电子书管理
ITKEY_8 小时前
macOS brew 安装的nginx 文件在哪里?
运维·nginx·macos
Felix-lxd8 小时前
Ubuntu 22.04 配置 Nginx
linux·nginx·ubuntu
Elastic 中国社区官方博客8 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
Tim_Van9 小时前
在 CentOS 7 中安装 Chromium 的完整步骤
linux·运维·chrome·centos
2023自学中10 小时前
C++ 内存追踪器
linux·c++
孫治AllenSun10 小时前
【Nginx】配置参数和使用案例
运维·nginx
啵啵鱼爱吃小猫咪11 小时前
Ubuntu 20.04 + ROS Noetic 源码安装 libfranka 0.8.0 和 franka_ros 0.8.0 完整教程
linux·运维·ubuntu