文章目录
BIND 软件介绍
BIND(Berkeley Internet Name Domain(伯克利因特网名称域系统)),官方站点,是一款可以运行在Linux系统上的域名解析系统。具备完整的DNS功能。
BIND 软件安装
本博客写作之时,系统为Centos 7.9-2009 版本,配置了清华大学的安装包镜像站,请在安装之前配置好,关闭系统防火墙,关闭SELinux。
yum install -y bind
注:为了节省文章篇幅,不重要的信息删除了
BIND 安装后生成文件介绍
rpm -ql bind.x86_64 32:9.11.4-26.P2.el7_9.5
文件 | 作用 |
---|---|
/etc/logrotate.d/named | 日志滚动的设置,此文件由BIND生成,但是运行由logrotate运行,来对BIND生成的日志进行滚动生成新的日志。防止单个日志文件太大 |
/etc/named.conf | 程序运行的配置文件 |
/etc/named.iscdlv.key | 程序运行的配置文件 |
/etc/named.rfc1912.zones | 程序运行的配置文件 |
/etc/named.root.key | |
/etc/rndc.conf | rndc(remote name domain controller) 通常与BIND安装在同一台主机,以实现一个辅助的功能 ,使用TCP/953号端口 |
/etc/rndc.key | |
/etc/rwtab.d/named | |
/etc/sysconfig/named | 服务文件 |
/run/named | |
/usr/bin/arpaname | |
/usr/bin/named-rrchecker | |
/usr/sbin/lwresd | |
/usr/sbin/named | |
/usr/sbin/named-checkconf | |
/usr/sbin/named-checkzone | |
/usr/sbin/named-compilezone | |
/usr/sbin/named-journalprint | |
/usr/sbin/nsec3hash | |
/usr/sbin/rndc | |
/usr/sbin/rndc-confgen | |
/usr/sbin/tsig-keygen | |
/var/log/named.log | |
/var/named | 关键服务 |
/var/named/data | |
/var/named/dynamic | |
/var/named/named.ca | 根区域文件,可直接使用cat查看全球13个根区域的文件。 |
/var/named/named.empty | |
/var/named/named.localhost | 127.0.0.1的特殊区域配置文件 |
/var/named/named.loopback | 回环地址配置文件 |
/var/named/slaves | |
/var/named/ZONENAME.zone | 解析库文件,一个DNS服务器可以为多个域配置解析 |
修改配置文件
编辑/etc/named.conf
cat /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
options {
listen-on port 53 { 127.0.0.1;172.16.133.60; }; //修改处1:指明监听在本服务器哪个IP的哪个端口上,必需以分号结尾
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; // 修改3:原为localhost 改为any
/*
recursion yes; //修改点2:注释掉
dnssec-enable yes; //修改点2:注释掉
dnssec-validation yes; //修改点2:注释掉
*/
/* Path to ISC DLV key */
/* bindkeys-file "/etc/named.root.key"; //修改点2:注释掉
managed-keys-directory "/var/named/dynamic"; //修改点2:注释掉
pid-file "/run/named/named.pid"; //修改点2:注释掉
session-keyfile "/run/named/session.key"; //修改点2:注释掉
*/
};
编辑/etc/named.conf定义全局本服务器为哪些域名解析
vim /etc/named.rfc1912.zones
在该文件最下部定义你需要解析的域名
zone "for-best.cn" IN {
type master;
file "for-best.cn.zone";
};
type 有3种,
master:DNS主服务器
slave :DNS从服务器
hint:DNS根服务器
BIND配置SOA记录
修改解析记录之前查看生成的文件,以查看文件的格式:
第一行,定义TTL的超时时间,就是可缓存解析的最长时间
然后定义一个SOA记录
后面可以定义自己需要的记录,依葫芦画瓢即可
[root@nameserver named]# cd /var/named/
[root@nameserver named]# vim for-best.cn.zone
配置检查
重载配置文件
[root@nameserver named]# systemctl restart named