5154

Good Luck To You!

linux dns设置成什么

可设置为公共DNS如8.8.8.8或1.1.1.1,编辑/etc/resolv

Linux系统中DNS配置详解

DNS基础概念

1 什么是DNS?

DNS(Domain Name System)是互联网的核心协议之一,负责将人类可读的域名(如www.example.com)转换为计算机可识别的IP地址(如192.0.2.1),它通过分布式数据库实现全球域名解析。

2 DNS工作流程

  1. 客户端发起域名解析请求
  2. 系统查询本地DNS缓存
  3. 向配置的DNS服务器发送递归查询
  4. DNS服务器返回解析结果
  5. 结果缓存至本地提升访问效率

Linux系统DNS配置方式

Linux系统主要通过以下三种方式配置DNS:

配置方式 适用场景 优先级
/etc/resolv.conf 所有Linux系统通用 最低(可能被网络管理覆盖)
NetworkManager 桌面发行版(Ubuntu/Fedora等) 中等
传统网络脚本 服务器发行版(CentOS/Debian等) 最高

1 直接编辑/etc/resolv.conf

# 示例配置文件
nameserver 8.8.8.8    # Google公共DNS
nameserver 8.8.4.4
search example.com     # 域名后缀补全
options ndots:1        # 解析规则设置

注意事项

  • 该文件会被网络管理器自动覆盖
  • 建议搭配权限保护:chmod 644 /etc/resolv.conf
  • 多nameserver按顺序查询,第一个失败则尝试下一个

2 NetworkManager配置(GNOME桌面)

适用于Ubuntu Desktop/Fedora Workstation等:

linux dns设置成什么

# 打开网络配置界面
nmconnectioneditor
# 配置步骤:
1. 选择当前网络连接
2. 切换到IPv4设置页签
3. 选择"Automatic (DHCP) addresses only"
4. 在DNS栏添加自定义服务器
5. 保存并重启网络连接

3 传统网络脚本配置(CentOS/RHEL)

编辑 /etc/sysconfig/networkscripts/ifcfgeth0

# 添加以下配置项
DNS1=8.8.8.8
DNS2=8.8.4.4
DEFROUTE=yes
PEERDNS=no          # 禁用DHCP分配的DNS
PEERROUTES=no       # 禁用DHCP路由

主流发行版配置对比表

发行版 配置文件路径 生效方式 持久化方法
Ubuntu Server /etc/resolv.conf 立即生效 需修改NetworkManager配置
CentOS 7 /etc/sysconfig/networkscripts/ifcfg* 网络重启生效 修改配置文件
Debian /etc/resolv.conf + /etc/network/interfaces 立即生效 使用ifup接口配置
Fedora nmcli/nmtui 立即生效 NetworkManager配置文件
Arch Linux /etc/resolv.conf 立即生效 手动编辑+权限保护

公共DNS服务推荐

服务商 IP地址 特点
Google 8.8.8 / 8.8.4.4 速度快,全球节点覆盖
Cloudflare 1.1.1 / 1.0.0.1 隐私优先,无日志记录
OpenDNS 67.222.222 / 208.67.220.220 家庭用户友好,安全功能丰富
AliDNS 5.5.5 / 223.6.6.6 国内访问优化,中文支持
Quad9 9.9.9 安全拦截,阻止恶意域名

DNS配置验证方法

1 基本连通性测试

# 测试域名解析
ping www.baidu.com
# 显示完整解析路径
dig www.baidu.com +trace
# 查询DNS服务器信息
systemdresolve status

2 NSLookup高级用法

# 指定DNS服务器查询
nslookup example.com 8.8.8.8
# 查询MX记录
nslookup query=mx example.com
# 查询TXT记录
nslookup query=txt example.com

3 系统级调试

# 查看DNS缓存
sudo systemctl status systemdresolved
# 清除DNS缓存(不同发行版命令不同)
sudo systemdresolve flushcaches    # systemdresolved
sudo /etc/init.d/networking restart    # SysVinit系统

常见问题与解决方案

1 DNS配置不生效怎么办?

症状 解决方案
只能访问IP不能访问域名 检查/etc/resolv.conf配置,确认nameserver有效且网络连通
部分域名无法解析 添加备用DNS服务器,检查search域配置是否正确
配置被自动覆盖 Ubuntu系统需修改/etc/NetworkManager/NetworkManager.conf中的[dnsconfiguration]段
无线/有线网络表现不同 检查对应网络接口的配置文件(如ifcfgwlan0/ifcfgeth0)

2 如何诊断DNS问题?

  1. 检查网络连接:ip a查看网络接口状态
  2. 测试基础连通性:ping 8.8.8.8
  3. 验证DNS配置:cat /etc/resolv.conf
  4. 执行详细查询:dig example.com @8.8.8.8
  5. 检查防火墙设置:firewallcmd listall
  6. 查看系统日志:journalctl xe | grep resolved

进阶配置技巧

1 自定义搜索域

/etc/resolv.conf中添加:

search localdomain.com subdomain.localdomain.com

效果:输入hostname时会自动补全为hostname.localdomain.com

2 配置DNS超时时间

编辑/etc/sysctl.conf添加:

linux dns设置成什么

net.ipv4.neigh.default.gc_thresh3 = 1000   # ARP缓存相关
net.ipv4.udp_timeout_after_stream = 30      # UDP会话超时(单位秒)

应用配置:sudo sysctl p

3 搭建本地DNS缓存服务器

使用dnsmasq实现:

# 安装服务
sudo apt install dnsmasq
# 配置/etc/dnsmasq.conf
cachesize=1000             # 缓存条目数
noresolv                   # 不读取/etc/resolv.conf
address=/localnet/192.168.1.1 # 特定域名定向解析

安全最佳实践

  1. 限制DNS查询范围:在防火墙配置中仅允许UDP/TCP 53端口出站
  2. 启用DNSSEC验证:在/etc/resolv.conf添加options edns0 trustad
  3. 使用加密DNS协议:部署DoH(DNS over HTTPS)或DoT(DNS over TLS)
  4. 定期清理缓存:通过cron定时执行systemdresolve flushcaches
  5. 分离内外网DNS:为内网服务配置专用DNS服务器,防止外部DNS泄露

相关问题与解答

Q1:如何测试自定义DNS配置是否生效?

A:可以使用以下组合命令验证:

# 查看当前DNS配置
cat /etc/resolv.conf
# 使用指定DNS进行查询
dig @8.8.8.8 www.google.com
# 对比不同DNS的响应时间
for server in 8.8.8.8 1.1.1.1; do echo "$server"; dig @$server www.baidu.com +short; done

Q2:在多网卡系统中如何为不同接口指定独立DNS?

A:可以通过以下方式实现:

linux dns设置成什么

  1. 传统网络脚本方式:在/etc/sysconfig/networkscripts/ifcfgethX中为每个接口单独配置DNS1/DNS2
  2. NetworkManager方式:为每个网络连接单独配置DNS服务器
  3. 系统分区方式:使用/etc/resolv.conf配合条件路由规则,
    # 根据目标IP选择DNS服务器(需要iproute2工具包)
    ip rule add to 192.168.1.0/24 lookup dns_lan
    ip rule add to 10.0.0.0/8 lookup dns_wan

创建专用路由表

echo "nameserver 192.168.1.1" > /etc/dnslan.conf echo "nameserver 8.8.8.8" > /etc/dns

发表评论:

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

«    2025年8月    »
123
45678910
11121314151617
18192021222324
25262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.