配置dns主从服务器,解析qq.com域下的所有主机,www.qq.com aaa.qq.com bbb.qq.com …
一、搭建本地dns服务先实现正向解析
#服务端(ip :192.168.164.128)
首先关闭防火墙和selinux
root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
1.在服务端主机安装服务包
编写yum仓库并下载nds服务器
[root@localhost ~]# mount /dev/sr0 /mnt
[root@localhost ~]# vim /etc/yum.repos.d/base.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
[root@localhost openlab]# yum install bind -y
启动named服务
[root@localhost ~]# systemctl start named
2.更改配置自定义解析域(删完配置,添加以下几行代码)
[root@localhost ~]# vim /etc/named.conf
topetios{
listen-on port 53 { 192.168.164.128; };
directory "/var/named";//正反向解析的区域文件路径
allow-query { any; }; //这行可写可不写,该行不写为默认全部
);
zone "qq.com" IN{
type master;
file "named.qq.com";};
正向解析文件(区域数据文件)资源记录包含的元素:
owner-name TTL class type date
主机名资源记录生存时间 INTERNET A 记录存储 数据(主机ip)
配置正向解析文件(区域数据文件)
[root@localhost ~]# vim /var/named/named.qq.com
;主机名 TTL Class Type(SOA) 数据
$TTL 1D
@ IN SOA @ admin.admin.com. (
2021071301 ;版本号
1D ;检查时间
2H ;重试时间
1D ;过期时间
1D ) ;否定答案的缓存时长
IN NS dns.qq.com.
dns IN A 192.168.164.128
www IN A 192.168.164.111
aaa IN A 192.168.164.222
bbb IN A 192.168.164.233
ccc IN A 192.168.164.244
wwww IN CNAME www ;该行为别名,访问wwww就能访问到www
3.重启服务
[root@localhost ~]# systemctl restart named
#客户端(ip:192.168.164.129)
首先关闭防火墙和selinux
root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
更改dns地址的方式①
[root@localhost ~]# nmcli connection modify ens160 ipv4.dns 192.168.164.128
更改dns地址的方式②:更改下面这行代码
[root@localhost ~]# vim /etc/resolv.conf
nameserver 192.168.164.128
#交互式查看是否解析成功(与服务端解析文件中的ip地址是否一致)
[root@localhost ~]# nslookup www.qq.com
Server: 192.168.164.128
Address: 192.168.164.128#53
Name: www.qq.com
Address: 192.168.164.111
[root@localhost slaves]# nslookup aaa.qq.com
Server: 192.168.164.128
Address: 192.168.164.128#53
Name: aaa.qq.com
Address: 192.168.164.222
#查询NS记录
[root@localhost ~]# dig -t A www.qq.com
; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>> -t A www.qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42981
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: bdb8bcc98433d6401d5a041960ee96ef518e095f54c3b8de (good)
;; QUESTION SECTION:
;www.qq.com. IN A
;; ANSWER SECTION:
www.qq.com. 86400 IN A 192.168.164.111
;; AUTHORITY SECTION:
qq.com. 86400 IN NS dns.qq.com.
;; ADDITIONAL SECTION:
dns.qq.com. 86400 IN A 192.168.164.128
;; Query time: 0 msec
;; SERVER: 192.168.164.128#53(192.168.164.128)
;; WHEN: Wed Jul 14 03:49:03 EDT 2021
;; MSG SIZE rcvd: 117
二、配置dns主从服务器实现正向解析
将以上的服务器充当主服务器,客户端充当从服务器
#主服务器
首先关闭防火墙和selinux
root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
更改配置自定义解析域(之前代码不变,在options中添加以下一行代码)
[root@localhost ~]# vim /etc/named.conf
allow-transfer { 192.168.164.129; };
重启named服务
[root@localhost ~]# systemctl restart named
#从服务器
首先关闭防火墙和selinux
root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
1.在服务端主机安装服务包(同上)
2.更改配置自定义解析域(删完配置,添加以下几行代码)
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.164.129; };
directory "/var/named/slaves";
};
zone "qq.com" IN {
type slave;
file "named.qq";
masters { 192.168.164.128; };
};
重启named服务
[root@localhost ~]# systemctl restart named
进入配置中所写的目录
[root@localhost ~]# cd /var/named/slaves/
查看及结果(博主之前也写了baidu.com因此有两个,按以上配置只会出现一个qq.com)
[root@localhost slaves]# watch ls