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     

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

这一步是可以通过此dns服务器,让别的电脑配置了这个dns之后,也可以进行域名解析,因人而异,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下的权限

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fancy橙子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值