Linux下搭建DNS服务器及踩坑

DNS服务

域名系统(DNS)是建立在分布式数据库上的分层命名系统。该系统将域名转换为IP地址,并可以将域名分配给Internet组资源和用户,无论实体的物理位置如何。

说白了就是:域名与IP之间的相互解析转化,如:www.baidu.com解析成192.168.0.0这种(只是举个例子)。本文只配置了正向的解析,反向解析在另一篇:DNS添加反向解析

Linux下搭建DNS服务器

在Linux搭建DNS服务器步骤如下:

1.下载安装

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

2.修改配置文件

在安装完成之后,会有几个主要配置文件:

/etc/named.conf    --主配置文件
/etc/named.rfc1912.zones   --保存域名及IP对应关系所在地址
/var/named  --保存域名与IP地址的真实关系

2.1 修改/etc/named.conf 文件

options {
        listen-on port 53 { any; };
//      listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

其余地方不需要动。

2.2 修改/etc/named.rfc1912.zones文件

在下面添加我们要加入的对应关系:

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

对应关系为cfc01.com 实际存在位置为cfc01.com.zone文件里,然后稍后去编辑cfc01.com.zone文件。

2.3 修改/var/named 下的cfc01.com.zone文件

这个文件是自己定义,自己命名的,与named.rfc1912.zones文件里的配置命名一致。

$TTL 3600
$ORIGIN cfc01.com.
@       IN      SOA     cfc01.com.  admin.cfc01.com. (
                2019112103
                1H
                10M
                3D
                1D)

               IN      NS      nameserver.cfc01.com.
               IN      NS      nameslave.cfc01.com.
nameslave      IN      A       172.16.2.251
nameserver     IN      A       172.16.2.249
www            IN      A       172.16.2.244     

需特别注意:www 后面的IP需要是本机的IP地址,不知道的可以ifconfig一下,如果不是本机地址,一会nslookup解析不出来。

3. 关闭防火墙和53端口设置

3.1和3.2做一个就行,都能起到越过防火墙的作用,只不过一个把防火墙关闭了,一个相当于通行证。

3.1 防火墙配置

在这里插入图片描述
我的是关闭状态,如果是开启的输入此命令关闭:

[root@xtrabackup ~]# service iptables stop

可能会遇到centos7不支持iptables命令的情况,这个需要安装一下:

[root@xtrabackup ~]# yum install iptables-services

启动服务,之后可正常使用iptables

[root@xtrabackup ~]# systemctl enable iptables

3.2 修改53端口的防火墙设置:

[root@xtrabackup ~]# vi  /etc/sysconfig/iptables

在这里插入图片描述
图中添加的部分:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT

查看53端口状态:

[root@xtrabackup ~]# netstat -anlpe | grep named

在这里插入图片描述

4. 查看当前SELinux的运行模式

是disabled就行

[root@xtrabackup ~]# getenforce
Disabled

5. 重启DNS服务

[root@xtrabackup ~]# service named restart
Redirecting to /bin/systemctl restart named.service
[root@xtrabackup ~]# ps -ef|grep name
root     13137  5544  0 11:20 pts/1    00:00:00 vi /etc/named.conf
root     14303  5544  0 11:41 pts/1    00:00:00 vi /etc/named.rfc1912.zones
root     22017  5544  0 14:13 pts/1    00:00:03 find / -name named.conf
root     25189  5544  0 15:03 pts/1    00:00:00 vi named.conf
named    29963     1  0 16:15 ?        00:00:00 /usr/sbin/named -u named -c /etc/named.conf
root     29994  5544  0 16:16 pts/1    00:00:00 grep --color=auto name

6. 将网卡配置文件中的DNS修改为本机IP

因人而异,ifcfg-ens后缀不定

[root@xtrabackup ~]vi /etc/sysconfig/network-scripts/ifcfg-ens192

在下面添加一条:

DNS1=172.16.2.244

7. 重启网卡

[root@xtrabackup ~]# systemctl restart network

至此,Linux环境搭建DNS的正向解析完成。

测试一下:

[root@xtrabackup ~]# nslookup www.cfc01.com
Server:         172.16.2.244
Address:        172.16.2.244#53

Name:   www.cfc01.com
Address: 172.16.2.244

没有问题~

注意事项

可能会因为权限问题无法解析成功,我把我的权限列表贴出来,按照这个权限修改是没有问题的。

1./var/named/ 目录下的权限:
/var/named/ 目录权限详情
2.etc下的权限:
etc下的权限

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章