5154

Good Luck To You!

linux dns添加域名解析

编辑 /etc/hosts,添加 IP 域名 条目,保存后生效,实现

Linux DNS添加域名解析完整指南

DNS基础概念解析

1 什么是DNS

DNS(Domain Name System)是互联网的电话簿,负责将人类可读的域名(如www.example.com)转换为机器可识别的IP地址(如192.168.1.1),整个系统由分布式数据库和分层命名空间组成,包含根DNS服务器、顶级域服务器和权威DNS服务器。

linux dns添加域名解析

2 域名解析流程

  1. 客户端发起DNS查询请求
  2. 本地DNS缓存检查
  3. 递归查询:从根服务器→顶级域服务器→权威服务器
  4. 返回查询结果并缓存

本地DNS配置方法

1 修改/etc/hosts文件

配置方法
步骤 命令/操作 说明
1 sudo nano /etc/hosts 使用文本编辑器打开hosts文件
2 添加格式:<IP> <域名> 168.1.100 myserver.local
3 保存退出 Ctrl+O保存,Ctrl+X退出
优点
  • 立即生效
  • 无需网络连接
  • 优先级最高
缺点
  • 仅适用于本地解析
  • 无法实现动态更新
  • 不适合大规模部署

2 配置本地DNS服务器

2.1 使用BIND DNS服务器
安装与配置
# Ubuntu/Debian系统
sudo aptget install bind9
# CentOS/RHEL系统
sudo yum install bind bindutils
配置文件结构
文件名 作用
named.conf 主配置文件
db.example.com 区域文件
named.conf.options 选项设置
示例配置(/etc/bind/named.conf.local)
zone "example.local" {
    type master;
    file "/etc/bind/db.example.local";
};
区域文件示例(/etc/bind/db.example.local)
$TTL    604800
@       IN      SOA     ns.example.local. admin.example.local. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.example.local.
ns      IN      A       192.168.1.1
www     IN      A       192.168.1.100
2.2 使用dnsmasq
安装与配置
# Ubuntu/Debian系统
sudo aptget install dnsmasq
# CentOS/RHEL系统
sudo yum install dnsmasq
配置示例(/etc/dnsmasq.conf)
# 启用本地DNS功能
domainneeded
boguspriv
# 添加自定义域名解析
address=/example.local/192.168.1.100

公共DNS服务配置

1 常见公共DNS服务

服务商 DNS地址 特点
Google 8.8.8 速度快,可靠性高
Cloudflare 1.1.1 隐私保护较好
AliDNS 5.5.5 国内访问速度快

2 配置网络管理器

NetworkManager配置方法
# 编辑对应连接的配置文件
sudo nmcli connection edit "Wired connection"
# 设置DNS服务器
set ipv4.dns "8.8.8.8 8.8.4.4"
save
quit
/etc/resolv.conf配置
# 默认DNS配置文件
nameserver 8.8.8.8
nameserver 8.8.4.4

高级配置与排错

1 DNS缓存管理

# 查看缓存条目
dig @1.1.1.1 www.example.com +nocmd
# 清除BIND缓存(谨慎操作)
rndc flush

2 常见问题排查

症状 可能原因 解决方案
域名解析失败 /etc/resolv.conf配置错误 检查nameserver条目是否正确
本地域名不生效 hosts文件格式错误 确保每行格式为"IP 域名"
自建DNS不工作 防火墙阻止UDP 53端口 firewallcmd addservice=dns

安全最佳实践

  1. 限制递归查询:仅允许可信客户端进行递归查询
  2. 签名DNS数据:使用DNSSEC防止中间人攻击
  3. 分离职责:部署专用DNS服务器,避免与应用服务混用
  4. 定期更新:保持BIND/dnsmasq等软件的版本更新

相关问题与解答

Q1:如何测试新配置的DNS解析是否生效?

A:可以使用以下命令进行验证:

linux dns添加域名解析

# 测试特定DNS服务器
dig @localhost example.local
# 测试公共DNS解析
dig @8.8.8.8 www.google.com
# 查看完整解析路径
dig +trace www.example.com

Q2:修改/etc/hosts和配置本地DNS服务器有什么区别?

A:主要区别如下表: | 特性 | /etc/hosts | 本地DNS服务器 | |||| | 作用范围 | 仅当前主机 | 局域网内所有设备 | | 维护成本 | 简单直接 | 需要专业维护 | | 功能扩展 | 无其他功能 | 支持动态更新、多记录类型 | | 性能影响 | 即时生效 | 需要建立服务连接 | | 适用场景 | 临时测试/单点解析 | 生产环境/多设备环境 |

linux dns添加域名解析

发表评论:

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

«    2025年6月    »
1
2345678
9101112131415
16171819202122
23242526272829
30
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.