讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux系统配置本地DNS解析 加速服务器内网访问

雨萱姑娘_3504

雨萱姑娘_3504

发布时间:2026-04-10 14:58:03

|

545人浏览过

|

来源于php中文网

原创

改/etc/resolv.conf不生效是因为systemd-resolved或NetworkManager接管并覆盖该文件;需通过对应服务配置DNS,如编辑/resolved.conf设DNS及~域名分流,或用nmcli修改连接DNS设置。

linux系统配置本地dns解析 加速服务器内网访问

为什么改 /etc/resolv.conf 不生效?

很多用户手动改了 /etc/resolv.conf,加了内网 DNS(比如 10.0.0.2),但 nslookup 或服务访问仍走公网 DNS,甚至重启后文件被重写。这是因为现代 Linux(尤其是 systemd 系统)默认由 systemd-resolved 或 NetworkManager 管理该文件,直接编辑会被覆盖。

真正起作用的是上游解析器配置,不是这个文件本身。判断方式:ls -l /etc/resolv.conf —— 如果是软链接指向 /run/systemd/resolve/stub-resolv.conf 或 /run/NetworkManager/resolv.conf,就说明被接管了。

  • 用 systemctl is-active systemd-resolved 查是否启用 systemd-resolved
  • 用 nmcli dev show | grep DNS 查 NetworkManager 当前 DNS 设置
  • 临时验证:运行 sudo systemd-resolve --set-dns=10.0.0.2 --interface=eth0(仅当前会话有效)

给 systemd-resolved 配内网 DNS(推荐)

这是最干净、兼容性最好的方案,尤其适合 Ubuntu 20.04+、CentOS 8+ 等默认启用 systemd-resolved 的系统。它支持 per-interface DNS、缓存、fallback 机制,且不破坏原有网络管理逻辑。

操作分两步:先禁用 stub 模式(避免环路),再为指定网卡配 DNS。

  • 编辑 /etc/systemd/resolved.conf,取消注释并修改:
    [Resolve]<br>DNS=10.0.0.2<br>FallbackDNS=8.8.8.8 114.114.114.114<br>Domains=~example.local ~corp
    (~example.local 表示该域名及子域强制走此处 DNS)
  • 重启服务:sudo systemctl restart systemd-resolved
  • 确认生效:resolvectl status eth0(看 DNS servers 是否含 10.0.0.2)

注意:Domains 行的波浪号 ~ 很关键 —— 没它,内网域名仍可能被转发到 fallback DNS;有它,才实现「内网域名走内网 DNS,其他走 fallback」的分流效果。

VLAN Linux Client
VLAN Linux Client

管理 VLAN.CN Linux 客户端的安装、登录、组网连接、服务控制及网络诊断操作。

下载

NetworkManager 用户怎么设?

如果你用 nmcli 或桌面环境(GNOME/KDE)管理网络,直接改 resolved.conf 可能被 NM 覆盖。正确做法是通过 NM 的 connection 配置 DNS:

  • 查当前连接名:nmcli connection show(通常叫 Wired connection 1 或 System eth0)
  • 设 DNS 和搜索域:sudo nmcli connection modify "Wired connection 1" ipv4.dns "10.0.0.2 8.8.8.8"
    sudo nmcli connection modify "Wired connection 1" ipv4.dns-search "corp.example.com"
  • 关闭自动获取 DNS:sudo nmcli connection modify "Wired connection 1" ipv4.ignore-auto-dns yes
  • 重启连接:sudo nmcli connection down "Wired connection 1" && sudo nmcli connection up "Wired connection 1"

此时 /etc/resolv.conf 会指向 NM 生成的版本,内容包含你指定的 DNS。验证:cat /etc/resolv.conf 应看到 nameserver 10.0.0.2。

绕过 systemd/NM:直接写死 /etc/resolv.conf(慎用)

某些嵌入式或容器化场景需要绝对控制权,可停掉 systemd-resolved 和 NetworkManager 的 DNS 管理,手动锁定 /etc/resolv.conf。

  • 停服务:sudo systemctl stop systemd-resolved && sudo systemctl disable systemd-resolved
  • 删软链,建新文件:
    sudo rm /etc/resolv.conf && sudo tee /etc/resolv.conf <<'EOF'<br>nameserver 10.0.0.2<br>nameserver 8.8.8.8<br>search corp.example.com<br>EOF
  • 加只读锁防覆盖:sudo chattr +i /etc/resolv.conf(后续要改需先 chattr -i)

风险点:若系统依赖 systemd-resolved 的 DNSSEC 或 LLMNR 功能,停用后部分服务(如某些 Avahi 场景)可能异常;chattr +i 后忘了解锁,升级或重装网络组件会失败。

真正难的不是加一行 nameserver,而是搞清谁在管 DNS、谁有最终解释权——多一层抽象,就多一个覆盖点。内网加速效果好不好,取决于请求是否真进了你的 10.0.0.2,而不是看起来写了它。

热门AI工具

更多
LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

3330

2025.09.10

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

3750

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3253

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2333

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

5630

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

5282

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3133

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2645

2023.07.20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

0

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn