DNS域名解析服务
服务操作解析
先配置ip地址,dns配置文件中要保持一致,这里配的是192.168.10.1
C7是ens33 C8 是ens160 可能会变
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens160
BOOTPROTO=static
IPADDR=192.168.10.1
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
C7重启:
[root@localhost ~]# systemctl restart network
C8重启:
[root@localhost ~]# nmcli connection reload ens160
[root@localhost ~]# nmcli connection up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)
这地方不知道为什么,改成这个ip后yum就爆炸了,把多余的CentOS-Linux-文件删掉才能用
[root@localhost ~]# yum -y install bind* 或 yum install -y bind bind-chroot
#通过yum的方式安装bind服务
#编写bind服务的主配置文件,Centos7和Centos8略又不同,但要更改的部分是一样的
[root@localhost ~]# vim /etc/named.conf
#省略部分内容
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 ~]# 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; };
57 include "/etc/named.rfc1912.zones"; //这个就是下面的正反向解析模板和定义文件
正反向解析文件改在这个文件下定义,这个文件是专门配置正反向解析的,也有案例,直接修改即可
[root@localhost ~]# vim /etc/named.rfc1912.zones
13 zone "sky.com" IN { //正向解析文件
14 type master;
15 file "zx";
16 allow-update { none; };
17 };
31 zone "10.168.192.in-addr.arpa" IN { //反向解析文件
32 type master;
33 file "fx";
34 allow-update { none; };
35 };
[root@localhost ~]# cd /var/named
[root@localhost named]# cp -a named.loopback zx //-a和-p都可以
[root@localhost named]# cp -a named.loopback fx
#编写正向区域配置文件
[root@localhost named]# vim zx
$TTL 1D 管理员邮箱(可以不改)
@ IN SOA dns.sky.com. rname.invalid. (
域名 0 ; serial #更新序列号,10位以内数字,用于主从同步,主服务器这个数值要大于从服务器否则无法同步
域名最好还是更改为本机域名 1D ; refresh #刷新时间
因为如果有多台dns服务器,使用@可能会出问题 1H ; retry #重试刷新时间间隔
1W ; expire #失效时间,超过该时间则放弃
3H ) ; minimum #无效解析记录的生存周期
NS dns.sky.com. //最后是有 . 的,别掉了
dns A 192.168.10.1 //一定是本机ip(dns服务器的ip)
www A 192.168.10.10
ftp CNAME www //定义别名(打不打都不影响)
@:引用当前域名(第一个@)
IN:index记录(可以不打这个)
SOA:主从认证、授权方面的记录(起始授权机构)
dns.sky.com.:主域名
serial:序列号。可以供从服务器判断何时获取新数据的。
refresh:指定多长时间从服务器要与主服务器进行核对,
retry:如果从服务器试图检查主服务器的序列号时,主服务器没有响应,则经过这个时间后将重新进行检查
expire:将决定从服务器在没有主服务器的情况下权威地持续提供域数据服务的时间长短
minimum:高速缓存否定回答的存活时间
[root@localhost named]# vim fx
#编写反向区域配置文件
$TTL 1D
@ IN SOA dns.sky.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.sky.com. //注意都有 . 哦
1 PTR dns.sky.com.
10 PTR www.sky.com.
[root@localhost named]# systemctl restart named
#重启DNS服务
[root@localhost ~]# cd /var/named
[root@localhost named]# cp -p named.loopback zx //-a和-p都可以
[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 dns.sky.com. rname.invalid. (
域名 0 ; serial #更新序列号,10位以内数字,用于主从同步,主服务器这个数值要大于从服务器否则无法同步
域名最好还是更改为本机域名 1D ; refresh #刷新时间
因为如果有多台dns服务器,使用@可能会出问题 1H ; retry #重试刷新时间间隔
1W ; expire #失效时间,超过该时间则放弃
3H ) ; minimum #无效解析记录的生存周期
@ IN NS dns.sky.com. //最后是有 . 的,别掉了
dns IN A 192.168.10.1 //一定是本机ip(dns服务器的ip)
www IN A 192.168.10.10
ftp IN CNAME www //定义别名
@:引用当前域名(第一个@)
IN:index记录(可以不打这个)
SOA:主从认证、授权方面的记录(起始授权机构)
dns.sky.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服务
验证
[root@localhost ~]# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.10.1 //改为自己的ip
第一种方式:
[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.comcanonical name = www.sky.com.
Name:www.sky.com
Address: 192.168.10.10
> 192.168.10.1
1.10.168.192.in-addr.arpaname = dns.sky.com.
> 192.168.10.10
10.10.168.192.in-addr.arpaname = 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.arpaname = dns.sky.com.
[root@localhost ~]# yum install -y bind-*
[root@localhost ~]# vim /etc/named.conf
10 options {
11 listen-on port 53 { any; };
12 listen-on-v6 port 53 { ::1; };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 secroots-file "/var/named/data/named.secroots";
18 recursing-file "/var/named/data/named.recursing";
19 allow-query { any; };
52 zone "vss.cn" IN {
53 type master;
54 file "zx";
55 };
56
57 zone "10.168.192.in-addr.arpa" IN {
58 type master;
59 file "fx";
60 };
[root@localhost ~]# cd /var/named/
[root@localhost named]# cp named.loopback zx
[root@localhost named]# cp named.loopback fx
[root@localhost named]# vim zx
$TTL 1D
@ IN SOA vss.cn. root.vss.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns.vss.cn.
dns IN A 192.168.10.254
[root@localhost named]# vim fx
$TTL 1D
@ IN SOA vss.cn. root.vss.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns.vss.cn.
254 IN PTR dns.vss.cn.
[root@localhost named]# chmod 777 zx fx
[root@localhost named]# systemctl restart named
验证
[root@localhost named]# host -l vss.cn
vss.cn name server dns.vss.cn.
dns.vss.cn has address 192.168.10.254
[root@localhost named]# host -l 192.168.10.254
254.10.168.192.in-addr.arpa domain name pointer dns.vss.cn.
[root@localhost named]# nslookup
> 192.168.10.254
254.10.168.192.in-addr.arpaname = dns.vss.cn.
> dns.vss.cn
Server:127.0.0.1
Address:127.0.0.1#53
Name:dns.vss.cn
Address: 192.168.10.254