DNS服务器配置

目录

一,正向解析

1>安装软件bind

2>对三个配置文件进行修改

/etc/named.conf

/etc/named.rfc1912.zones

/var/named

关闭防火墙并重启服务

测试

在第二台虚拟机上将DNS服务器IP改成服务器IP

重新加载网卡

在第二台客户端进行测试

二,反向解析

配置文件的设置

/etc/named.rfc1912.zones

/var/named/192.168.38.arpa

重启服务

测试

三,过程中出现的报错


一,正向解析

1>安装软件bind

提供DNS服务的软件叫bind,服务名是named

[root@server ~]# yum install bind -y

2>对三个配置文件进行修改

- /etc/named.conf : 主配置文件,共59行,去除注释和空行之和有效行数仅30行左右,用于设置bind服务程序的运行
- /etc/named.rfc1912.zones  : 区域配置文件(zone),用于==保存域名和IP地址对应关系文件的所在位置==,类似于图书目录,当需要修改域名与IP映射关系时需要在此文件中查找相关文件位置

- /var/named 目录:数据配置文件目录,该目录存储保存域名和IP地址映射关系的数据文件

/etc/named.conf

 修改11和19行即可
 11         listen-on port 53 { any; };
 19         allow-query     { any; };

/etc/named.rfc1912.zones

zone "openlab.com" IN {
        type master;
        file "openlab.com.zone";
        allow-update { none; };
};

/var/named

创建存储保存域名和IP地址映射关系的数据文件
[root@server named]# cp -a named.localhost openlab.com.zone ##必须加-a参数否则所属组全是root
                                                             若未加则参考下面错误进行修改即可
[root@server named]# vim openlab.com.zone
$TTL 1D
@       IN SOA  ns.openlab.com. admin.qq.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN      NS      ns.openlab.com.
ns      IN      A       192.168.38.128
master  IN      A       192.168.38.128
www     IN      A       192.168.38.128
bbs     IN      A       192.168.38.128

关闭防火墙并重启服务

[root@server named]# systemctl stop firewalld
[root@server named]# systemctl restart named

测试

在第二台虚拟机上将DNS服务器IP改成服务器IP

三种方法nmtui(图形化界面修改),nmcli(命令修改),配置文件修改(/etc/NetworkManager/system-connections/ens160.nmconnection )

[connection]
id=ens160
uuid=8eff1602-2daa-3ec2-ad30-6c5cf9f65b97
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1681106532

[ethernet]

[ipv4]
address1=192.168.38.136/24,192.168.38.2
dns=192.168.38.128;
method=manual

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]

重新加载网卡

[root@node1 ~]# nmcli connection reload 
[root@node1 ~]# nmcli connection up ens160 

在第二台客户端进行测试

[root@node1 ~]# nslookup www.openlab.com
Server:		192.168.38.128
Address:	192.168.38.128#53

Name:	www.openlab.com
Address: 192.168.38.128



[root@node1 ~]# host -a www.openlab.com
Trying "www.openlab.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48983
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.openlab.com.		IN	ANY

;; ANSWER SECTION:
www.openlab.com.	86400	IN	A	192.168.38.128

Received 49 bytes from 192.168.38.128#53 in 5 ms

二,反向解析

反向解析在正向解析的基础上进行操作

配置文件的设置

现在只需要对两个文件进行配置

- /etc/named.rfc1912.zones  : 区域配置文件(zone),用于==保存域名和IP地址对应关系文件的所在位置==

- /var/named  这个目录下的文件

/etc/named.rfc1912.zones

zone "38.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.38.arpa";
        allow-update { none; };
};

/var/named/192.168.38.arpa

创建存储保存域名和IP地址映射关系的数据文件
[root@server named]# cp -a named.loopback 192.168.38.arpa ##必须加-a参数否则所属组全是root
                                                             若未加则参考下面错误进行修改即可
[root@server named]# vim openlab.com.zone
$TTL 1D
@       IN SOA  ns.openlab.com. admin.qq.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns.openlab.com.
128     IN      PTR     ns.openlab.com.
128     IN      PTR     mail.openlab.com.
128     IN      PTR     bbs.openlab.com.
128     IN      PTR     www.openlab.com.
~ 

重启服务

[root@server named]# systemctl restart named

测试

[root@node1 ~]# nslookup 192.168.38.128
128.38.168.192.in-addr.arpa	name = www.openlab.com.
128.38.168.192.in-addr.arpa	name = mail.openlab.com.
128.38.168.192.in-addr.arpa	name = ns.openlab.com.
128.38.168.192.in-addr.arpa	name = bbs.openlab.com.

此时变成功了

三,过程中出现的报错

但是在实验的过程中两个配置文件都没有问题,但是客户端就是无法使用服务端进行解析,报以下错误

** server can't find www.openlab.com: SERVFAIL

查了些资料才发现,如下

先进入/var/named这个目录

[root@node1 ~]#cd /etc/named

从上图可以看到我的这个文件配置的所属者和所属组都是root,这个就是问题所在了,这个文件的所属者必须是root,但是所属组必须named,执行如下命令

sudo chown root.named  192.168.1.zone
sudo chown root.named  openlab.com.zone

修改为如下

这个时候执行命令nslookup 192.168.1.254成功找到了域名。