赞
踩
在Linux(Ubuntu)服务器上clone
github上的项目时,会出现该报错:
fatal: unable to access 'https://github.com/xxxx/xxxx/': Could not resolve host: github.com
此时ping也ping不通。
出现该问题是因为无法解析域名。
原因可能为:1. 该域名出现问题 2. 服务器没有网络 3. 服务器没有配置DNS
前两个问题比较特殊,可以自行查找解决方案,这里讲下第3点。
DNS服务器的主要目的是对域名进行解析,并生成相应IP地址。
DNS服务器地址由网络提供商(ISP)分配。但是,这些DNS服务器可能运行缓慢或未定期更新,这可能会导致在查询域名时解析为错误的IP地址。当然,我们可以自行更改为一些最受欢迎的公共DNS服务器。Google(8.8.8.8
,8.8.4.4
),Cloudflare(1.1.1.1
,1.0.0.1
)。OpenDNS(208.67.222.222
,208.67.220.220
),Level3(209.244.0.3
,209.244.0.4
)。
查看Linux(Ubuntu)的DNS配置文件,存放在/etc/resolv.conf
我的服务器原始DNS设置如下,使用的是默认DNS服务器。
resolv.conf
# some notes
nameserver 127.0.0.53
options edns0 trust-ad
该文件是systemd-resolved服务控制的符号链接,不应手动对其进行编辑。systemd-resolved是为本地服务和应用程序提供DNS名称解析的服务,可以使用Netplan进行配置,Netplan是Ubuntu 20.04的默认网络管理工具。
Netplan配置文件存储在/etc/netplan
目录。但你可能会在此目录中找到一个或两个yaml文件。
各个安装程序的文件名可能不同。通常,该文件名为01-netcfg.yaml
或50-cloud-init.yaml
,但在你的系统中,可能会有所不同。我的系统中为01-network-manager-all.yaml
要设置DNS,编辑此文件即可。
01-network-manager-all.yaml
network:
version: 2
renderer: networkd
ethernets:
【1】: # 你的服务器的网络接口名
addresses:
- 【2】# inet后的地址
gateway4: 192.168.199.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
可以复制上面的内容到你的文件中,只需修改两处内容,这两处内容该如何获取呢?
输入命令:ip addr show
查看网络接口信息
在我机器中【1】处的信息为:eno1,【2】处的信息为inet后的地址xxx.xxx.xxx.xxx/24
之后保存修改,使用sudo netplan apply
命令应用更改内容。
我们来测试是否能ping通:
成功!能连接到github了,在这之后就可以利用SSH的加密方式clone
很遗憾的是,HTTPS的方式我还没有解决,这个以后如果解决了会再进行补充,如果大家有更好的方案,欢迎与我交流。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。