AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1453982
Accepted
Ryan
Ryan
Asked: 2023-02-08 19:11:02 +0800 CST2023-02-08 19:11:02 +0800 CST 2023-02-08 19:11:02 +0800 CST

Ubuntu 22.04.1 名称服务器不断被覆盖

  • 772

我昨天从 Ubuntu 20.04 升级到 22.04.1。

现在,每当我重新打开 wifi(暂时关闭)时,我都无法访问互联网。

我检查了:

ls -lah /etc/resolv.conf
lrwxrwxrwx 1 root root 28 Feb  7 14:24 /etc/resolv.conf -> /opt/valet-linux/resolv.conf 
cat /etc/resolv.conf

search attlocal.net
nameserver 127.0.0.1

然后我进行更改:

sudo vim /opt/valet-linux/resolv.conf
cat /opt/valet-linux/resolv.conf

nameserver 8.8.8.8

然后互联网再次工作。

但是,如果我关闭 Wi-Fi 然后再打开,该文件将再次重置。

我已经尝试过:

域名系统

和:

cat /etc/netplan/01-network-manager-all.yaml 
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eth0:
      nameservers:
        addresses:
        - 8.8.8.8
        - 8.8.4.4

来自https://linuxize.com/post/how-to-set-dns-nameservers-on-ubuntu-18-04/以及 AskUbuntu 和 StackOverflow 上的无数帖子。

我也试过:

cat /etc/dhcp/dhclient.conf
...
# https://stackoverflow.com/a/48652642/470749
supersede domain-name-servers 8.8.8.8;

来自https://stackoverflow.com/a/48652642/470749。

什么都不管用。我对 Ubuntu 失去了耐心。

我做了什么让自己陷入困境?谢谢。

networking
  • 3 3 个回答
  • 95 Views

3 个回答

  • Voted
  1. thaller
    2023-02-10T01:54:13+08:002023-02-10T01:54:13+08:00

    只能有一个条目 writes/managed /etc/resolv.conf。

    例如,NetworkManager或人类管理员。还有resolvconf,这是一个接受多个源进行 DNS 配置,然后将它们合并为一个的工具/etc/resolv.conf。

    默认情况下,NetworkManager 以设置运行[main].rc-manager=symlink。看man NetworkManager.conf。除非您更改该配置,否则 NetworkManager 不会触及该文件。另请阅读有关[main].dns=设置的信息。

    通常,您需要决定应该配置什么,然后配置所有相关软件以就此达成一致。由于默认情况下 NetworkManager 已经单独留下文件,如果它是一个符号链接,您不需要告诉 NetworkManager 停止。

    如果您使用其中一个 GUI 来配置 DNS,那么这些 GUI 实际上会在 NetworkManager 中配置配置文件。只有当 NetworkManager 被指示写入时才有效/etc/resolv.conf

    常用systemd-resolved。Resolved 不写/etc/resolv.conf,但它可以将其作为输入使用。如果你使用它,通常/etc/resolv.conf应该只是一个符号链接,/ETC/RESOLV.CONF如man systemd-resolved. 在这种情况下,NetworkManager 可以将其 DNS 配置推送到systemd-resolved. 运行resolvectl以在systemd-resolved.

    改变/etc/dhcp/dhclient.conf似乎是错误的。特别是,如果您使用默认不使用 dhclient 的 NetworkManager。无论如何,在 DHCP 客户端中注入 DNS 设置是不对的。在 NetworkManager 中,您通过在 NetworkManager 的连接配置文件中设置它来配置 DNS(+ 设置您的系统和 NetworkManager 以使用这些设置做正确的事情)。

    没有唯一的答案,因为这取决于您想要如何准确地设置您的系统。通常你会坚持你的发行版为你提供的东西。了解您的发行版要做什么,并在这种情况下使用适当的机制。谁创建了/etc/resolv.conf符号链接,为什么这样做?(NetworkManager 和 systemd-resolved 都不会那样做)。

    • 2
  2. Best Answer
    Ryan
    2023-02-10T18:42:46+08:002023-02-10T18:42:46+08:00

    由于我已经多年没有使用 valet-linux,所以我完全忘记了它,甚至不认识它的名字。

    感谢 @chili555 的评论指出了我什至没有注意到的不寻常之处。

    我终于找到了https://github.com/cpriego/valet-linux/issues/115#issuecomment-1406379951,它结合了如下命令(灵感来自https://cpriego.github.io/valet-linux/ #uninstalling),似乎有效:

    composer global remove cpriego/valet-linux
    sudo rm -rf /opt/valet-linux/
    sudo systemctl revert systemd-resolved
    sudo systemctl restart systemd-resolved
    sudo apt-get remove dnsmasq
    sudo rm /etc/resolv.conf
    sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
    sudo systemctl stop valet-dns
    sudo systemctl disable valet-dns
    sudo rm /etc/systemd/system/valet-dns.service
    sudo systemctl daemon-reload
    sudo systemctl reset-failed
    sudo systemctl restart NetworkManager
    
    • 1
  3. wilsotc
    2023-02-10T19:12:46+08:002023-02-10T19:12:46+08:00

    使用systemd-resolve而不是手动编辑resolve.conf。

    例如:

    sudo systemd-resolve --interface wlp2s0 --set-dns 192.168.88.22 --set-domain yourdomain.local
    
    • 0

相关问题

  • 如何设置 VLAN 转发?

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 面板小程序以文本形式显示当前网络流量?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve