Linux 搭建DNS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 搭建DNS相关的知识,希望对你有一定的参考价值。

Linux 搭建DNS

使用yum源安装

yum -y install bind*

 

 

修改主配置文件

[[email protected] ~]# cp /etc/named.conf /etc/named.conf.bak  # 修改之前先备份一遍

 

[[email protected] ~]# vi /etc/named.conf  

 

 

修改为以下:

 

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服务器
           114.114.114.114;
        };
        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";

 

 

 

 

 

自定义域名解析配置

[[email protected] ~]#  vi /etc/named.rfc1912.zones  # 比如我们要添加example.com这个域的解析可以添加下面这一段
 
zone "example123.com" IN {    // 定义要解析主域名
        type master;
        file "example123.com.zone";  // 具体相关解析的配置文件保存在 /var/named/example123.com.zone 文件中
 
};

自定义example123.com.zone文件

[[email protected] named]# vi /var/named/example123.com.zone 
 
全文如下:
$TTL 86400
@       IN SOA          ns.example123.com. root (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        0 )     ; minimum  
 
@       IN      NS      ns. example123.com.
ns      IN      A       192.168.1.219
www     IN      A       192.168.1.45
bbs     IN      A       192.168.1.46
ttt     IN      A       192.168.1.68

www     IN      A       192.168.1.45  代表 www.example123.com 解析到  192.168.1.45服务器上。其他的类似

修改权限

[[email protected] named]# chown root:named  example123.com.zone  # 这一步一定要做

重启服务

[[email protected]_server named]# service named restart

 

新增域名解析

如果我们要追加一个域的解析。比如google.com 则:

vi /etc/named.rfc1912.zones 
 
// 添加下面这段
zone "google.com" IN {
        type master;
        file "google.com.zone";
};
 
[[email protected] named]# cp -a example123.com.zone google.com.zone
[[email protected] named]# vi google.com.zone 
 
$TTL 86400
@       IN SOA          ns.google.com. root (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        0 )     ; minimum
@       IN      NS      ns.google.com.
ns      IN      A       192.168.1.219
www     IN      A       192.168.1.11
bbs     IN      A       192.168.1.46
ttt     IN      A       192.168.1.68

 

检查bind文件配置过程中容易出错

以下命令用以检查bind配置文件及zone文件语法

named-checkconf  /etc/named.conf

没有报错即可

 

 

 

 

 

 

 

 

 

 

named-checkzone  example123.cn /var/named/example123.cn.zone

 

 

配置完成之后重启服务

[[email protected]_server named]# service named restart

 

添加防火墙规则

[[email protected] web]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT

[[email protected] web]# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

[[email protected] web]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT

[[email protected] web]# service iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

以上是关于Linux 搭建DNS的主要内容,如果未能解决你的问题,请参考以下文章

linux下搭建DNS子域及相关授权详解

Linux网络服务——部署搭建DNS服务器

linux架构学习第二十四天-DNS详解及bind搭建各种DNS测试

Linux中DNS服务器搭建

Linux中搭建DNS服务器

Linux 搭建DNS