简单粗暴的装bind
~]# yum install bind* -y
然后修改主配置文件/etc/named.config
zone "." IN {
type hint;
file "named.ca";
};
zone "songhe.com" IN {
type master;
file "songhe.com.zone";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
配置完主配置文件后,可以用named-checkconf进行自检配置文件语法。
然后配置zone文件
~]# cat songhe.com.zone
$TTL 600
@ IN SOA ns1.songhe.com. mail.songhe.com. (
20190107;
2H;
10M;
3W;
1D;
)
IN NS ns1
IN A 10.254.12.238
ns1.songhe.com. IN A 10.254.12.238
www IN A 10.254.12.56
配置完主配置文件后,可以用named-checkzone songhe.com /var/named/songhe.com.zone进行自检配置文件语法。
~]# named-checkzone songhe.com /var/named/songhe.com.zone
zone songhe.com/IN: loaded serial 20190107
OK
自检没问题后,启动named服务
~]# systemctl start named 启动无报错
~]# ps aux |grep named 进程已启动
named 5687 0.3 3.1 167328 58552 ? Ssl 16:16 0:00 /usr/sbin/named -u named -c /etc/named.conf
root 5692 0.0 0.0 112656 972 pts/0 R+ 16:16 0:00 grep --color=auto named
~]#
接下来可以测试域名解析是否正常。
如果没有dig命令,可以用以下命令进行安装:
yum install bind-utils -y
准备好测试工具后开始测试,
如果dig无结果,显示如下:
则,根据DNS解析原理(http://blog.51cto.com/xiaoahehe/1971923 ),推断出本地hosts文件可能没有配置(毕竟是内网解析)。
这种情况可以直接编辑/etc/hosts,添加如下信息即可
10.254.12.238 songhe.com
如需要显示解析过程,则使用:
~ ]# dig -t A www.songhe.com @10.254.12.238 +trace
反向解析示例:
配置文件/etc/named.conf添加如下配置:
zone "12.254.10.in-addr.arpa" IN {
type master;
file "12.254.10.in-addr.arpa.zone";
};
在/var/named/ 下面新建一个反向解析的zone文件:
touch /var/named/12.254.10.in-addr.arpa.zone
修改文件的权限及属主、属组:
~ ]# chmod 640 /var/named/12.254.10.in-addr.arpa.zone
~ ]# chown root:named /var/named/12.254.10.in-addr.arpa.zone
~ ]# ll /var/named/12.254.10.in-addr.arpa.zone
-rw-r----- 1 root named 339 1月 8 10:55 /var/named/12.254.10.in-addr.arpa.zone
反向解析zone文件配置如下:
$TTL 600
@ IN SOA ns1.songhe.com. mail.songhe.com. (
2019010703;
2H;
10M;
3W;
1D;
)
@ IN NS ns1.songhe.com.
@ IN NS ns2.songhe.com.
10.254.12.238 IN PTR ns1.songhe.com.
10.254.12.56 IN PTR ns2.songhe.com.
10.254.12.56 IN PTR www.songhe.com.
重启之后进行测试
主配置文件中几个访问控制的指令:
allow-query {}: 允许查询的主机;白名单
allow-transfer {}:允许区域传送的主机;(白名单,一般用于主从)
allow-recursion {}: 允许递归的主机,建议全局使用
allow-update {}: 允许更新区域数据库中的内容
##中途启动服务时一直起不来报错,看了好多文档配置都没问题的,最后把主配置文件的反向解析部分注释掉就好了,因为我在住配置文件写了反向解析的配置,但是反向解析的文件并没有写。
##以上提到的/etc/named.config /var/named/*.zone文件属主属组均为 root:named