如何对 /etc/resolv.conf Ubuntu 18.10 进行持久更改

Igo*_*gor 7 networking dns resolv.conf 18.10

我的 resolv.conf 文件有“nameserver 127.0.0.53”。
我需要用不同的值替换它或添加另一个名称服务器。

我删除了符号链接,用文件替换了它。现在它由网络管理器管理,
但 127.0.0.53 会在重新启动时恢复。

我需要保持改变,我做到了。

如果我在“interfaces”文件中配置网络接口,
它会在网络管理器中变为“UNMANAGED”。但是,它的配置没有影响。

这个问题与这里有关。

伙计们,如果不是那么麻烦,请您阅读一下。

在我执行任何“ping”或“主机”之前,我必须通过那个登录程序。

我的主要问题在那里。我在这里试图做的是创造一种解决方法。

将除 127.0.0.53 或 0.0.0.0 之外的任何名称服务器添加到 resolv.conf 中都可以使该事情正常工作。
网络 DNS 是 192.168.11.1。我插入了 192.168.0.1 并且它起作用了。你的名字 - 它去。但是在网络管理器中更改设置根本没有效果。

@heynnema,在提出问题之前,我在 IPV4 选项卡中进行了这些设置,但不幸的是,它们不起作用。
/etc/network/interfaces 文件完好无损,
全新安装 UBUNTU 18.10。
为了在 DEBIAN 中创建路由器,我编辑了该文件,我看到了它是如何工作的。我不希望这里也一样。

@Marmayogi 我的 DNS 是 192.168.11.1,同样的在 /run/systemd/resolve/resolv.conf 中。我很惊讶在那里看到它。

是的,@Marmayogi,我的目标是获得那个屏幕。
在 UNITY 18.04 上,此文件不存在,但变化不大。

/etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager  
Run Code Online (Sandbox Code Playgroud)
ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether bc:ae:c5:35:85:e6 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    link/ether 48:5d:60:c5:91:0b brd ff:ff:ff:ff:ff:ff
Run Code Online (Sandbox Code Playgroud)
systemd-resolve --status wlp3s0
Link 3 (wlp3s0)
  Current Scopes: DNS
   LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
    DNSSEC setting: no
    DNSSEC supported: no
Current DNS Server: 192.168.11.1
     DNS Servers: 192.168.11.1
      DNS Domain: ~.
                  crew.local  
Run Code Online (Sandbox Code Playgroud)

是的@Marmayogi,这是我现在唯一想要工作的东西。不过,这个解决方案对我来说似乎很尴尬。正如您在其他帖子中看到的那样,有一个符号链接。我删除了它,希望我能让事情对我有用。

@Marmayogi,您做得很好,创建了分步说明。

你的解决方案是天才,不体面!

我测试过。登录成功,网络正常。

@heynnema,
/run/resolvconf/resolv.conf在 UBUNTU 18.10 上不存在。
在这种情况下,您有什么建议?

系统从 ISO 安装干净,从 UBUNTU.COM 下载。

Mar*_*ogi 8

我正在复制我的答案第 I 部分预安装如何在 Ubuntu 18.04 上安装 Oracle 18c(企业版)?中的“1.11.2. 配置 /etc/resolv.conf 文件”部分。

要显示系统中可用的网络接口,请发出以下命令:

$ ip link show

在此输入图像描述 Figure-39: The WiFi network adapter wlp5s0 is active, up and running.

/etc/netplan/.yaml应检查网络配置文件的配置详细信息。要显示文件的内容,请发出以下命令:

$ cat /etc/netplan/01-network-manager-all.yaml

在此输入图像描述 Figure-40: Network Manager file 01-network-manager-all.yaml is not configured yet.

判断是否/etc/resolv.conf是静态文件或者symlink通过以下命令:

$ ls -l /etc/resolv.conf

在此输入图像描述 Figure-41: File /etc/resolv.conf is a symlink pointing to stub file 'stub-resolv.conf'.

事实上,@igor,您从其他帖子中删除的符号链接实际上是存根文件的链接stub-resolv.conf

切断了带有名称服务器的/etc/resolv.conf和之间的符号链接后, 就不管了,是你制作了静态文件!stub-resolv.conf127.0.0.53/etc/resolv.conf/etc/resolv.conf

事实是,@Igor,这种遣散行为并没有真正为您提供任何解决方案。

/etc/resolv.conf现在,通过命令显示内容:

$ cat /etc/resolv.conf 在此输入图像描述 Figure-42: The contents of symlink '/etc/resolv.conf' having 127.0.0.53 as nameserver.

/etc/resolv.conf,显示的 dns127.0.0.53不是为 配置的默认名称服务器dhcp

发出以下命令来查找默认 dns 服务器:

$ systemd-resolve --status wlp5s0

在此输入图像描述 Figure-43: The default DNS server for WiFi network adapter is 192.168.43.1.

/run/systemd/resolve/resolv.conf通过命令显示 , 的内容:

$ cat /run/systemd/resolve/resolv.conf

在此输入图像描述 Figure-44: The contents of '/run/systemd/resolve/resolv.conf' indicating default nameserver.

从图 44 中,您可以观察到这才/run/systemd/resolve/resolv.conf是真正携带默认名称服务器的服务器192.168.43.1

发出以下命令将符号链接更改/etc/resolv.conf为指向默认 dns 服务器192.168.43.1而不是127.0.0.53.

$ sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

$ ls -l /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 Figure-45: File /etc/resolv.conf is a symlink pointing to default nameserver.

如图 45 所示设置 sysmlink 后,您必须通过发出以下命令来确保您的 Wi-Fi 已连接、已启动并正在运行:

$ nmcli device

在此输入图像描述 Figure-45-a: Wi-Fi network interface adapter 'wlp5s0' is connected, up and running.

结论:

在这种情况下,符号链接不仅是您得到的最佳答案,而且也是一个体面且可接受的解决方案。


hey*_*ema 5

  1. 首先,从 中删除您的编辑/etc/network/interfaces

  2. 接下来,我们删除您的静态/etc/resolv.conf文件并将其替换为原始符号链接。

    terminal

    cd /etc# 改变目录

    sudo rm -i resolv.conf# 删除静态文件

    sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf# 重新创建符号链接

    现在不要手动编辑此文件!

  3. 最后,在此处设置您的 DNS 服务器。

    设置DNS Automatic为关闭。输入以逗号分隔的 DNS IP 地址。

    截屏