目录
1、DNS:域名解析服务器
我们通常记忆域名,例如https://blog.csdn.net/qq_73831912/article/details/www.baidu.com,而不记百度的ip地址为128.13.45.56,所以我们的服务器需要将我们输入的域名转换为ip地址,才能进入百度,此称为域名解析服务器,简洁概括为将域名转换为IP地址就被称为域名解析服务器。
DNS:53/TCP-UDP
2、DNS解析过程
权威域名服务器表:完整记录所有域
权威域名服务器(baidu.com) -----> 顶级域名服务器(.com) -----> 根域名服务器
首先在浏览器的地址栏里面输入域名https://blog.csdn.net/qq_73831912/article/details/www.baidu.com,浏览器首先会检查缓存和本地的host文件有没有该域名所对应的ip,若有,则直接使用;若没有,DNS客户端就会向本地的DNS服务器(比如中国电信,中国移动)发送请求,询问https://blog.csdn.net/qq_73831912/article/details/www.baidu.com的ip地址是多少,本地的DNS服务器收到请求后,先查看自己的缓存记录,若有,则直接返回给我们;若没有,则会给根域名服务器发送请求,询问.com顶级域名服务器的ip地址是多少,根域名服务器会返回顶级域名服务器的ip地址给本地DNS服务器,然后本地DNS服务器按照这个地址找到.com的顶级域名服务器,询问baidu.com的权威域名服务器的ip地址是多少,然后.com顶级服务器会返回baidu.com的权威域名服务器的ip地址给本地DNS服务器,然后根据此地址找到baidu.com的权威域名服务器,询问https://blog.csdn.net/qq_73831912/article/details/www.baidu.com的ip地址是多少,baidu.com的权威域名服务器会返回https://blog.csdn.net/qq_73831912/article/details/www.baidu.com的ip地址,最后本地DNS服务器将https://blog.csdn.net/qq_73831912/article/details/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:别名资源记录 https://blog.csdn.net/qq_73831912/article/details/www.baidu.com whttps://blog.csdn.net/qq_73831912/article/details/www.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 https://blog.csdn.net/qq_73831912/article/details/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 > https://blog.csdn.net/qq_73831912/article/details/www.baidu.com Server: 192.168.81.131 Address: 192.168.81.131#53 Name: https://blog.csdn.net/qq_73831912/article/details/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