如何更改 /etc/resolv.conf 中的 DNS 服务器?

如何更改 /etc/resolv.conf 中的 DNS 服务器?

我已经安装了 dnsmasq 并禁用了 systemd-resolved。dnsmasq 将仅使用本地 hosts.dnsmasq 并且不会转发任何请求。

addn-hosts=/home/users/hosts.dnsmasq
resolv-file=

问题是我的 /etc/resolv.conf 被覆盖,名称服务器设置为 127.0.0.1,即 dnsmasq,我想将其设置为 8.8.8.8

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.1

如何手动将名称服务器设置为 8.8.8.8?

将名称服务器配置为 /etc/resolvconf/resolv.conf.d/base 不起作用。

Ubuntu 22.04.2 LTS

编辑 1:更改 /etc/netplan/50-cloud-init.yaml 中的服务器不会产生任何影响。这是 OVH 的 VPS 中的默认设置。

    nameservers:
        addresses:
        - 213.186.33.99
        search: []

答案1

文件 /etc/default/dnsmasq 中有一个设置 DNSMASQ_EXCEPT

# If the resolvconf package is installed, dnsmasq will tell resolvconf
# to use dnsmasq under 127.0.0.1 as the system's default resolver.
# Uncommenting this line inhibits this behaviour.
#DNSMASQ_EXCEPT="lo"

DNSMASQ_EXCEPT="lo"将从 /etc/resolv.conf 中删除 127.0.0.1 并且您可以手动添加nameserver 8.8.8.8

答案2

您告诉其中一个操作工具/etc/resolv.conf添加它。如果您使用 wifi,请查看网络设置和选项卡 ipv4;当您禁用“自动”时,它有一个 DNS 选项。

还有网络计划中将会有一个例子,/etc/netplan但是使用 google DNS 的通用版本将是:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      addresses:
        - 192.168.121.1/24
      gateway4: 192.168.1.1
      nameservers:
          addresses: [8.8.8.8, 8.8.4.4]

8.8.4.4作为第二个 DNS。

相关内容