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

相关推荐
我不管我就要叫小猪1 分钟前
嵌入式Linux----网络通信
linux·运维·服务器
江湖有缘25 分钟前
Docker实战 :使用Docker部署OneTerm堡垒机
运维·docker·容器
泡沫冰@28 分钟前
ECS 的介绍和使用
linux·服务器·网络
姜太小白1 小时前
【Linux】df -h 卡住问题的通用排查与解决方案总结
linux·运维·php
fengyehongWorld1 小时前
Linux 终端快捷键
linux·运维
看昭奚恤哭2 小时前
平滑加权轮询负载均衡的底层逻辑
运维·负载均衡
hyf3266332 小时前
泛程序:从零开始搭建稳定程序项目框架
运维·服务器·爬虫·百度·seo
哎呦喂我去去去2 小时前
C#实现屏幕墙:同时监控多个电脑桌面(支持Windows、信创Linux、银河麒麟、统信UOS)
linux·windows·c#
为自己_带盐3 小时前
安敢越雷池一步?浅尝雷池WAF社区版
运维·web安全
NiceCloud喜云3 小时前
海外云服务器怎么选?适用场景、价格和避坑经验总结
运维·服务器