如何在Ubuntu 18.04上设置DNS名称服务器

域名系统(DNS)是Web基础结构的核心部分,提供了一种将域名转换为IP地址的方法。 您可以将DNS视为互联网的电话簿。

连接到Internet的每个设备均由其IP地址唯一标识。 在浏览器中键入要访问的网站时,其域名必须转换为相应的IP地址。 操作系统首先检查其主机文件中是否有相应的域,如果没有该域的条目,它将查询配置的DNS名称服务器以解析指定的域名。

域名解析后,系统将缓存该请求,并保留该域名和相应IP地址的记录。

DNS名称服务器(解析器)是其他设备用来对请求的域执行DNS查找的服务器。

通常,DNS解析器由您的ISP分配。 但是,这些解析器可能运行缓慢或未定期更新,这可能会导致在查询域,解析为错误的IP地址时出现延迟,或者有时您可能根本无法解析所需的域。

有许多免费的公共DNS解析器,这些解析器快速,私有并定期更新。

以下是一些最受欢迎的公共DNS解析器:

  • 谷歌(8.8.8.8,8.8.4.4)
  • Cloudflare(1.1.1.1和1.0.0.1)
  • OpenDNS(208.67.222.222,208.67.220.220)
  • 3级(209.244.0.3,209.244.0.4)

在本指南中,我们将说明如何在Ubuntu 18.04上配置DNS名称服务器(解析器)。

如果要为连接到本地网络的所有设备设置DNS名称服务器,那么最简单和建议的方法是在家庭路由器上进行更改。

在Ubuntu桌面上设置DNS名称服务器

在Ubuntu 18.04桌面计算机上设置DNS名称服务器非常简单,不需要任何技术知识。

  1. 启动设置窗口。

  2. 如果您连接到WiFi网络,请单击“ Wi-FI”选项卡。 否则,如果您有有线连接,请单击“网络”选项卡。

  3. 选择要为其设置DNS名称服务器的连接,然后单击齿轮图标以打开网络管理器。

  4. 选择“ IPv4设置”选项卡。

  5. 禁用“自动”切换开关,然后输入DNS解析器的IP地址(以逗号分隔)。 我们将使用Google DNS名称服务器:

  6. 单击“应用”按钮以保存更改。

更改将立即生效,除非您的系统或应用程序缓存了DNS条目。

如果要切换回原来的设置,请打开“网络管理器”,转到“ IPv4设置”并启用“自动”切换开关。

在Ubuntu Server上设置DNS名称服务器

过去,只要您想在Linux中配置DNS解析器,只需打开 /etc/resolv.conf 文件,编辑条目,保存文件,一切顺利。 该文件仍然存在,但是它是由systemd-resolved服务控制的符号链接,不应手动对其进行编辑。

systemd-resolved是一项为本地服务和应用程序提供DNS名称解析的服务,可以使用Ubuntu 18.04上的默认网络管理工具Netplan进行配置。

Netplan配置文件存储在 /etc/netplan 目录。 您可能会在此目录中找到一个或两个YAML文件。 各个安装程序的文件名可能不同。 通常,文件名为 01-netcfg.yaml 要么 50-cloud-init.yaml 但在您的系统中,可能有所不同。

这些文件使您可以配置网络接口,包括IP地址,网关,DNS名称服务器等。

要配置DNS名称服务器,请使用文本编辑器打开接口配置文件:

sudo nano /etc/netplan/01-netcfg.yaml

该文件的内容如下所示:

/etc/netplan/01-netcfg.yaml

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

要配置接口的DNS名称服务器,请使用首选DNS服务器更改当前IP地址。 例如,如果您想使用Cloudflare的DNS服务器,则可以更改 addresses 行到:

      nameservers:
          addresses: [1.1.1.1, 1.0.0.1]

DNS服务器必须用逗号分隔。 您还可以添加两个以上的名称服务器。

如果该条目不存在,则将其添加到接口名称块下。 编辑Yaml文件时,请确保您遵循YAML代码缩进标准。 如果配置中存在语法错误,则Netplan将无法解析该文件。

完成后,保存文件并应用以下更改:

sudo netplan apply

Netplan将为systemd解析的服务生成配置文件。

要验证是否设置了新的DNS解析器,请运行以下命令:

systemd-resolve --status | grep 'DNS Servers' -A2

systemd-resolve -status 打印很多信息。 我们正在使用 grep 过滤“ DNS服务器”字符串。 输出将如下所示:

         DNS Servers: 1.1.1.1
                      1.0.0.1

结论#

Netplan是Ubuntu 18.04上的默认网络管理工具,它取代了 /etc/resolv.conf/etc/network/interfaces 在先前的Ubuntu版本中用于配置网络的配置文件。

dns ubuntu

Sidebar