添加dns的命令行

DNS的命令行示例(以Ubuntu为例):`sudo nano /etc/resolv.

在Linux系统中添加DNS的命令行操作指南

在Linux系统中,正确配置DNS(域名系统)是确保网络连接和互联网访问正常的关键步骤,通过命令行添加或修改DNS设置,可以灵活地管理系统的网络配置,特别是在需要自动化部署或远程管理时尤为重要,本文将详细介绍如何在常见的Linux发行版中通过命令行添加DNS服务器。

理解DNS及其重要性

什么是DNS?

DNS(Domain Name System)是将人类可读的域名(如www.example.com)转换为计算机可识别的IP地址(如192.0.2.1)的系统,它类似于电话簿,帮助设备在网络中找到目标服务器的位置。

为什么需要添加DNS?

  • 提高网络访问速度:选择响应速度快的DNS服务器可以加快域名解析速度。
  • 增强网络安全:使用可信的DNS服务器可以减少被恶意网站劫持的风险。
  • 解决网络连接问题:当默认DNS服务器不可用或不稳定时,添加备用DNS可以提高网络的可靠性。

检查当前DNS配置

在进行任何更改之前,首先需要了解当前的DNS配置,可以使用以下命令查看当前的DNS设置:

cat /etc/resolv.conf

输出示例如下:

# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4

上述输出显示当前系统使用的是Google的公共DNS服务器。

添加新的DNS服务器

临时添加DNS(不保存重启)

直接编辑/etc/resolv.conf文件可以临时添加DNS服务器,但这些更改在系统重启后可能会丢失,具体取决于系统的网络管理方式。

  1. 打开resolv.conf文件进行编辑:

    sudo nano /etc/resolv.conf
  2. 添加新的DNS服务器,例如使用Cloudflare的DNS:

    nameserver 1.1.1.1
    nameserver 1.0.0.1
  3. 保存并退出编辑器(在nano中,按Ctrl + O保存,Ctrl + X退出)。

注意:如果系统使用NetworkManager或其他网络管理工具,/etc/resolv.conf可能会在网络重启时被覆盖,临时更改适用于立即生效但不需要持久化的场景。

永久添加DNS(通过网络管理器)

对于大多数现代Linux发行版,推荐使用NetworkManager来永久添加DNS服务器。

使用nmcli命令

nmcli是NetworkManager的命令行接口,允许你管理网络连接和配置。

步骤:

a. 列出所有网络连接:

   nmcli connection show

输出示例:

   NAME                UUID                                  TYPE      DEVICE
   Wired connection 1  a1b2c3d4e5f67g8h9i0jkmnlpqrstuvw  ethernet  eth0

b. 选择要修改的网络连接名称,例如"Wired connection 1"

c. 添加新的DNS服务器:

   nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8 8.8.4.4 1.1.1.1"

说明:上述命令将Google和Cloudflare的DNS服务器添加到指定的网络连接中,你可以根据需要调整DNS地址。

d. 应用更改:

添加dns的命令行

   nmcli connection up "Wired connection 1"

使用NetworkManager图形界面(如果可用)

如果你有图形界面访问权限,可以通过以下步骤添加DNS:

  1. 打开“网络连接”设置。
  2. 选择你要修改的网络连接,点击“编辑”。
  3. 转到“IPv4设置”标签页。
  4. 在“DNS服务器”字段中添加新的DNS地址,使用空格分隔多个地址。
  5. 保存并应用更改。

编辑Netplan配置文件(适用于Ubuntu 18.04+等使用Netplan的系统)

某些Linux发行版,如Ubuntu 18.04及以上版本,使用Netplan进行网络配置,以下是如何通过编辑Netplan配置文件来添加DNS服务器。

步骤:

  1. 查找当前的网络接口名称:

    ifconfig

    或者

    ip link show

    假设网络接口为enp3s0

  2. 编辑Netplan配置文件,通常位于/etc/netplan/目录下,文件名可能为01netcfg.yaml或类似名称。

    sudo nano /etc/netplan/01netcfg.yaml
  3. 在相应的网络接口配置中添加dns条目,添加Google和Cloudflare的DNS:

    network:
      version: 2
      ethernets:
        enp3s0:
          dhcp4: yes
          dns:
            8.8.8.8
            1.1.1.1
  4. 保存并退出编辑器。

  5. 应用Netplan配置:

    sudo netplan apply

注意:编辑Netplan配置文件时需谨慎,错误的配置可能导致网络连接中断,建议在修改前备份原配置文件。

验证DNS配置是否生效

添加或修改DNS服务器后,务必验证配置是否生效,可以使用以下命令进行测试:

查看当前的DNS服务器

cat /etc/resolv.conf

应显示你刚刚添加的DNS服务器地址。

使用systemdresolve查询DNS信息(适用于使用systemdresolved的系统)

systemdresolve status

该命令将显示当前的DNS服务器列表及其他相关信息。

添加dns的命令行

测试域名解析

使用dignslookup命令测试域名解析是否正常,使用dig查询www.google.com

dig www.google.com

如果配置正确,应该会返回Google的IP地址及相关信息。

常见问题排查

问题1:添加的DNS服务器未生效

可能原因

  • /etc/resolv.conf被网络管理工具覆盖。
  • DNS配置未正确应用或保存。
  • 网络接口未重新加载配置。

解决方法

  • 确保使用正确的方法永久添加DNS(如通过NetworkManager或Netplan)。

  • 检查网络管理工具的配置,确保DNS设置已正确保存。

  • 重启网络服务或网络接口以应用更改。

    sudo systemctl restart NetworkManager

    sudo ifdown enp3s0 && sudo ifup enp3s0

问题2:无法连接到任何网络资源

可能原因

  • 错误配置了DNS服务器,导致域名解析失败。
  • 添加的DNS服务器不可达或未响应。
  • 网络连接本身存在问题。

解决方法

  • 检查/etc/resolv.conf中的DNS服务器地址是否正确且可达,可以使用ping命令测试:

    ping 8.8.8.8
  • 如果DNS服务器不可达,尝试更换为其他可靠的DNS服务器,如Google(8.8.8.8)、Cloudflare(1.1.1.1)等。

  • 确保网络连接正常,可以访问其他网络资源或使用IP地址直接访问网站。

    添加dns的命令行

相关问题与解答

问题1:如何在不使用NetworkManager的情况下永久添加DNS服务器?

解答:如果不使用NetworkManager,可以通过编辑网络服务的配置文件来永久添加DNS服务器,具体步骤取决于你所使用的Linux发行版和网络管理工具,对于使用ifupdown的系统,可以在/etc/network/interfaces文件中添加dnsnameservers行:

sudo nano /etc/network/interfaces

在对应的接口配置中添加:

auto enp3s0
iface enp3s0 inet dhcp
    dnsnameservers 8.8.8.8 1.1.1.1

保存后,重新启动网络服务:

sudo ifdown enp3s0 && sudo ifup enp3s0

问题2:如何删除不需要的DNS服务器?

解答:删除不需要的DNS服务器的方法与添加类似,具体取决于你使用的网络管理工具。

  • 通过编辑/etc/resolv.conf:打开文件并删除不需要的nameserver行,然后保存。

    sudo nano /etc/resolv.conf

    删除或注释掉不需要的行,然后保存退出。

  • 通过NetworkManager (nmcli):首先查看当前的DNS服务器:

    nmcli connection show "Wired connection 1" | grep 'dns'

    然后修改连接,移除不需要的DNS服务器,移除8.4.4

    nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8 1.1.1.1"
    nmcli connection up "Wired connection 1"
  • 通过Netplan:编辑Netplan配置文件,删除不需要的DNS条目,然后应用配置:

    sudo nano /etc/netplan/01netcfg.yaml

    修改dns部分,

    dns:
      1.1.1.1

    保存并应用:

    sudo netplan apply

来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/207505.html

Like (0)
小编小编
Previous 2025年6月2日 10:40
Next 2025年6月2日 10:51

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注