Linux下DNS服务器搭建

目录

1.1案例环境及需求

虚拟机设置

1.2安装dns服务

1.3配置过程

1、编辑全局配置文件/etc/named.conf 文件

2、配置主配置文件 named.zones

3、修改bind的区域配置文件。

(1)创建long.com.zone 正向区域文件

(2)创建192.168.10.zone反向区域文件

检查配置文件是否正确

4、设置防火墙放行,设置主配置文件和区域文件的属组为named

5、重新启动dns服务,加入开机启动

6、测试

1、说明如下:

2、配置Linux客户端

使用nslookup测试dns

问题故障排错

一、DNS服务无法重启

 另外,可通过看日志找错误


文章来源地址https://uudwc.com/A/20jjo

1.1案例环境及需求

某校园网要架设一台DNS服务器负责long.com域的域名解析工作。DNS服务器的FQDN为dns.long.com,IP地址为192.168.10.1。要求为以下域名实现正反向域名解析服务。

dns.long.com 192.168.10.1

mail.long.com                

192.168.10.2
slave.long.com 192.168.10.3
www.long.com 192.168.10.4
ftp.long.com 192.168.10.20

另外,为www.long.com设置别名为web.long.com


虚拟机设置

1、为不占用局域网中ip地址,所有操作在仅主机模式下进行。

 2、虚拟网络设置

 

1.2安装dns服务

在Linux下搭建dns服务器通常使用bind程序来实现,其守护进程是named

1、挂载ISO安装映像。

[root@dns ~]# mkdir  /iso                                      
[root@dns ~]# mount /dev/cdrom  /iso

2、制作用于安装的yum源文件。

[root@dns ~]# vim /etc/yum.repos.d/dvd.repo
//dvd.repo文件的内容如下:

[dvd]
name=dvd
baseurl=file:///iso                                   #特别注意本地源文件的表示,需要用3个“/”
gpgcheck=0
enabled=1

3、使用yum命令查看bind软件包的信息。

[root@dns ~]# yum info dhcp

4、使用yum命令安装bind服务。

[root@dns ~]# yum clean all                                     #安装前清理缓存
[root@dns ~]# yum install bind bind-chroot -y

5、检测是否安装成功

[root@dns ~]# rpm -qa |grep bind       //bind-9.11.4为安装成功!

 

6、重启dns服务,并加入开机自启动

[root@dns ~]# systemctl restart named
[root@dns ~]# systemctl enable  named

1.3配置过程

配置过程包括全局配置文件主配置文件正反向区域解析文件的配置。

1、编辑全局配置文件/etc/named.conf 文件

该文件在/etc目录下。把options选项中的侦听IP(127.0.0.1)改成any;

把dnssec-validation  yes改为no;

把允许查询网段allow-query 后面的localhost 改成any;

在include语句中指定主配置文件为named.zones。 

修改后相关内容如下:

listen-on  port  53 ( any ; ) ;                             //切记要带着分号;

........

allow-query   ( any ;) ;

.......

dnssec-validation    no ;

.......

include "/etc/named.zones" ;                       //必须和主配置文件名相同!

2、配置主配置文件 named.zones

主配置文件位于/etc目录下,可将named.rfc1912.zones 复制为全局配置文件中指定的主配置文件,这里是/etc/named.zones

[root@dns ~]# cp -p /etc/named.rfc1912.zones  /etc/named.zones
[root@dns ~]# cat /etc/named.rfc1912.zones        //可忽略,直接进入编辑                                                                                    //named.rfc1912.zones 为自带样例文件

使用vim /etc/named.zones编辑增加以下内容:

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

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

3、修改bind的区域配置文件。

(1)创建long.com.zone 正向区域文件

正向区域文件位于/var/named 目录下,为编辑方便可先将样本文件named.localhost 复制到long.com.zone ,再对long.com.zone 编辑修改。

[root@dns ~]# cd /var/named

[root@dns ~]# cp -p named.localhost long.com.zone
[root@dns ~]# vim /var/named/long.com.zone

 

(2)创建192.168.10.zone反向区域文件

反向区域文件位于/var/named 目录下,为方便编辑,可先将样本文件 named.loopback 复制到192.168.10.zone ,再对192.168.10.zone编辑修改,编辑修改如下:

[root@dns named]# cp -p named.loopback 192.168.10.zone
[root@dns named]# vim /var/named/192.168.10.zone

 

检查配置文件是否正确

检查三个配置文件有没有错误

named-checkconf /etc/named.conf                 //敲完没反应,就是没错误

named-checkconf /etc/named.rfc1912.zones

检查区域文件较特殊,需要cd到文件所在目录下

cd /var/named/

named-checkzone long.zone long.zone          //写两遍文件名 , 提示OK就是没错

4、设置防火墙放行,设置主配置文件和区域文件的属组为named

[root@dns named]# firewall-cmd --permanent --add-service=dns
[root@dns named]# firewall-cmd --reload
[root@dns named]# chgrp named /etc/named.conf /etc/named.zones
[root@dns named]# chgrp named long.com.zone 192.168.10.zone

5、重新启动dns服务,加入开机启动

[root@dns named]# systemctl restart named
[root@dns named]# systemctl enable named

6、测试

1、说明如下:

(1)主配置文件的名称一定要与/etc/named.conf 文件中指定的文件名一致。这里用的是named.zones

(2)正反向区域文件的名称一定要与/etc/named.zones 文件中zone区域声明中指定的文件名一致。

(3)正反向区域文件的所有记录行都要顶头写,前面不要留有空格,否则会导致DNS服务器不能正常工作。

2、配置Linux客户端

在Linux系统中可以通过修改/etc/resolv.conf 文件来设置DNS客户端,如下所示:

[root@localhost ~]# vim /etc/resolv.conf
 

nameserver 用于指明域名服务器的IP地址

使用nslookup测试dns

BIND软件包提供了3个dns测试工具:nslookup、dig和host。这里用nslookup测试:

[root@localhost ~]# nslookup

 > server

Default server: 192.168.10.1
Address: 192.168.10.1#53

> www.long.com                                             //弹出以下信息证明能解析dns,成功!
Server:        192.168.10.1
Address:    192.168.10.1#53

Name:    www.long.com
Address: 192.168.10.4


问题故障排错

一、DNS服务无法重启

[root@dns ~]# systemctl restart named

报错:

Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.

1、通过systemctl status named 来查看

2、# /etc/named.conf  文件中的第13行有错误------------进文件中查看并修改

3、再次重启dns服务,并查看

正常运行。

 另外,可通过看日志找错误

 [root@localhost ~]#"" > /var/log/messages                         #先清空日志

 [root@localhost ~]# systemctl  restart named
 [root@localhost ~]#cat  /var/log/messages                        #查看日志

 

这种重启服务错误的情况大部分是因为配置文件写错,查看日志即可知道哪里错误。

二、dns无法解析

1、查看客户端与服务端是否正常通信。

2、查看客户端dns地址是否配置正确(服务端IP)

原文地址:https://blog.csdn.net/zhaoyijv/article/details/131013817

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年10月15日 21:25
CentOS 7 系统安装教程【详细图文教程】
下一篇 2023年10月15日 22:55