虚拟机ubuntu-firefox有网但是打不开github怎么办?个人解决路径供参考

249 阅读4分钟

问题背景

  作者在执行 :PlugInstall 安装 Vim 插件时出现了网络访问失败的问题。

  详细了解是因为delimitMateindentLinevim-airlinenerdtree 这些插件的 Git 仓库(托管在 GitHub 上)无法被访问,提示 fatal: unable to access ...,原因很可能是网络连接问题(比如 GitHub 访问受限、本地网络波动等)。

  于是作者打开firefox测试GitHub是否可以访问,页面一直处在加载状态,最后出现了个无法连接的显示,而其他页面都可以正常打开。

image.png

  很显然,需要解决的首先是GitHub的访问问题。

检析步骤

  因为前面检验过其他网页可以正常查阅,所以网络连接正常。

一、修改DNS配置

(一)查看DNS配置

cat /etc/resolv.conf

(二)修改DNS服务器地址

1.使用以下命令编辑 /etc/resolv.conf文件,将nameserver改为8.8.8.8(Google的公共DNS服务器):

sudo gedit /etc/resolv.conf

2.将文件中的nameserver x.x.x.x部分改为:

nameserver 8.8.8.8

3.保存并退出(Ctrl+X → Y → Enter),然后重启网络服务:

sudo systemctl restart NetworkManager

4.重新打开 Firefox,尝试访问 github.com

  这是正常方法,但作者因为更换 DNS 后仍无法访问🥲,所以下一步直接将 GitHub 的域名与最新 IP 绑定,跳过 DNS 解析步骤。

二、手动修改 Hosts 文件

1.获取 GitHub 最新 IP(通过以下命令):

curl https://websites.ipaddress.com/github.com | grep -Eo '((0-9){1,3}\.){3}(0-9){1,3}' 
curl https://websites.ipaddress.com/github.global.ssl.fastly.net | grep -Eo '((0-9){1,3}\.){3}(0-9){1,3}'

2.编辑 Hosts 文件:

sudo nano /etc/hosts

3.在文件末尾添加以下内容(将 <IP> 替换为实际查询到的 IP):

<GitHub 最新 IP> github.com 
<Fastly CDN 最新 IP> github.global.ssl.fastly.net

若无法通过命令查询IP,可通过以下合规方式获取最新地址:

  1. 打开浏览器访问 IPAddress.com(或国内合规IP查询平台,如“IP138”);
  2. 在搜索框分别输入“github.com”和“github.global.ssl.fastly.net”;
  3. 复制查询结果中的“IPv4地址”,替换到Hosts文件的对应位置。

或者直接问AI

4.保存并退出(Ctrl+X → Y → Enter),然后刷新 DNS 缓存:

sudo systemd-resolve --flush-caches

5.重新打开 Firefox,尝试访问 github.com

  注意:修改Hosts文件仅用于解决域名解析问题,访问境外平台需遵守《中华人民共和国网络安全法》及相关法规,请勿用于违规用途。

  很好,作者依旧无法打开GitHub🥲,深入研究发现大概率是网络环境的限制导致,于是进行到最后环节。

三、配置网络环境

(一)检查系统时间同步

GitHub 的 SSL 证书验证依赖系统时间,若时间偏差过大可能导致连接失败。

打开终端,执行以下命令同步系统时间:

sudo apt install ntpdate -y 
sudo ntpdate time.windows.com

可以查看到系统时间,作者发现与实际时间偏差一天多,于是锁定问题,进行修正。

Ubuntu 系统时间偏差一天多,可能是时区设置错误、NTP 服务未启用或硬件时钟问题等原因导致的,以下是作者具体的解决方法:

(二)检查时区设置

打开终端,输入命令:

timedatectl

将时区设置为上海时区:

sudo timedatectl set-timezone Asia/Shanghai

(三)启用 NTP 同步功能

Ubuntu 18.04 + 默认启用systemd - timesyncd服务来实现网络时间同步。可以通过输入命令启用 NTP 同步功能:

sudo timedatectl set-ntp true

  终于!在做完这一切之后作者终于在ubuntu中打开了GitHub!也下载成功 Vim 插件了!😄可喜可贺,心酸历程。

image.png

  现在你也可以打开firefox检查是否可以访问github.com啦!😄

  希望我的解决方法会对同样遇到这个问题的你给予启发和帮助。如果也帮你解决了这个问题,我将不胜荣幸,如果还是未能打开GitHub可以多问AI多查资料,也祝你很快解决。

  如果此篇有一些错误的地方也欢迎友友们指正。

  合规提示: 本文提供的方法仅用于解决合法开发过程中的技术问题,访问境外平台需遵守《中华人民共和国网络安全法》《个人信息保护法》等相关法律法规,请勿用于违规用途。