# DNS域名解析服务 主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与 IP 地址之间的对应关系。 (用于管理域名和 IP 地址对应关系的真正服务器) 从服务器:从主服务器中获得域名与 IP 地址的对应关系并进行维护,以防主服务器宕机等情况。(帮助主服务器“打下手”,分散部署在各个国家、省市或地区,以便让用户就近查询域名,从而减轻主服务器的负载压力。) 缓存服务器:通过向其他域名解析服务器查询获得域名与 IP 地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率。(缓存服务器不太常用,一般部署在企业内网的网关位置,用于加速用户的域名查询请求。) ## 1.安装bind服务程序 #### 三个关键文件 1.主配置文件(/etc/named.conf):只有 58 行,而且在去除注释信息和空行之后,实际有效的参数仅有 30 行左右,这些参数用来定义 bind 服务程序的运行。 2.区域配置文件(/etc/named.rfc1912.zones):用来保存域名和 IP 地址对应关系的所在位置。类似于图书的目录,对应着每个域和相应 IP 地址所在的具体位置,当需要查看或修改时,可根据这个位置找到相关文件。 3.数据配置文件目录(/var/named):该目录用来保存域名和 IP 地址真实对应关系的数据配置文件。 ``` [root@pf ~]# yum install bind* -y #安装所有bind服务包 ``` ## 2.DNS域名正/反向解析服务 编辑主配置文件 ``` [root@pf ~]# vim /etc/named.conf [root@pf ~]# cat /etc/named.conf listen-on port 53 { any; }; #修改括号中的内容为any; #表示本地DNS的IP地址均可以监听53端口,做为解析服务 allow-query { any; }; #修改括号中的内容为any; #表示DNS服务解析任意网段机器 ``` 编辑区域配置文件 ``` [root@pf ~]# vim /etc/named.rfc1912.zones zone "pf.com" IN { #正向解析的域名 type master; #master意为主服务器;slave意为从服务器 file "pf.com"; #文件名任意 allow-update { none; }; }; zone "188.168.192.in-addr.arpa" IN { #反向解析的域名 type master; file "188.168.192.arpa"; allow-update { none; }; ``` 复制 粘贴 编辑 pf.zone与188.168.192.arpa文件 ``` [root@pf ~]# cd /var/named/ [root@pf named]# cp -a named.localhost pf.com [root@pf named]# cp -a named.loopback 188.168.192.arpa ``` 进入pf.zone编辑正向解析文件 ``` [root@pf named]# vim pf.com [root@pf named]# cat pf.com $TTL 1D @ IN SOA pf.com. root ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ NS pf.com. A 127.0.0.1 #使用主机地址解析 AAAA ::1 www A 192.168.188.150 ``` 进入188.168.192.arpa编辑反向解析文件 ``` [root@pf named]# vim 188.168.192.arpa [root@pf named]# cat 188.168.192.arpa $TTL 1D @ IN SOA @ pf.com. root.pf.com. ( #pf.com.是指DNS区域地址 #root.pf.com.域名管理员的邮箱 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS pf.com. A 127.0.0.1 AAAA ::1 PTR localhost. 150 PTR www.pf.com. #150是IP地址最后一段;PTR是指使用指针反向解析域名 ``` 检查文件 ``` [root@pf named]# named-checkconf ``` 重启服务 ``` [root@pf named]# systemctl restart named #如果出现报错就检查前面正反解析文件和区域配置文件 ``` 定义DNS服务器IP地址 ``` [root@pf named]# vim /etc/resolv.conf [root@pf named]# cat /etc/resolv.conf # Generated by NetworkManager search localdomain nameserver 192.168.188.150 ``` 正反向解析测试 ``` [root@pf named]# nslookup www.pf.com [root@pf named]# nslookup 192.168.188.150 ``` ## 3.部署从服务器 首先从服务器安装yum仓和DNS服务 关闭防火墙 ``` [root@pf ~]# systemctl stop firewalld.service ``` 在主服务器的区域配置文件中允许该从服务器的更新请求,并进行检查语病 ``` [root@pf ~]# vim /etc/named.rfc1912.zones zone "pf.com" IN { type master; file "pf.zone"; allow-update { 192.168.188.146; }; #添加从服务器IP }; zone "188.168.192.in-addr.arpa" IN { type master; file "188.168.192.arpa"; allow-update { 192.168.188.146; }; #添加从服务器IP [root@pf ~]# named-checkconf ``` 重启主服务器DNS ``` [root@pf ~]# systemctl restart named ``` 编辑从服务器主配置文件 ``` [root@pf ~]# vim /etc/named.conf options { listen-on port 53 { all; }; listen-on-v6 port 53 { ::1; }; 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 { all; }; ``` 编辑从服务器区域配置文件 ``` [root@pf ~]# vim /etc/named.rfc1912.zones // named.rfc1912.zones: // // Provided by Red Hat caching-nameserver package // // ISC BIND named zone configuration for zones recommended by // RFC 1912 section 4.1 : localhost TLDs and address zones // and https://tools.ietf.org/html/rfc6303 // (c)2007 R W Franks // // See /usr/share/doc/bind*/sample/ for example named configuration files. // // Note: empty-zones-enable yes; option is default. // If private ranges should be forwarded, add // disable-empty-zone "."; into options // 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 "pf.com" IN { type slave; masters { 192.168.188.150; }; file "slaves/pf.zone"; }; zone "188.168.192.in-addr.arpa" IN { type slave; masters { 192.168.188.150; }; file "slaves/188.168.192.arpa"; }; ``` 检查无误后重启 ``` [root@pf ~]# named-checkconf [root@pf ~]# systemctl restart named ``` 同步文件 ``` [root@pf ~]# vim /etc/named.rfc1912.zones [root@pf ~]# cd /var/named/slaves [root@pf slaves]# ls [root@pf slaves]# vim /etc/resolv.conf [root@pf slaves]# cat /etc/resolv.conf # Generated by NetworkManager search localdomain nameserver 192.168.188.150 nameserver 192.168.188.146 ```
最后修改:2021 年 11 月 23 日
如果觉得我的文章对你有用,欢迎打赏