5154

Good Luck To You!

linux 设置静态 dns怎么设置

在Linux中,编辑/etc/resolv.conf添加nameserver行,或通过netplan/NetworkManager配置DNS,保存后重启

Linux 设置静态 DNS 的详细指南

在 Linux 系统中,设置静态 DNS(域名系统)可以解决动态分配 DNS 导致的不稳定问题,或绕过 ISP 提供的 DNS 服务,本文将详细介绍如何在主流 Linux 发行版中配置静态 DNS,涵盖多种场景和持久化设置方法。


DNS 基础概念

术语 说明
DNS 域名系统,负责将域名(如 google.com)转换为 IP 地址(如 250.72.78)。
静态 DNS 手动指定 DNS 服务器地址,而非通过 DHCP 自动获取。
resolv.conf Linux 系统的 DNS 配置文件,存储 DNS 服务器地址。

主流 Linux 发行版设置方法

Ubuntu/Debian 系列

方法 1:直接修改 /etc/resolv.conf
sudo nano /etc/resolv.conf
```示例使用 Google DNS):
```plaintext
nameserver 8.8.8.8
nameserver 8.8.4.4

注意:此方法在重启或网络重启后可能失效(由 NetworkManager 覆盖)。

方法 2:通过 NetworkManager 持久化设置
sudo nmcli connection edit "Wired connection 1" # 替换为你的连接名称

在交互式命令中输入:

linux 设置静态 dns怎么设置

set ipv4.dns "8.8.8.8 8.8.4.4"
save
quit

重启网络服务:

sudo systemctl restart NetworkManager

CentOS/RHEL 系列

方法 1:修改 /etc/sysconfig/networkscripts/ifcfgeth0
sudo vi /etc/sysconfig/networkscripts/ifcfgeth0

添加以下行:

DNS1=8.8.8.8
DNS2=8.8.4.4

重启网络服务:

linux 设置静态 dns怎么设置

sudo systemctl restart network
方法 2:使用 resolv.conf 结合 chmod
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "nameserver 8.8.4.4" | sudo tee a /etc/resolv.conf
sudo chmod 644 /etc/resolv.conf # 防止被 NetworkManager 覆盖

Arch Linux 系列

方法 1:修改 /etc/resolv.conf
sudo nano /etc/resolv.conf
nameserver 1.1.1.1
nameserver 9.9.9.9

持久化:禁用 systemdresolved 服务(如果启用):

sudo systemctl stop systemdresolved
sudo systemctl disable systemdresolved

多发行版通用方法

场景 命令/操作
临时设置 直接修改 /etc/resolv.conf,立即生效但非持久。
持久化设置 通过 NetworkManager 或网络服务配置文件(如 ifcfg*)设置。
验证 DNS 使用 nslookupdig 测试解析:
nslookup www.google.com

常见问题与解决方案

问题 原因 解决方案
设置后无效 NetworkManager 覆盖配置
网络服务未重启
通过 NetworkManager 设置
执行 sudo systemctl restart NetworkManager
DNS 解析慢 使用了延迟较高的 DNS 服务器 更换为就近的公共 DNS(如阿里 5.5.5)。
无法联网 DNS 配置错误或网络中断 检查 /etc/resolv.conf 语法,或暂时恢复默认设置。

推荐公共 DNS 服务器

服务商 IPv4 地址 特点
Google 8.8.8
8.4.4
全球覆盖,稳定可靠。
Cloudflare 1.1.1
0.0.1
隐私保护,无日志记录。
AliDNS 5.5.5
6.6.6
国内优化,低延迟。

相关问题与解答

问题 1:如何恢复默认 DNS 设置?

解答

  1. 删除或注释 /etc/resolv.conf 中的自定义 DNS。
  2. 通过 NetworkManager 重置连接配置:
    sudo nmcli connection reset "YourConnectionName"
  3. 重启网络服务:
    sudo systemctl restart NetworkManager

问题 2:如何设置多个 DNS 服务器?

解答
/etc/resolv.conf 或 NetworkManager 配置中,按优先级顺序添加多个 nameserver 行。

linux 设置静态 dns怎么设置

nameserver 8.8.8.8    # 主用 DNS
nameserver 1.1.1.1     # 备用 DNS
nameserver 9.9.9.9     # 第三备选

系统会按顺序尝试

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年6月    »
1
2345678
9101112131415
16171819202122
23242526272829
30
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.