Ubuntu 22.04.4服务器无法克隆Git仓库且域名解析失败求助
看起来你的问题核心就是域名解析失败了——不管是Git克隆还是ping都因为找不到域名对应的IP才报错的。结合你给出的resolvectl status输出,我给你几个具体的排查和解决步骤,你可以一步步试:
先测试当前配置的DNS服务器是否能正常工作
你当前的DNS服务器是147.75.16.11和147.75.16.12,先直接用这两个服务器解析域名试试,在服务器上运行:dig gitlab.com @147.75.16.11 dig gitlab.com @147.75.16.12如果这两个命令都没有返回正常的IP结果,要么是这两个DNS服务器本身故障,要么是你的服务器到这些DNS的网络连接被阻断了。
临时切换公共DNS快速验证
可以临时把公共DNS(比如谷歌的8.8.8.8或者Cloudflare的1.1.1.1)加到网卡配置里,测试是不是DNS服务器的问题:sudo resolvectl dns ens192 8.8.8.8然后再运行
ping google.com或者git clone https://gitlab.com/jillii/XXXXX.git试试。如果能正常解析和克隆,那基本可以确定是原来的DNS服务器出问题了,接下来就需要修改永久的DNS配置。修改永久DNS配置(针对Netplan)
Ubuntu 22.04默认用Netplan管理网络,你可以找到/etc/netplan目录下的配置文件(一般是类似00-installer-config.yaml的文件),编辑它的nameservers部分:network: ethernets: ens192: addresses: [你的服务器IP/子网掩码] nameservers: addresses: [8.8.8.8, 1.1.1.1] # 替换成你想用的DNS routes: - to: default via: 你的网关IP version: 2保存后运行
sudo netplan apply让配置生效,之后再测试解析是否正常。检查防火墙是否阻断了DNS请求
DNS请求默认用UDP 53端口,你可以检查服务器的防火墙规则,比如用sudo ufw status看看有没有禁止出站的53端口。也可以用telnet 147.75.16.11 53测试能不能连接到DNS服务器的53端口,如果连接失败,可能是本地防火墙或者上游网络策略阻断了DNS流量。重启域名解析服务
有时候systemd-resolved服务可能出现异常,重启一下试试:sudo systemctl restart systemd-resolved重启后用
resolvectl status确认服务状态正常,再测试域名解析。
备注:内容来源于stack exchange,提问作者Jillian Hoenig




