DNS域名解析服务
DNS主服务器配置
先配置ip地址,dns配置文件中要保持一致,这里配的是192.168.10.1
[root@localhost ~]# yum -y install bind*
#通过yum的方式安装bind服务
[root@localhost ~]# vim /etc/named.conf
#编写bind服务的主配置文件,Centos7和Centos8略又不同,但要更改的部分是一样的
#省略部分内容
12 options {
13 listen-on port 53 { any; }; #更改为any
#指定域名服务监听的网络端口,默认是本机,不能对外提供服务,一般改为any ,表示任意主机,也可以删除;
14 listen-on-v6 port 53 { ::1; };
15 directory "/var/named";
#区域数据文件的默认存放位置,指定从/var/named目录下读取DNS数据文件;
16 dump-file "/var/named/data/cache_dump.db";
#域名缓存数据库文件的位置,当执行导出命令时将DNS服务器的缓存数据存储到指定的文件中;
17 statistics-file "/var/named/data/named_stats.txt";
#状态统计文件的位置,当执行统计命令时会将内存中的统计信息追加到该文件中;
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 allow-query { any; }; #更改为any
#允许哪些客户端访问DNS服务,默认是本机,一般改为“any”,表示任意主机,也可以删除;
#添加正向解析数据文件的信息 ,服务器类型是主区域,文件名为“zx”
#区域类型:master(主区域);slave(辅助区域);hint(根区域)
56 zone "sky.com" in {
57 type master; #类型为主区域
58 file "zx";
59 };
#复制上面4行,添加反向解析数据文件的信息 ,服务器类型是主区域,文件名为“fx”
60 zone "10.168.192.in-addr.arpa" in {
61 type master;
62 file "fx";
63 };
#保存退出
配置正向和反向解析文件
[root@localhost ~]# cd /var/named
[root@localhost named]# cp -p named.loopback zx
[root@localhost named]# cp -p named.loopback fx
#复制模板
#复制时应加“-p”选项,保留权限,
#否则复制的时候,其他人没有读取的权限,服务启动成功后,不会解析域名的。不然的话,执行以下命令:
[root@localhost named]# chmod o+r benet.com.zone
#给文件添加其他人可读的权限
#编写正向区域配置文件
[root@localhost named]# vim zx
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns.sky.com. //最后是有 . 的,别掉了
dns IN A 192.168.10.1 //本机ip
www IN A 192.168.10.10
ftp IN CNAME www
@:引用当前域名
IN:index记录
SOA:主从认证、授权方面的记录
nsl.benet.com.:主域名
serial:序列号。可以供从服务器判断何时获取新数据的。
refresh:指定多长时间从服务器要与主服务器进行核对,
retry:如果从服务器试图检查主服务器的序列号时,主服务器没有响应,则经过这个时间后将重新进行检查
expire:将决定从服务器在没有主服务器的情况下权威地持续提供域数据服务的时间长短
minimum:高速缓存否定回答的存活时间
[root@localhost named]# vim fx
#编写反向区域配置文件
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns.sky.com.
1 IN PTR dns.sky.com.
10 IN PTR www.sky.com.
[root@localhost named]# systemctl restart named
#重启DNS服务
验证DNS解析
第一种方式:
[root@localhost named]# host dns.sky.com
dns.sky.com has address 192.168.10.1
[root@localhost named]# host -l sky.com
sky.com name server dns.sky.com.
dns.sky.com has address 192.168.10.1
www.sky.com has address 192.168.10.10
[root@localhost named]# host -l 192.168.10.1
1.10.168.192.in-addr.arpa domain name pointer dns.sky.com.
第二种方式:
[root@localhost named]# nslookup
> dns.sky.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: dns.sky.com
Address: 192.168.10.1
> www.sky.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.sky.com
Address: 192.168.10.10
> ftp.sky.com
Server: 127.0.0.1
Address: 127.0.0.1#53
ftp.sky.com canonical name = www.sky.com.
Name: www.sky.com
Address: 192.168.10.10
> 192.168.10.1
1.10.168.192.in-addr.arpa name = dns.sky.com.
> 192.168.10.10
10.10.168.192.in-addr.arpa name = www.sky.com.
搭建从域名服务器
配置ip,确保可以与主dns服务器正常通信,这里配置的是192.168.10.2
[root@localhost ~]# yum -y install bind*
#安装bind服务
[root@localhost ~]# vim /etc/named.conf
#编写主配置文件
#省略部分内容
12 options {
13 listen-on port 53 { any; };
14 listen-on-v6 port 53 { ::1; };
15 directory "/var/named";
16 dump-file "/var/named/data/cache_dump.db";
17 statistics-file "/var/named/data/named_stats.txt";
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 allow-query { any; };
20 forwarders { 192.168.10.1; };
#转发器,本机解析不了转发到192.168.10.1
57 zone "sky.com" in {
58 type slave;
#区域类型为辅助区域
59 masters { 192.168.10.1; };
#主服务器为192.168.10.1
60 file "slaves/zx";
#复制下来的文件保存到/var/named/slaves/目录下
61 allow-transfer { 192.168.10.1; };
#允许从服务器上下载正向区域配置文件
62 };
63 zone "10.168.192.in-addr.arpa" {
64 type slave;
65 masters { 192.168.10.1; };
66 file "slaves/fx";
67 };
验证:
#检查named服务数据库配置文件(也可以不检查
[root@localhost slaves]# named-checkconf -z /etc/named.conf
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
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: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
[root@localhost /]# systemctl restart named
#从主域名服务器复制的正向和反向区域文件
[root@localhost /]# ls /var/named/slaves/
fx zx
如果没有就关闭主dns服务器的防火墙,方法:
[root@localhost named]# systemctl stop firewalld.service
[root@localhost named]# setenforce 0
[root@localhost yum.repos.d]# nslookup
> dns.sky.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: dns.sky.com
Address: 192.168.10.1
> www.sky.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.sky.com
Address: 192.168.10.10
> 192.168.10.1
1.10.168.192.in-addr.arpa name = dns.sky.com.