目录
1、DNS:域名解析服务器
我们通常记忆域名,例如www.baidu.com,而不记百度的ip地址为128.13.45.56,所以我们的服务器需要将我们输入的域名转换为ip地址,才能进入百度,此称为域名解析服务器,简洁概括为将域名转换为IP地址就被称为域名解析服务器。
DNS:53/TCP-UDP
2、DNS解析过程
权威域名服务器表:完整记录所有域
权威域名服务器(baidu.com) -----> 顶级域名服务器(.com) -----> 根域名服务器
首先在浏览器的地址栏里面输入域名www.baidu.com,浏览器首先会检查缓存和本地的host文件有没有该域名所对应的ip,若有,则直接使用;若没有,DNS客户端就会向本地的DNS服务器(比如中国电信,中国移动)发送请求,询问www.baidu.com的ip地址是多少,本地的DNS服务器收到请求后,先查看自己的缓存记录,若有,则直接返回给我们;若没有,则会给根域名服务器发送请求,询问.com顶级域名服务器的ip地址是多少,根域名服务器会返回顶级域名服务器的ip地址给本地DNS服务器,然后本地DNS服务器按照这个地址找到.com的顶级域名服务器,询问baidu.com的权威域名服务器的ip地址是多少,然后.com顶级服务器会返回baidu.com的权威域名服务器的ip地址给本地DNS服务器,然后根据此地址找到baidu.com的权威域名服务器,询问www.baidu.com的ip地址是多少,baidu.com的权威域名服务器会返回www.baidu.com的ip地址,最后本地DNS服务器将www.baidu.com的ip地址返回给你的电脑。
3、认识基本配置
3.1 /etc/named/文件剖析
/etc/named.rfc1912.zones:#主配置文件
/etc/named.conf/ #bind的配置信息
# vim /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; }; #ipv4监听端口 127位测试ip
#listen-on-v6 port 53 { ::1; }; #ipv6监听端口
directory "/var/named"; #数据文件的主路径
dump-file "/var/named/data/cache_dump.db"; #数据库文件,查询数据备份文件
statistics-file "/var/named/data/named_stats.txt"; #静态文件,查询数据备份文件
memstatistics-file "/var/named/data/named_mem_stats.txt";#内存数据相关信息
secroots-file "/var/named/data/named.secroots";#数据安全相关文件信息
recursing-file "/var/named/data/named.recursing";#递归查询的数据文件信息
allow-query { localhost; };#允许请求的主机
recursion yes; #开启递归查询
dnssec-validation yes;
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
logging {
channel default_debug {
file "data/named.run";
severity dynamic;#动态显示
};
zone "." IN { #根域“.”,IN:internat
type hint;
file "named.ca";
}; # 根的缓存服务器
include "/etc/named.rfc1912.zones";# rfc1912.zones定义格式
include "/etc/named.root.key";# root.key加载私钥文件
/var/named/named.ca:#根服务器信息
/var/named/named.empty:#区域数据库配置样例
/var/named/named.localhost:localhost#正向解析
/var/named/named.loopback:localhost#反向解析
/var/named/slaves # 从dns服务器文件夹
3.2 正反向解析资源文件
资源记录文件:TTL可以为全局变量
1、正向解析的资源记录文件(A\SOA)
主机名 TTL 缓存时间 IN(internat) 资源记录的类型 数据
2、反向解析的资源记录文件(SOA\NS\PTR)
IP TTL 缓存时间 IN(internat) 资源记录的类型 域名信息 邮箱地址(版本、检查时间、重试时间、失效时间、ttl)
资源记录类型查看:[root@OPEN named]# vim /var/named/named.ca
资源记录的类型:
A:通过域名能够查询到对应ipv4
AAAA:通过域名能够查询到对应ipv6
CNAME:别名资源记录 www.baidu.com wwww.baidu.com
PTR:指针记录 通过ipv4或者ipv6查询到一个域名(完整主机名)
NS:DNS解析记录类型(标记DNS服务器的主机名)
MX:邮件解析记录类型(标记邮件服务器的主机名)
SOA:起始授权记录(主从服务数据同步)
五个参数:(更新频率、失败重新尝试的时间、失效时间、缓存时间)
时间单位:时间单位:M(分钟),H(小时),D(天),W(周),默认是秒
[root@OPEN named]# vim /var/named/baidu
$TTL 1D
;master域 IN SOA 数据 邮箱地址 ( 五个参数 )
@ IN SOA @ admin@admin.com. (
2024011400
1D
1H
3H
1D )
@ IN NS DNS.baidu.com.
DNS IN A xxx.xxx.xxx.xxx
www IN A xxx.xxx.xxx.xxx
ftp IN A xxx.xxx.xxx.xxx
a IN A xxx.xxx.xxx.xxx
aaa IN CNAME a
4、配置主从服务器
4.1 主服务器
#主服务器 192.168.81.130
[root@OPEN ~]# systemctl stop firewalld
[root@OPEN ~]# setenforce 0
[root@OPEN ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.81.130; };
directory "/var/named";
allow-query { any; };
allow-transfer { 192.168.81.131; }; #------增加从服务器
recursion yes;
zone "baidu.com" IN {
type master;
file "baidu";
};
zone "81.168.192.in-addr.arpa" IN {
type master;
file "130";
};
[root@OPEN ~]# vim /var/named/baidu #-------修改正向解析资源记录文件
$TTL 1D
;master域 IN SOA 数据 邮箱地址 ( 五个参数 )
@ IN SOA @ admin.admin.com. (
2024011400
1D
1H
3H
1D )
@ IN NS DNS.baidu.com.
DNS IN A 192.168.81.130
@ IN NS dns.abidu.com. #------从服务器dns域名
dns IN A 192.168.81.131 #------从服务器返回ipv4地址
www IN A 192.168.81.100
ftp IN A 192.168.81.101
a IN A 192.168.81.102
aaa IN CNAME a
[root@OPEN ~]# vim /var/named/130 #--------修改反向解析资源记录文件
$TTL 1D
;master域 IN SOA 数据 邮箱地址 ( 五个参数 )
@ IN SOA @ admin.admin.com. (
2024011400
1D
1H
3H
1D )
@ IN NS DNS.baidu.com.
DNS IN A 192.168.81.130
@ IN NS dns.abidu.com.
dns IN A 192.168.81.131
130 IN PTR DNS.baidu.com.
131 IN PTR dns.baidu.com. #------反向解析域名
100 IN PTR www.baidu.com.
101 IN PTR ftp.baidu.com.
102 IN PTR a.baidu.com.
102 IN PTR aaa.baidu.com.
[root@OPEN ~]# systemctl restart named
4.2 从服务器
#从服务器 192.168.81.131
[root@slave ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.81.131; }; #从服务器监听端口
directory "/var/named";
allow-query { any; };
};
zone "baidu.com" IN {
type slave; #设置为从服务器
file "slaves/named.baidu";
masters { 192.168.81.130; }; #编辑主服务的ipv4地址
};
zone "81.168.192.in-addr.arpa" IN {
type slave; #设置为从服务器
file "slaves/named.131";
masters { 192.168.81.130; }; #编辑主服务器ipv4地址
};
[root@slave ~]# systemctl restart named
#测试
[root@slave ~]# nslookup
> server 192.168.81.131
Default server: 192.168.81.131
Address: 192.168.81.131#53
> www.baidu.com
Server: 192.168.81.131
Address: 192.168.81.131#53
Name: www.baidu.com
Address: 192.168.81.100
> ftp.baidu.com
Server: 192.168.81.131
Address: 192.168.81.131#53
Name: ftp.baidu.com
Address: 192.168.81.101
> aaa.baidu.com
Server: 192.168.81.131
Address: 192.168.81.131#53
aaa.baidu.com canonical name = a.baidu.com.
Name: a.baidu.com
Address: 192.168.81.102
> a.baidu.com
Server: 192.168.81.131
Address: 192.168.81.131#53
Name: a.baidu.com
Address: 192.168.81.102
> dns.baidu.com
Server: 192.168.81.131
Address: 192.168.81.131#53
Name: DNS.baidu.com
Address: 192.168.81.130
> exit