一、什么是DNS
DNS 是域名服务 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。
域名服务器是指保存有该网络中所有主机的域名和对应IP地址,
并具有将域名转换为IP地址功能的服务器。
域名必须对应一个IP地址,而IP地址不一定有域名。
域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。
将域名映射为IP地址的过程就称为"域名解析"。
在Internet上域名与IP地址之间是一对一(或者多对一)的,
也可采用DNS轮循实现一对多,域名虽然便于人们记忆,
但机器之间只认IP地址,它们之间的转换工作称为域名解析,
域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
DNS 命名用于 Internet等 TCP/IP网络中,通过用户友好的名称查找计算机和服务。
当用户在应用程序中输入 DNS 名称时,
DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。
因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,
这样才能上网。其实,域名的最终指向是IP
二、域名的规则
域名空间结构:【例:】www.baidu.com.
根域:com后面的用"."表示
顶级域:顶级域分为组织域和国家或地区域。
组织域采用3个字符代号,如.com .edu .gov
国家或地区域,采用两个字符代号。如.cn .jp
二级域:二级域注册到个人、组织或者公司名称,如baidu、taobao等
主机名称:主机名称处于域名空间的最底层,主机名与上述各级域名结合构成FQND(完全合格域名),如www。
注意:每个域用一个点号“.”分开
三、DNS服务的作用
1.核心作用:实现域名与 IP 地址的双向翻译
【例】用户在浏览器输入 www.baidu.com,DNS 服务器将其解析为百度服务器的 IP 地址(如 14.215.177.38),从而建立网络连接;网络设备(如防火墙、服务器)通过 IP 地址反查域名,用于日志记录、访问控制或故障排查(如判断某个 IP 是否属于可信域名)。
扩展作用:支撑网络服务的高效与稳定
【例】实现负载均衡与流量分配;提高服务冗余与高可用性;提高网络安全与访问控制
四、域名查询的过程
DNS查询类别:
递归查询:发生在客户端和DNS服务器之间
迭代查询:发送在DNS服务器和DNS服务器之间
DNS解析方式:
正向解析:将FQDN解析为对应的IP
反向解析:将IP解析为对应的FQDN
四.DNS重要的配置文件及目录解释
/etc/hosts 本地解析配置文件
/etc/resolv.conf 客户端的DNS指向
named DNS服务名称
bind,bind-chroot DNS安装软件包
/var/named DNS的家目录
/etc/named.conf 映射的DNS主配置文件
/var/named/chroot/etc/named.rfc1912.zones 记录DNS正向和反向的全局解析配置文件
/var/named/named.localhost 正向解析的配置文件模板
/var/named/named.empty 反向解析的配置文件模板
/etc/named.conf 映射的DNS主配置文件
/var/named/chroot/etc/named.rfc1912.zones全局解析配置文件
五,DNS 服务器类型(主 DNS 与辅助 DNS)
主 DNS 服务器(Primary/Authoritative DNS)
定义:负责维护特定域名区域(Zone)的原始数据,是该区域的权威数据源。
权限:可直接修改域名记录(如 A、MX、CNAME 等),并生成更新序列号(Serial)。
存储:区域文件存储在本地(如 /var/named/example.com.db)。
辅助 DNS 服务器(Secondary DNS)
定义:从主 DNS 服务器同步区域数据,提供冗余备份和负载分担。
权限:只读,无法直接修改记录,需通过主 DNS 更新。
同步机制:通过 AXFR/IXFR 协议定期检查主 DNS 的序列号,发现更新时拉取全量或增量数据
定义域和网段的映射关系分为:正向解析(FQDN → IP)和 反向解析(IP → FQDN)
六、使用bind方式搭建主DNS服务器
目标:通过位置我们可以将192.168.100.10和ycy2.example.com相互转换
1.配置本地yum仓库
挂载yum仓库
mount /dev/cdrom /mnt/
配置主DNS服务器
安装bind、bind-chroot软件
yum -y install bind bind-chroot
2.进入vim /etc/named.conf,编辑DNS服务器主配置文件
##反向解析全局配置文件
zone "localhost.localdomain" IN {
type master;
file "named.localhost";
allow-update { none; };
};
zone "localhost" IN { ##将这五行复制粘贴到末尾
type master;
file "named.localhost";
allow-update { none; };
};
##反向解析全局配置文件
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
zone "0.in-addr.arpa" IN { ##以及这五行粘贴到文件末尾
type master;
file "named.empty";
allow-update { none; };
};
##粘贴在文件末尾再去修改,因为我们一般不去修改源文件的配置
zone "localhost" IN { ##localhost修改为域名:example.com
type master; ##表示主DNS服务器类型
file "named.localhost"; ##文件名
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.empty";
allow-update { none; };
};
3.编辑正向和反向解析全局配置文件
将存放正向和反向解析的配置文件模板复制一份,且保持源文件的属性
/var/named/named.localhost 正向解析的配置文件模板
/var/named/named.empty 反向解析的配置文件模板
cd /var/named
cp -p named.localhost ycy.com
cp -p named.empty com.ycy
(1)编辑正向解析文件
vim /var/named/ycy.com
(2)编辑反向解析文件
vim /var/named/com.ycy
**$TTL 1D:**缓存周期为1天
**SOA:**起始授权记录,就是由谁让你做解析的,即DNS服务器
**serial:**序列号,可以随便写
**refresh:**定义辅助DNS刷新的时间,也就是说辅助DNS会隔多久同步主dns解析数据。
**retry:**表示重试延迟,也就是说辅助dns第一次同步数据失败,那么就需要隔多久(就是retry来定义)来同步
**expire:**表示失效的时间,超过这个时间,辅助DNS一直同步数据失败,那么该辅助DNS服务器将失效,则不会再去同步主DNS数据。
**minimum:**表示定义无效解析的缓存时间。
一个FQDN只能对应一个IP,但是一个IP可以对应多个FQDN。
4,重启服务
systemctl restart named
systemctl enable named
5.配置关闭防火墙,关闭SELinux
systemctl stop firewalld#关闭防火墙
systemctl disable firewalld#设置开启自启
setenforce 0#设置SElinux状态为全部允许访问模式
getenforce#查看SWlinux状态
6.在另一台设备网卡配置文件中配置DNS为服务器的IP:192.168.100.10
vim /etc/sysconfig/network-scripts/ifcfg-ens33
7.验证
nslookup
评论前必须登录!
注册