目录
1、DNS:域名解析服务器
2、DNS解析过程
3、认识基本配置
3.1 /etc/named/文件剖析
3.2 正反向解析资源文件
4、配置主从服务器
4.1 主服务器
4.2 从服务器
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.confoptions { 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.xxxwww IN A xxx.xxx.xxx.xxxftp IN A xxx.xxx.xxx.xxxa IN A xxx.xxx.xxx.xxxaaa IN CNAME a
4、配置主从服务器
4.1 主服务器
#主服务器 192.168.81.130[root@OPEN ~]# systemctl stop firewalld[root@OPEN ~]# setenforce 0[root@OPEN ~]# vim /etc/named.confoptions { 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.100ftp IN A 192.168.81.101a IN A 192.168.81.102aaa 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.131130 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.confoptions { 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.131Default server: 192.168.81.131Address: 192.168.81.131#53> www.baidu.comServer: 192.168.81.131Address: 192.168.81.131#53Name: www.baidu.comAddress: 192.168.81.100> ftp.baidu.comServer: 192.168.81.131Address: 192.168.81.131#53Name: ftp.baidu.comAddress: 192.168.81.101> aaa.baidu.comServer: 192.168.81.131Address: 192.168.81.131#53aaa.baidu.com canonical name = a.baidu.com.Name: a.baidu.comAddress: 192.168.81.102> a.baidu.comServer: 192.168.81.131Address: 192.168.81.131#53Name: a.baidu.comAddress: 192.168.81.102> dns.baidu.comServer: 192.168.81.131Address: 192.168.81.131#53Name: DNS.baidu.comAddress: 192.168.81.130> exit