情况
在此之前,我使用 Timeshift 正确备份了我新安装的 Ubuntu 22.04... 我尝试安装 dsnmasq 进行本地 Web 开发。当然,我破坏了我的 DNS,现在我新安装的系统无法访问互联网 :-(
错误
这些是我个人笔记中导致错误的确切步骤:
1. Disable & stop systemd resolved
$ sudo systemctl disable systemd-resolved
$ sudo systemctl stop systemd-resolved
2. Remove symlink on `/etc/resolv.conf` & remove the file
$ ls -lh /etc/resolv.conf
$ sudo rm /etc/resolv.conf
3. create new /etc/resolv.conf
sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolv.conf'
发生上述第 3 项之后,我完全无法访问互联网。
故障排除
1.)我轻松地重新启用了 systemd-resolved
更新: @keff 建议下面的解决方案似乎是正确的,但它不起作用。
1.) 我创建了 ubuntu 22.04 的 virtualbox 安装,并将其副本/etc/resolv.conf
放在我的共享文件夹中,并截取了ls -l /etc/resolv.conf
输出的屏幕截图。
2.) 我按照@keff 的说明操作,并将结果与我的 virtualbox 输出进行比较...它们匹配。我重新启动了机器,以确保所有可能的服务都重新启动。
DNS 就是不工作,尽管配置正确。我有两台笔记本电脑连接到同一个 wifi 连接,所以我知道 wifi 工作正常。
我困惑了。
(是的,ufw 中的端口 53 是开放的)
问题
我不明白我的愚蠢之处是,“我该如何重新建立 /etc/resolv.conf
符号链接,以便该盒子再次可以访问外部互联网?”
答案1
要重新创建 的符号链接/etc/resolv.conf
,请运行以下命令:
sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resov.conf
这将创建一个从/etc/resov.conf
到 的符号链接/run/systemd/resolve/stub-resolv.conf
,该符号链接列为127.0.0.53
本地缓存存根解析器。