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有助于排查网络与解析问题。

在Linux系统中,
resolv.conf
systemd-resolved
NetworkManager
resolv.conf
resolv.conf
/etc/resolv.conf
以下是
resolv.conf
nameserver
指定DNS服务器的IP地址,最多可配置3个。
nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver 114.114.114.114
nameserver
search
设置默认的域名搜索后缀。当你输入一个不完整的域名(如
host1
search example.com local.net
此时执行:
ping host1
系统会依次尝试解析:
host1.example.com
host1.local.net
⚠️ 注意:search 最多只能设置6个域,且不建议设置过多,以免影响解析效率。
domain
设置本地主机的主域名,通常由系统自动设置,与主机名相关。
domain example.com
domain
search example.com
search
domain
search
domain
options
用于调整DNS解析行为,支持多个参数,常见如下:
options timeout:2 attempts:3 rotate
常用选项说明:
timeout:seconds
attempts:n
rotate
nameserver
ndots:n
ndots:2
a.b.c
示例:
可让options ndots:1登录后复制这类域名不经过 search 域拼接,提升解析效率。google.com登录后复制
# /etc/resolv.conf nameserver 8.8.8.8 nameserver 114.114.114.114 search example.com dev.local options timeout:2 attempts:3 rotate
这个配置表示:
example.com
dev.local
现代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
使用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 # 解锁(后续可修改)
# 查看当前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
以上就是如何配置LinuxDNS服务器 resolv.conf文件详解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号