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

相关推荐
考虑考虑7 小时前
docker compose环境变量替换
运维·后端·自动化运维
Java陈序员8 小时前
轻量运维面板!一款现代化的服务器控制面板工具!
运维·服务器·python·react.js·github
bosins8 小时前
WSL 迁移指南:如何将 Linux 环境完整复制到另一台电脑
linux·运维·服务器
IT利刃出鞘8 小时前
Docker Compose--安装WordPress--方法/示例
运维·docker·容器
企鹅的蚂蚁10 小时前
LubanCat RK3588 实时 Linux 开发(六):启用 gs_usb 驱动并完成 USB-CAN 收发
linux·rk3588·linux驱动·socketcan·gs_usb·usb-can
2601_9622998810 小时前
Linux执行Python脚本方法
linux·python·脚本·解释器·shebang
snow@li10 小时前
服务器运维:Linux命令速查手册(全景梳理)
linux·服务器·网络
handler0110 小时前
【Linux】线程与虚拟内存的底层世界
linux·运维·服务器·c++·线程·虚拟地址空间·共享内存
新时代牛马11 小时前
实时 Linux:PREEMPT_RT、延迟来源与观测
linux·运维·服务器
微露清风11 小时前
# Linux 进程全景:从 PCB 到 O(1) 调度队列
linux·服务器