「玩转Lighthouse」轻量应用服务器自建DNS解析服务器

2022-04-24 17:44:02 浏览数 (1)

摘要

最近买的几台轻量应用服务器,都不知道干啥用,干脆搭建属于自己的DNS解析服务器吧。

搭建DNS解析服务器,不是属于DNS服务器:比如114.114.114.114啥的,而是能够帮你解析域名的服务器。

正文

一、购买轻量应用服务器和安装centos7操作系统

配置

1.首先我们需要安装bind

代码语言:javascript复制
yum -y install bind*

2.修改主配置文件

代码语言:javascript复制
cp /etc/named.conf /etc/named.conf.bak #备份,一般不需要备份

nano /etc/named.conf

修改为以下:

代码语言:javascript复制
options {

        listen-on port 53 { any; }; // 监听在主机的53端口上。any代表监听所有的主机
        directory       "/var/named"; // 如果此档案底下有规范到正反解的zone file 档名时,该档名预设应该放置在哪个目录底下

         // 下面三项是服务的相关统计信息

        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";
        allow-query     { any; }; // 谁可以对我的DNS服务器提出查询请求。any代表任何人
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;
        forwarders { // 指定上层DNS服务器
           192.168.1.1;
        };
        bindkeys-file "/etc/named.iscdlv.key";
        managed-keys-directory "/var/named/dynamic";
};

logging {

        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };

};
zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

3.自定义域名解析配置

代码语言:javascript复制
nano /etc/named.rfc1912.zones

#在最后面添加如下,比如我要解析 abc.co 以及所有子域名

代码语言:javascript复制
zone "abc.com" IN {    // 定义要解析主域名
        type master;
        file "abc.com";  // 具体相关解析的配置文件保存在 /var/named/abc.com 文件中

};

4.自定义abc.com文件

代码语言:javascript复制
nano /var/named/abc.com

#添加如下

代码语言:javascript复制
$TTL 86400
@       IN SOA          ns1.miku.cool. root (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        0 )     ; minimum  

@       IN      NS      ns1.abc.con
ns      IN      A       192.168.1.1
www     IN      A       192.168.1.113

其中ns1.abc.com是当前DNS服务器的名称。所以ns1.abc.com一定要解析到本身。

www      IN          A            192.138.1.113  //代表把www.abc.com解析到192.168.1.113服务器上。把www换成@就是解析到abc.com,其他的类似。

5.修改权限

代码语言:javascript复制
chown root:named /var/named/abc.com #这一步一定要做

6.重启服务

代码语言:javascript复制
service named restart

#或者

systemctl restart named.service

新增域名解析

如果我们需要在追加一个域名的解析,比如abc.cc,则:

代码语言:javascript复制
nano /etc/named.rfc1912.zones
代码语言:javascript复制
// 添加下面这段
zone "abc.cc" IN {
        type master;
        file "abc.com";
};
代码语言:javascript复制
cp -a abc.com abc.cc
代码语言:javascript复制
nano abc.com
代码语言:javascript复制
//换成如下,由于我们ns1.abc.com已经是我们的解析服务器,所以不需要修改
$TTL 86400
@       IN SOA          ns1.abc.com root (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        0 )     ; minimum
@       IN      NS      ns1.abc.com
ns      IN      A       192.168.1.1
www     IN      A       192.168.1.114
@       IN      A       192.168.1.114

配置之后还要重启服务

代码语言:javascript复制
service named restart

#或者

systemctl restart named.service

注意:如果有问题的话就关闭一下selinux,然后防火墙规则什么的

完结

以上就是所有自建DNS解析服务器的内容,欢迎小伙伴们交流讨论。

0 人点赞