Ubuntu怎么配置DNS?Ubuntu配置DNS永久生效方法

在Ubuntu系统中配置DNS,最推荐且持久的方法是通过修改Netplan配置文件或使用systemd-resolved服务,而非直接编辑旧的resolv.conf文件,以确保配置在重启后依然生效。

很多用户在初次接触Linux服务器或桌面版时,都会遇到网络解析慢、域名无法访问的问题,这通常是因为DNS配置不当,过去,大家习惯直接修改/etc/resolv.conf,但在现代Ubuntu版本中,这种做法往往会被系统服务覆盖,导致配置失效,我们需要一种更稳定、更符合现代Linux架构的管理方式,本文将结合不同场景,详细拆解如何在Ubuntu 22.04及更高版本中正确配置DNS,涵盖从临时测试到永久生效的多种方案。

「Ubuntu」Ubuntu 22.04 拨号上网以及修改DNS
加载中
「Ubuntu」Ubuntu 22.04 拨号上网以及修改DNS

Ubuntu配置DNS的三种主流方案对比

在深入具体操作之前,我们需要明确不同场景下的最佳实践,业内专家指出,选择配置方式应取决于你的网络环境是动态获取还是静态固定,以及你使用的是Server版还是Desktop版。

使用Netplan配置静态DNS(推荐Server版)

对于大多数Ubuntu Server用户,Netplan是默认的网络配置工具,它使用YAML格式的配置文件,结构清晰,易于版本控制。

确定网络接口名称

你需要知道当前使用的网卡名称,在终端输入`ip link`或`ip addr`,找到状态为UP的接口,通常是`ens33`、`eth0`或`enp0s3`等。

编辑Netplan配置文件

配置文件通常位于`/etc/netplan/`目录下,文件名可能类似`00-installer-config.yaml`或`50-cloud-init.yaml`,使用文本编辑器打开它:

sudo nano /etc/netplan/00-installer-config.yaml

network:层级下,找到对应的网卡接口,你需要添加或修改nameservers字段,注意YAML的缩进必须严格对齐,通常使用2个空格缩进。

Ubuntu怎么配置DNS?Ubuntu配置DNS永久生效方法

network: ethernets: ens33: dhcp4: no addresses: - 192.168.1.100/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: - 223.5.5.5 - 119.29.29.29 version: 2

在上述示例中,5.5.5是阿里云DNS,29.29.29是腾讯云DNS,你可以根据所在地域选择延迟更低的公共DNS,配置完成后,应用更改:

sudo netplan apply

通过systemd-resolved管理DNS(Desktop及新版Server通用)

Ubuntu Desktop和较新的Server版本默认使用systemd-resolved服务来管理DNS解析,这种方式更加动态,能够自动处理多网卡环境下的DNS优先级。

查看当前DNS状态

你可以使用以下命令查看当前生效的DNS服务器:

resolvectl status

配置特定接口的DNS

假设你的网卡名为`eth0`,你可以使用命令行直接配置:

sudo resolvectl dns eth0 8.8.8.8 1.1.1.1

这条命令会立即生效,但重启网络服务或系统后可能会失效,因为它没有写入持久化配置,为了实现永久生效,需要修改/etc/systemd/resolved.conf文件:

sudo nano /etc/systemd/resolved.conf

找到#DNS=行,取消注释并填入你的DNS服务器IP:

[Resolve]
DNS=8.8.8.8 1.1.1.1
FallbackDNS=223.5.5.5

保存后,重启服务使配置生效:

sudo systemctl restart systemd-resolved

临时修改resolv.conf(仅用于调试)

虽然不推荐作为长期方案,但在排查网络问题时,临时修改/etc/resolv.conf是最快的方法。

Ubuntu怎么配置DNS?Ubuntu配置DNS永久生效方法

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

如果系统开启了NetworkManager或systemd-resolved,这个文件可能是符号链接,直接修改会被覆盖,此方法仅适用于确认当前网络故障是否由DNS引起,而非解决根本问题。

Ubuntu配置DNS时的常见陷阱与优化

在实际操作中,许多用户会遇到配置了DNS却无法解析的情况,这通常源于以下几个细节疏忽。

YAML缩进错误

