linux(RHEL7)--DNS服务器配置

linux 7个月前 散逸
浏览:724 2

1.配置yum 、挂载

2.安装bind

清除缓存

yum clean all

安装

yum install bind bind-chroot -y

3.配置全局文件

vi /etc/named.conf
将 127.0.0.1 、localhost 替换为any

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";
    allow-query     { any; };


修改:dnssec-validation no; //注意,可能会导致named服务无法启动


4.配置主文件

vi /etc/named.rfc1912.zones
编辑named.rfc1912.zone,在末尾添加如下内容
正向解析

zone "long.com" IN {
        type master;
        file "long.com.zone";   //文件名字名字自定义,loopback为示例文件
        allow-update { none; };
};

反向解析
zone "222.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.222.zone";      //文件名字名字自定义。。。。。
        allow-update { none; };
};


5.修改bind的区域的配置文件

#正向

cd /var/named
cp -p named.localhost long.com.zone   //和主文件里面文件名字相同
vi /var/named/long.com.zone
#配置示例:
$TTL 1D
@   IN SOA  @ root.long.com. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum

@       IN   NS      dns.long.com.
@       IN   MX  10  mail.long.com.
dns     IN   A   192.168.26.3
www     IN   A   192.168.26.4

#反向

cd /var/named
cp -p named.loopback 192.168.222.zone
vi /var/named/192.168.222.zone
#配置示例:
$TTL 1D
@   IN SOA  @ root.long.com. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum

@  IN  NS    dns.long.com.
@  IN  MX 10  mail.long.com.

3  IN  PTR  dns.long.com.
4  IN  PTR www.long.com.


6.设置防火墙放行、设置主配置文件与区域文件的属组为named

cd /var/named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload 
chgrp named /etc/named.conf long.com.zone 192.168.222.zone

7.重新启动DNS服务,加入开机启动

systemctl restart named
systemctl enable named

8.测试

nslookup
dns.long.com


如果最后named启动失败:

就是因为启动 named 前会检查 named-checkconf -z /etc/named.conf ,回应 exit 1,所以启动失败

解决方式

  1. 直接用 named -u named 启动,如果要习惯 systemctl restart named.service启动的话,就不要这么做了,只是暂时。
  2. 改写 ExecStartPre 检查方式,让它 exit 0
  3. 注解ExecStartPre 不检查 zone
  4. 或在 /etc/sysconfig/named 加入 DISABLE_ZONE_CHECKING=”yes”,并确认 named.service 文档里的 EnvironmentFile 是不是长这样: EnvironmentFile=/etc/sysconfig/named,我刚看时是长这样: EnvironmentFile=-/etc/sysconfig/named (多了 – dash)。改了 named.service 后要 systemctl daemon-reload

解决方式来源:
https://ssorc.tw/7195

版权声明:散逸 发表于 2019-12-03 11:37:10。
转载请注明:linux(RHEL7)--DNS服务器配置 | 散逸-博客-导航

2 条评论

  • 匿名
    匿名 Vip2

    https://ssorc.tw/7195 named启动失败,解决方法

    回复
    • 匿名
      匿名 Vip2

      感谢

      回复