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

2023-11-11

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

连接到互联网的每台设备均由其 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 服务器上设置 DNS 名称服务器#

过去,每当您想在 Linux 中配置 DNS 解析器时,您只需打开/etc/resolv.conf文件,编辑条目,保存文件,然后就可以开始了。该文件仍然存在,但它是symlink由 systemd-resolved 服务控制,不应手动编辑。

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

Netplan配置文件存储在/etc/netplan目录。您可能会在此目录中找到一两个 YAML 文件。文件名可能因设置而异。通常,该文件的名称为01-netcfg.yaml or 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 and /etc/network/interfaces在以前的 Ubuntu 版本中用于配置网络的配置文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 18.04 上设置 DNS 名称服务器 的相关文章

随机推荐

  • Magento 2 代码库和数据库备份脚本

    本教程将帮助您使用 shell 脚本自动执行 Magento2 代码库和数据库备份过程 该脚本将按计划的时间间隔执行自动备份 该脚本还能够根据配置删除较旧的备份 设置Magerun2 您需要在系统上下载并配置 Magerun2 脚本 wge
  • 如何使用 Mysqlcheck 检查和修复 MySQL 表

    数据库管理系统是现代软件应用程序无缝运行不可或缺的一部分 MySQL 是世界上使用最广泛的关系数据库管理系统之一 随着数据库的增长和发展 确保其中表的完整性 性能和运行状况至关重要 这就是 Mysqlcheck 发挥作用的地方 1 Mysq
  • 如何在 Ubuntu 20.04 上使用 VSFTPD 设置 FTP 服务器

    本文介绍如何在 Ubuntu 20 04 上安装和配置 FTP 服务器 用于在设备之间共享文件 FTP 文件传输协议 是一种标准网络协议 用于在远程网络之间传输文件 有多种可用于 Linux 的开源 FTP 服务器 最知名和最广泛使用的是P
  • 如何在 Ubuntu 20.04 上添加交换空间

    交换空间是磁盘上的空间 当物理 RAM 内存已满时使用 当 Linux 系统耗尽 RAM 时 非活动页面将从 RAM 移至交换空间 交换空间可以采用专用交换分区或交换文件的形式 通常 在虚拟机上运行 Ubuntu 时 不存在交换分区 唯一的
  • 如何在 Debian 9 上安装和配置 Redmine

    Redmine 是一款免费的开源项目管理和问题跟踪应用程序 它是跨平台和跨数据库的 构建在 Ruby on Rails 框架之上 Redmine包括对多个项目 wiki 问题跟踪系统 论坛 日历 电子邮件通知等的支持 在本教程中 我们将向您
  • 如何在 Debian 10 上设置 WireGuard VPN

    WireGuard 是一种通用 VPN 虚拟专用网络 采用最先进的加密技术 与其他流行的 VPN 解决方案 例如 IPsec 和 相比OpenVPN 线卫通常速度更快 更容易配置并且占用空间更小 它是跨平台的 几乎可以在任何地方运行 包括
  • 如何在 Ubuntu 20.04 上安装 Plex 媒体服务器

    Plex 是一款流媒体服务器 可让您组织视频 音乐和照片集 并将媒体随时随地流式传输到计算机 手机 平板电脑或电视 Plex 媒体服务器可以安装在所有主要操作系统和设备上 本文介绍了如何安装Plex 媒体服务器在 Ubuntu 20 04
  • 如何在 Debian 9 上使用 Apache 安装和保护 phpMyAdmin

    phpMyAdmin 是一个免费 开源的基于 PHP 的应用程序 旨在通过基于 Web 的界面简化 MySQL 和 MariaDB 服务器的管理 phpMyAdmin 允许您管理 MySQL 数据库 用户帐户和权限 执行 SQL 语句 以各
  • 在 Linux 中查找大文件

    随着时间的推移 您的磁盘驱动器可能会因大量不必要的文件而变得混乱 占用大量磁盘空间 通常 Linux 系统会因日志或备份文件过大而耗尽磁盘空间 本教程介绍如何使用以下命令查找 Linux 系统中最大的文件和目录find and du命令 使
  • 如何在 Debian 10 上安装 Apache Maven

    Apache Maven 是一个开源项目管理和理解工具 主要用于 Java 项目 Maven 使用项目对象模型 POM 它本质上是一个 XML 文件 其中包含有关项目 配置详细信息 项目依赖项等的信息 本文展示了在 Debian 10 上安
  • 如何在 Linux 中删除/移除用户(userdel 命令)

    Linux 是一个多用户系统 这意味着多个人可以同时与同一个系统交互 作为系统管理员 您有责任通过以下方式管理系统的用户和组创建新用户并将它们分配给不同的groups 有时 您可能需要删除用户帐户 也许是因为用户离开了组织 或者它是为不再在
  • 如何在 CentOS 7 上设置 Nginx 服务器块

    Nginx Server Blocks 允许您在一台机器上运行多个网站 这很有用 因为对于每个站点 您可以指定站点文档根 包含网站文件的目录 创建单独的安全策略 使用不同的 SSL 证书等等 在本教程中 我们将解释如何在 CentOS 7
  • 如何在 Ubuntu 20.04 上安装 VirtualBox

    虚拟盒子是开源跨平台虚拟化软件 允许您同时运行多个来宾操作系统 虚拟机 一般来说 Virtualbox 被桌面用户用作测试和开发环境 在本教程中 我们将向您展示在 Ubuntu 20 04 上安装 VirtualBox 的两种方法 来自标准
  • Bash For 循环

    循环是编程语言的基本概念之一 当您想要一遍又一遍地运行一系列命令直到达到特定条件时 循环会很方便 在 Bash 等脚本语言中 循环对于自动执行重复任务非常有用 Bash 脚本中有三种基本的循环结构 for loop while 循环 and
  • 如何在 Ubuntu 20.04 上安装 MySQL

    MySQL是最流行的开源关系数据库管理系统 它速度快 易于使用 可扩展 是流行的LAMP and LEMP stacks 本指南介绍了如何在 Ubuntu 20 04 上安装 MySQL 并确保其安全 先决条件 确保您以以下身份登录具有 s
  • 在 Ubuntu 18.04 上使用 Let's Encrypt 保护 Apache

    Let s Encrypt 是由互联网安全研究小组 ISRG 创建的证书颁发机构 它通过完全自动化的流程提供免费的 SSL 证书 旨在消除手动证书创建 验证 安装和续订 Let s Encrypt 颁发的证书受到当今所有主要浏览器的信任 在
  • Linux 中的 RPM 命令

    RPM 包管理器 RPM 是 Red Hat Linux 及其衍生产品 例如 CentOS 和 Fedora 使用的功能强大的包管理系统 RPM 也指rpm命令和 rpm文件格式 RPM 包由文件和元数据的存档组成 其中包括依赖项和安装位置
  • 如何在 Debian 9 上安装 Nginx

    Nginx 是一个开源 高性能的 HTTP 和反向代理服务器 为互联网上一些最大的网站提供支持 Nginx 可以用作独立的 Web 服务器 也可以用作反向代理 for Apache和其他网络服务器 与 Apache 相比 Nginx 可以处
  • 如何在 Linux 中将用户添加到组

    在本教程中 我们将解释如何在 Linux 系统中将用户添加到组 我们还将向您展示如何从组中删除用户以及如何创建 删除和列出组 Linux 群组 Linux 组是用于组织和管理 Linux 中的用户帐户的组织单位 组的主要目的是定义一组权限
  • 如何在 Ubuntu 18.04 上设置 DNS 名称服务器

    域名系统 DNS 是网络基础设施的核心部分 提供了一种将域名转换为 IP 地址的方法 您可以将 DNS 视为互联网的电话簿 连接到互联网的每台设备均由其 IP 地址唯一标识 当您在浏览器中输入要访问的网站时 必须将其域名转换为相应的IP地址