百度
360搜索
搜狗搜索

linux命令行修改dns详细介绍

在 Linux 系统中修改 DNS 服务器地址的方法因发行版或网络管理工具的不同而有所差异,以下是几种常见的操作方式:

一、临时修改(重启后失效)

直接修改 /etc/resolv.conf 文件(DNS 客户端配置文件),适用于临时测试:
bash

/etc/resolv.conf

nameserver .114.114

nameserver .8.8

注意:部分系统(如 Ubuntu)的 /etc/resolv.conf 是符号链接(指向 /run/systemd/resolve/stub-resolv.conf 或其他动态生成的文件),直接修改会被覆盖,需配合其他方法实现持久化。

二、永久修改(推荐)

方法 1:通过 systemd-resolved(适用于使用 systemd 的系统)

systemd-resolved 是 systemd 提供的 DNS 解析服务,配置文件为 /etc/systemd/resolved.conf

  1. 编辑配置文件:
    bash
      /etc/systemd/resolved.conf

  2. 找到 [Resolve] 部分,取消注释并修改 DNS 字段(多个 DNS 用空格分隔):
    conf
    [Resolve]

    DNS=114.114.114.114 8.8.8.8

    # FallbackDNS=9.9.9.9 1.1.1.1 # 可选:备用 DNS

    # Domains=~. # 可选:特定域名的 DNS 覆盖

  3. 重启 systemd-resolved 服务使配置生效:
    bash
     systemctl restart systemd-resolved

  4. 验证(需确保 /etc/resolv.conf 指向 systemd-resolved 的缓存文件):
    bash

    /etc/resolv.conf

    www.baidu.com

方法 2:通过 NetworkManager(适用于桌面环境或使用 NetworkManager 的系统)

NetworkManager 是 Linux 常用的网络管理工具,可通过配置文件或命令行持久化 DNS。

方式 A:编辑 NetworkManager 配置文件

  1. 进入 NetworkManager 配置目录(通常为 /etc/NetworkManager/conf.d//etc/NetworkManager/system-connections/):
    bash
     /etc/NetworkManager/conf.d/

  2. 创建或编辑一个自定义配置文件(例如 99-dns.conf):
    bash
      -dns.conf

  3. 添加以下内容(强制使用指定 DNS):
    conf
    [main]

    dns=static

  4. 编辑具体网络连接的 DNS(以有线连接为例):

    • 进入连接配置目录:bash
       /etc/NetworkManager/system-connections/

    • 找到你的网络连接文件(如 Wired connection 1.nmconnection),用文本编辑器打开:bash
        

    • [ipv4] 部分添加 DNS:conf
      [ipv4]

      dns=114.114.114.114;8.8.8.8;

      dns-search=

      method=auto

  5. 重启 NetworkManager 服务:
    bash
     systemctl restart NetworkManager

方式 B:使用 nmcli 命令(命令行工具)

通过 nmcli 命令直接修改当前网络连接的 DNS 配置:

  1. 查看当前网络连接名称:
    bash
    nmcli connection show

  2. 修改指定连接的 DNS(假设连接名为 Wired):
    bash
     nmcli connection modify Wired ipv4.dns 

    nmcli connection modify Wired ipv4.dns-search

  3. 重启连接使配置生效:
    bash
     nmcli connection down Wired   nmcli connection up Wired

三、验证 DNS 是否生效

修改后可通过以下命令验证 DNS 配置:
bash

/etc/resolv.conf

www.google.com

www.baidu.com

注意事项

  • 部分服务器系统(如 CentOS、Debian 服务器版)可能默认不启用 NetworkManager,需通过 /etc/network/interfaces(Debian 系)或 /etc/sysconfig/network-scripts/ifcfg-*(RedHat 系)配置 DNS。
  • 所有系统级配置修改需使用 sudo 获得管理员权限。
  • 若 DNS 未生效,可能是缓存问题,可尝试重启网络服务或使用 systemd-resolvedresolvectl flush-caches 清理缓存。

阅读更多 >>>  linux命令修改终端背景色

网站数据信息

"linux命令行修改dns"浏览人数已经达到21次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux命令行修改dns的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!