首页 > 运维 > linux运维 > 正文

如何配置LinuxDNS服务器 resolv.conf文件详解

P粉602998670
发布: 2025-08-25 10:49:01
原创
1104人浏览过

resolv.conf是linux系统中dns解析的核心配置文件,位于/etc/resolv.conf,用于定义dns服务器地址、搜索域及解析行为选项;1. nameserver指定最多3个dns服务器ip,系统按顺序尝试;2. search设置最多6个域名后缀用于不完整域名的自动补全;3. domain定义主机主域名,会被search覆盖,不应与search共存;4. options配置解析器参数,如timeout、attempts、rotate和ndots以优化查询行为;实际配置需注意该文件常为符号链接,由systemd-resolved或networkmanager动态管理,手动修改可能被覆盖;永久配置应通过nmcli、netplan等工具进行,避免直接编辑文件;验证可通过cat查看配置,nslookup、dig测试解析,systemd-resolve查看状态,确保dns生效,正确理解resolv.conf有助于排查网络与解析问题。

如何配置LinuxDNS服务器 resolv.conf文件详解

在Linux系统中,

resolv.conf
登录后复制
文件是DNS解析的核心配置文件,它决定了系统如何查找域名对应的IP地址。虽然现代Linux发行版大多使用
systemd-resolved
登录后复制
NetworkManager
登录后复制
动态管理DNS,但理解
resolv.conf
登录后复制
的结构和配置仍然非常重要。


一、resolv.conf 文件的作用

resolv.conf
登录后复制
是DNS解析器(resolver)的配置文件,位于
/etc/resolv.conf
登录后复制
。当系统需要解析域名(如访问网站、ping域名等)时,会读取该文件中的DNS服务器地址和搜索规则,来完成域名到IP的转换。


二、resolv.conf 常见配置项详解

以下是

resolv.conf
登录后复制
中常见的配置指令及其含义:

1.
nameserver
登录后复制
(DNS服务器地址)

指定DNS服务器的IP地址,最多可配置3个。

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 114.114.114.114
登录后复制
  • 系统会按顺序尝试这些DNS服务器,失败后切换下一个。
  • 推荐使用可靠的公共DNS或企业内部DNS服务器。
  • 不要配置过多
    nameserver
    登录后复制
    ,通常1~3个足够。

2.
search
登录后复制
(搜索域)

设置默认的域名搜索后缀。当你输入一个不完整的域名(如

host1
登录后复制
),系统会自动尝试在这些域中查找。

search example.com local.net
登录后复制

此时执行:

ping host1
登录后复制

系统会依次尝试解析:

  • host1.example.com
    登录后复制
  • host1.local.net
    登录后复制
⚠️ 注意:search 最多只能设置6个域,且不建议设置过多,以免影响解析效率。

3.
domain
登录后复制
(本地域名)

设置本地主机的主域名,通常由系统自动设置,与主机名相关。

domain example.com
登录后复制
  • 如果设置了
    domain
    登录后复制
    ,它会作为默认的搜索域(相当于
    search example.com
    登录后复制
    )。
  • search
    登录后复制
    domain
    登录后复制
    不应同时使用,否则
    search
    登录后复制
    会覆盖
    domain
    登录后复制

4.
options
登录后复制
(解析器选项)

用于调整DNS解析行为,支持多个参数,常见如下:

options timeout:2 attempts:3 rotate
登录后复制

常用选项说明:

  • timeout:seconds
    登录后复制
    :每次DNS查询超时时间(默认5秒)
  • attempts:n
    登录后复制
    :重试次数(默认2次)
  • rotate
    登录后复制
    :轮询使用
    nameserver
    登录后复制
    ,避免始终使用第一个
  • ndots:n
    登录后复制
    :当域名中点的数量 ≥ n 时,优先使用完整域名解析(如
    ndots:2
    登录后复制
    a.b.c
    登录后复制
    直接解析,不加search后缀)

示例:

options ndots:1
登录后复制
可让
google.com
登录后复制
这类域名不经过 search 域拼接,提升解析效率。

琅琅配音
琅琅配音

全能AI配音神器

琅琅配音208
查看详情 琅琅配音

三、resolv.conf 的实际配置示例

# /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114
search example.com dev.local
options timeout:2 attempts:3 rotate
登录后复制

这个配置表示:

  • 使用Google和国内114公共DNS
  • 解析不完整域名时,先查
    example.com
    登录后复制
    ,再查
    dev.local
    登录后复制
  • 每次查询最多2秒超时,最多尝试3次,轮询DNS服务器

四、注意事项与常见问题

1. 文件可能被自动覆盖

现代Linux系统中,

/etc/resolv.conf
登录后复制
通常是符号链接,指向由
systemd-resolved
登录后复制
NetworkManager
登录后复制
动态生成的文件。

ls -l /etc/resolv.conf
# 输出可能为:
# lrwxrwxrwx 1 root root 39 Apr 1 10:00 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
登录后复制
  • 如果你手动修改该文件,重启网络或系统后可能被重置。
  • 正确做法:通过网络管理工具配置DNS。

2. 如何永久配置DNS?

  • 使用NetworkManager(桌面或服务器常用):

    nmcli con modify "网络连接名" ipv4.dns "8.8.8.8 114.114.114.114"
    nmcli con modify "网络连接名" ipv4.dns-search "example.com"
    nmcli con up "网络连接名"
    登录后复制
  • 修改Netplan(Ubuntu 18.04+):

    编辑

    /etc/netplan/*.yaml
    登录后复制

    network:
      version: 2
      ethernets:
        eth0:
          dhcp4: no
          addresses:
            - 192.168.1.100/24
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 114.114.114.114]
            search: [example.com, local.net]
    登录后复制

    应用配置:

    sudo netplan apply
    登录后复制
  • 静态修改(不推荐,除非无动态管理)

    如果确定系统不使用

    systemd-resolved
    登录后复制
    ,可直接编辑
    /etc/resolv.conf
    登录后复制
    ,但建议先备份:

    sudo cp /etc/resolv.conf /etc/resolv.conf.bak
    echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
    登录后复制

    并设置文件为只读防止被覆盖:

    sudo chattr +i /etc/resolv.conf   # 锁定文件
    sudo chattr -i /etc/resolv.conf   # 解锁(后续可修改)
    登录后复制

五、验证DNS配置是否生效

# 查看当前resolv.conf内容
cat /etc/resolv.conf

# 测试域名解析
nslookup google.com
dig example.com

# 查看DNS解析统计(如果使用systemd-resolved)
systemd-resolve --status

# 临时测试使用特定DNS
dig @8.8.8.8 google.com
登录后复制

基本上就这些。

resolv.conf
登录后复制
虽然简单,但它是Linux网络通信的基石之一。理解其配置逻辑,能帮助你快速排查网络连接、域名解析失败等问题。关键是:别只改文件,要看系统由谁在管理它。

以上就是如何配置LinuxDNS服务器 resolv.conf文件详解的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号