Netplan对缩进极其敏感,一个Tab键或错误的空格数都会导致配置应用失败,报错信息通常会提示”mapping values are not allowed here”,务必使用空格而非Tab,并确保addressesnameservers下的IP列表缩进一致。

DNS缓存问题

即使配置正确,浏览器或系统缓存可能导致你仍然看到旧的解析结果,在Linux中,清除DNS缓存的方法取决于你使用的解析器,如果是systemd-resolved,可以执行:

sudo resolvectl flush-caches

选择适合地域的DNS服务器

不同地区的公共DNS性能差异显著,在国内使用Cloudflare的1.1.1可能会遇到连接不稳定,而使用阿里云或腾讯云的DNS则能获得更低的延迟和更好的国内域名解析速度,据统计,多数情况下,选择就近的运营商DNS或大型云厂商的公共DNS能显著提升网页加载速度。

如何验证DNS配置是否生效

配置完成后,必须验证配置是否真正生效,不要仅依赖ping命令,因为ping可能使用缓存或默认网关的DNS。

使用dig命令

dig是更专业的DNS查询工具,你可以指定使用特定的DNS服务器进行查询:

dig @223.5.5.5 example.com

如果返回结果中的

Ubuntu怎么配置DNS?Ubuntu配置DNS永久生效方法

SERVER字段显示为你配置的IP,且ANSWER SECTION中有正确的IP地址,说明配置成功。

使用nslookup命令

nslookup同样有效:

nslookup example.com 223.5.5.5

检查resolv.conf链接

在systemd-resolved环境下,/etc/resolv.conf通常是一个指向/run/systemd/resolve/stub-resolv.conf的符号链接,你可以检查这个链接是否存在,以确认系统正在使用新的解析器:

ls -l /etc/resolv.conf

Ubuntu配置DNS相关Q&A

Ubuntu配置DNS后重启失效怎么办?

如果重启后DNS配置丢失,通常是因为你修改了错误的文件,在Netplan环境中,确保修改的是/etc/netplan/下的YAML文件,并执行了netplan apply,在systemd-resolved环境中,确保修改了/etc/systemd/resolved.conf并重启了服务,直接修改/etc/resolv.conf在大多数现代Ubuntu版本中是无效的,因为它会被网络管理服务自动重写。

如何为Ubuntu配置多个DNS服务器?

配置多个DNS服务器可以提高容错率,在Netplan中,在addresses列表中添加多个IP即可,系统会按顺序尝试,在/etc/systemd/resolved.conf中,用空格分隔多个IP,并可以将备用DNS填入FallbackDNS字段。DNS=8.8.8.8 1.1.1.1

Ubuntu配置DNS影响其他服务吗?

DNS配置主要影响基于域名解析的服务,如Web浏览、软件包更新(apt)、SSH连接等,本地局域网内的IP直连访问不受影响,某些应用程序可能拥有自己的DNS设置,不受系统全局DNS影响,但在绝大多数情况下,修改系统级DNS会全局生效,确保所有依赖域名解析的应用都能受益。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/421138.html

(0)
买GPU服务器哪家好?选购GPU服务器注意事项
上一篇 2026年6月25日 03:07
PacificRack洛杉矶VPS除夕特惠真的划算吗?洛杉矶VPS哪家性价比高
下一篇 2026年6月25日 03:10

相关推荐

  • 宝塔面板phpMyAdmin报错405怎么解决?phpMyAdmin访问被拒绝怎么修复

    宝塔面板phpMyAdmin报错405 Not Allowed通常是因为Nginx或Apache服务器配置限制了非GET/POST请求,或者伪静态规则冲突,最直接有效的解决办法是修改站点配置文件中的限制规则或关闭phpMyAdmin的强制HTTPS/安全限制,当你在宝塔面板中点击phpMyAdmin图标,或者尝……

    2026年6月20日
    2200
  • 广州6g高防虚拟主机租用价格是多少?广州高防虚拟主机哪家好

    广州6G高防虚拟主机租用价格受防御能力、带宽质量及服务商品牌溢价三重因素主导,市场均价区间为每月300元至800元,企业级高防需求建议优先选择具备本地化清洗能力的BGP线路主机,性价比与安全性远超低价方案,价格构成的核心要素广州作为华南互联网枢纽,机房资源丰富但防御成本差异显著,6G高防虚拟主机的价格并非单一数……

    2026年4月1日
    8200
  • 服务器带宽费用明细,服务器带宽一年多少钱

    服务器带宽费用明细直接决定企业IT基础设施的投入产出比,市场上所谓的“一口价”往往隐藏着诸多隐形消费,真实报价并非单一数字,而是由带宽类型、线路质量、计费模式以及增值服务共同构成的复杂体系, 企业若想获得最具性价比的方案,必须穿透价格表象,深入剖析带宽成本的结构性构成,简米科技通过整合优质骨干网资源,致力于为企……

    2026年3月6日
    14600
  • 带宽按量计费还是固定带宽划算?哪种计费方式更省钱?

    带宽按量计费还是固定带宽划算?核心结论先行:没有绝对的“划算”,只有最适合业务模型的“最优解”, 对于流量稳定、峰值与均值差距小的业务,固定带宽是性价比之王;对于流量波动剧烈、有明显波峰波谷的业务,按量计费能显著降低成本,企业必须基于“带宽利用率”这一核心指标进行测算,通常利用率低于30%选按量计费,高于70……

    2026年3月8日
    12300
  • HTML与Apache如何配合?Apache服务器配置HTML页面

    HTML是构建网页骨架的标准语言,而Apache是处理这些文件并展示给用户的服务器软件,两者配合即可在本地或云端低成本搭建静态网站,无需复杂配置即可实现内容发布,很多人误以为HTML和Apache是竞争对手,或者认为有了WordPress等CMS就不需要懂它们,HTML是内容的载体,Apache是内容的搬运工……

    2026年6月10日
    3300
  • Ubuntu和Debian怎么安装Docker?Linux服务器部署Docker详细步骤

    在Ubuntu或Debian服务器上安装Docker,最稳妥且高效的方式是通过官方APT仓库进行配置,这能确保获取到最新稳定版并避免依赖冲突,Docker容器化技术已经成为现代IT基础设施的核心组件,无论是个人开发者搭建测试环境,还是企业级应用部署,选择正确的操作系统基础至关重要,Ubuntu和Debian作为……

    2026年6月22日
    1800
  • 广州FPGA服务器上网问题怎么解决?广州FPGA服务器无法上网的解决方法

    广州FPGA服务器上网问题的核心症结,往往不在于网络带宽本身,而在于硬件加速架构与标准网络协议栈之间的兼容性冲突,解决这一问题的关键路径,在于构建一套能够充分发挥FPGA硬件卸载能力、同时兼容现有数据中心网络环境的混合组网方案,通过物理层加速与逻辑层调度的深度协同,实现低延迟、高吞吐的数据传输,网络架构设计的底……

    2026年3月31日
    9600
  • Xshell中文显示乱码怎么办?如何彻底解决终端编码问题

    Xshell中文显示乱码通常是因为终端编码与文件编码不一致,只需在Xshell会话属性中将字符编码统一设置为UTF-8即可彻底解决,在远程服务器运维的日常场景中,乱码问题几乎是每位开发者都会遇到的“拦路虎”,当你在终端里看到的不再是清晰的命令提示符,而是一堆无法识别的符号时,那种挫败感并不亚于代码编译报错,这并……

    2026年6月20日
    2800
  • 广州gpu服务器环境配置教程,广州GPU服务器环境怎么配置?

    广州GPU服务器环境配置的核心在于硬件兼容性校验、驱动程序的精准匹配以及深度学习框架的依赖隔离,成功配置的标准不仅是硬件被系统识别,更在于CUDA库与PyTorch、TensorFlow等框架的完美协同,避免版本冲突导致的算力浪费, 在实际部署中,绝大多数故障源于盲目升级驱动或忽略内核版本限制,遵循标准化的部署……

    2026年3月28日
    9400
  • WooCommerce插件模版怎么改?修改模板详细步骤教程

    修改WooCommerce插件模板的核心在于理解主题覆盖机制,通过复制并修改woocommerce至当前主题目录,即可实现安全且可维护的界面定制,许多电商运营者面对WooCommerce的默认界面时,往往感到束手无策,直接修改插件源文件是绝对禁止的操作,因为每次插件更新都会覆盖你的代码,导致所有定制成果瞬间消失……

    2026年6月21日
    2510

发表回复

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