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,所以启动失败
解决方式
- 直接用
named -u named
启动,如果要习惯 systemctl restart named.service启动的话,就不要这么做了,只是暂时。 - 改写 ExecStartPre 检查方式,让它 exit 0
- 注解ExecStartPre 不检查 zone
- 或在 /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
匿名
https://ssorc.tw/7195 named启动失败,解决方法
匿名@匿名
感谢