dns实验

工具

复制代码
dnf install bind -y #软件即可完成安装
[root@Client ~]# dnf install bind-utils -y #安装测试工具 没有的话用
[root@client ~]# getent hosts image.yao.org
[root@client ~]# cat /etc/resolv.conf  #查看域名是否配置成功
systemctl restart named

named-checkconf #主配置文件
[root@mysql-node4 /]# named-checkconf /etc/named.rfc1912.zones  #区域管理配置文件
named-checkzone yao.org /var/named/yao.org.zone  #正向解析文件
[root@mysql-node3 named]# named-checkzone 172.25.254.arpa /var/named/172.25.254.arpa
/etc/named.conf :#该反向解析

/etc/named.conf :该文件是主配置文件
- /etc/named.rfc1912.zones :这里区域管理配置文件
- /var/named : 该目录存放着详细的域名解析配置文件

正向解析

复制代码
[root@mysql-node3 named]#systemctl start named
[root@mysql-node3 named]# vim /etc/named.conf
options{
	listen-on port 53 { 172.25.254.30; };服务器
	...
	allow-query     { 172.25.254.0/24; };
}
[root@Server ~]# named-checkconf
[root@mysql-node3 named]# vim /etc/named.rfc1912.zones
...
zone "yao.org" IN {
        type master;
        file "yao.org.zone" # 文件的绝对路径 /var/named/yao.org.zone
};
...
[root@mysql-node3 /]# named-checkconf /etc/named.rfc1912.zones 

[root@mysql-node3 named]# cd /var/named
[root@mysql-node3  named]# cp -p named.localhost yao.org.zone # 通过复制模创建区域解析文件
[root@mysql-node3  named]# vim heroliu.org.zone
...
$TTL 1D # 域名存活时间是一天
@       IN SOA  dns.yao.org.  mail.admin.yao. (
                                        2025042001      ; serial
                                        1D              ; refresh
                                        1H              ; retry
                                        1W              ; expire
                                        3H )            ; minimum
                        NS      dns.yao.org.
dns                     A       172.25.254.30
image                   A       172.25.254.31
www                     A       172.25.254.32
...
systemctl start/restart named
[root@Client ~]# nmcli connection modify ens160 ipv4.dns 172.25.254.30
[root@Client ~]# nmcli connection reload
[root@Client ~]# nmcli connection up ens160
[root@client ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 172.25.254.30
[root@mysql-node3  named]#named-checkzone yao.org /var/named/yao.org.zone 
systemctl start/restart named

[root@Client ~]# nslookup image.heroliu.org
Server:		172.25.254.100
Address:	172.25.254.100#53

Name:	image.heroliu.org
Address: 172.25.254.101
[root@Client ~]# nslookup www.heroliu.org
[root@Client ~]# nslookup dns.heroliu.org

反向解析

如果说 正向解析:通过 域名 -> ip

那么 反向解析: 通过 ip -> 域名

复制代码
[root@mysql-node3 ~]#vim /etc/named.conf
..
options{
	listen-on port 53 { 172.25.254.30; };
	...
	allow-query     { 172.25.254.0/24; };
}
[root@Server ~]# named-checkconf
[root@mysql-node3named]# cd /var/named
[root@mysql-node3named]# cp -p named.loopback 172.25.254.arpa
[root@mysql-node3 named]# vim  172.25.254.arpa
$TTL 1D
@       IN SOA  dns.yao.org. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                        NS      dns.yao.org.
dns.yao.org.           A       172.25.254.30
31                     PTR     image.yao.org.
32                     PTR     www.yao.org.
30                     PTR     dns.yao.org.
[root@mysql-node3 named]# named-checkzone 254.25.172.in-addr.arpa 172.25.254.arpa
systemctl restart named
[root@Client ~]# getent hosts  172.25.254.31
101.254.25.31.in-addr.arpa	name = image.yao.org.
[root@Client ~]# getent hosts  172.25.254.32
[root@Client ~]# getent hosts  172.25.254.33
systemctl restart named

主从DNS服务

主服务器挂了以后,就可以从从服务器获取服务

复制代码
[root@mysql-node4 / named]# nmcli connection modify ens160 ipv4.dns 172.25.254.30
[root@mysql-node4 / named]# nmcli connection reload
[root@mysql-node4 / named]# nmcli connection up ens160

[root@Server ~]# vim /etc/named.rfc1912.zones
zone "heroliu.org" IN {
        type master;
        file "heroliu.org.zone";
        allow-transfer{172.25.254.40;};
};

zone "254.25.172.in-addr.arpa" IN {
        type master;
        file "172.25.254.arpa";
        allow-transfer{172.25.254.40;};
};
[root@mysql-node3 /]# named-checkconf /etc/named.rfc1912.zones 

# 正向数据解析配置文件中
[root@Server named]# vim heroliu.org.zone
...
                        NS      dns.yao.org.
                        NS      slave.yao.org.# 新增
dns                     A       172.25.254.30
slave                   A       172.25.254.40# 新增
...
# 反向数据解析配置文件中
[root@Server named]# vim 172.25.254.arpa

...
$TTL 1D
...
                        NS      dns.yao.org.
                        NS      slave.yao.org.
31                     PTR     image.yao.org.
32                     PTR     www.yao.org.
30                     PTR     dns.yao.org.
...

从服务器

复制代码
[root@Client ~]# dnf install bind -y
[root@Client ~]# nmcli connection modify ens160 ipv4.dns 172.25.254.40
[root@Client ~]# nmcli connection reload
[root@Client ~]# nmcli connection up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/8)

[root@Client ~]# vim /etc/named.conf
 11         listen-on port 53 { 172.25.254.40; };
 19         allow-query     { 172.25.254.0/24; };
 
 [root@Client ~]# vim /etc/named.rfc1912.zones
zone "yao.org" IN {
        type slave;
        file "slaves/yao.org.zone";
        masters {172.25.254.30;};
};
zone "254.25.172.in-addr.arpa" IN {
        type slave;
        file "slaves/172.25.254.arpa";
        masters {172.25.254.30;};
};

[root@mysql-node4 /]# systemctl restart  named

关掉主服务器。看一下从服务器能否使用
[root@client ~]# getent hosts www.yao.org
172.25.254.33   www.yao.org
#可以看一下当我主服务器关掉是,从服务器是否可以使用
[root@mysql-node4 /]# ls /var/named/slaves/
172.25.254.arpa  yao.org.zone
相关推荐
RInk7oBjo6 小时前
MySQL的编译安装
数据库·mysql·adb
W-琑8 小时前
adb的基本操作及原理
adb
bearpping1 天前
MySQL压缩版安装详细图解
android·mysql·adb
2601_949815332 天前
MySQL输入密码后闪退?
数据库·mysql·adb
.柒宇.2 天前
MySQL高级之备份与还原
数据库·mysql·adb
yitian_hm2 天前
MySQL主从复制与读写分离实战指南
android·mysql·adb
givemeacar2 天前
MySQL数据库误删恢复_mysql 数据 误删
数据库·mysql·adb
Darkdreams2 天前
MySQL四种备份表的方式
mysql·adb·oracle
渡我白衣2 天前
【MySQL基础】(3):MySQL库与表的操作
android·数据库·人工智能·深度学习·神经网络·mysql·adb