DNS服务器概述:
DNS(Domain Name System),即域名系统.
DNS服务器分为三种: 主域名服务器(Master Server)、辅助域名服务器(Slave DNS)、缓存服务器(Cache-only Server).
Master Server: 本身提供DNS服务,并且本身含有区域数据文件
Slave DNS: 和master server 一起提供DNS服务, 当主域名服务器上的配置信息修改的时候,会自动更新到辅助域名服务器 实现同步。
Cache-only Server: 缓存服务器没有自己的区域数据文件, 只是帮助客户端向外部DNS请求查询,然后将查到的结果保存到它的缓存中。
DNS服务器搭建
yum -y install bind
配置修改
vim /etc/named.conf
options {
listen-on port 53 { any; }; #监听指定IPV4监听的端口和IP,默认端口53,ip为127.0.0.1,any为监听所有IP
listen-on-v6 port 53 { ::1; }; #指定ipv6监听的端口和ip
directory "/var/named"; # 指定named从 /var/named目录下读取DNS数据文件
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查询的客户端地址 例”192.168.1.0/24“
recursion yes; # 用来设置递归查询. 一般客户机和服务器之间属于递归查询,
dnssec-enable yes; # 是否启用 DNSSEC 支持, DNSSEC可以用来验证DNS数据的有效性
dnssec-validation yes; # 用来设置 是否启用DNSSEC确认,
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key"; # 设置内置信任的密钥文件
managed-keys-directory "/var/named/dynamic"; # 指定目录中的文件存储位置, 跟踪管理DNSSEC密钥
pid-file "/run/named/named.pid"; # pid 文件存放路径
session-keyfile "/run/named/session.key"; # session密钥存放路径
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic; # critical error warning notice info debug[level] dynamic
};
zone "test.com" IN { # 关键字zone 定义一个正向区域, 对应的域名为 test.com
type master; # master 主域名服务器 slaver 辅助域名服务器 hint 根域名服务器
file "test.com.zone"; # 用来指定存放DNS记录的 数据文件名称. 默认路径/var/named 下
allow-update { 10.16.32.105; }; # 定义是否允许客户机主机或服务器自行更新DNS记录, none:不允许
};
zone "32.16.10.in-addr.arpa" IN { # 定义一个 IP为 10.16.32.*的反向区域,
type master; # 同上
file "32.16.10.arpa"; # 同上
allow-update { 10.16.32.105; }; # 同上
};
named-checkconf #检查配置文件是否正确
创建区域文件
[root@lucien named]# pwd
/var/named
vim test.com.zone # 正向区域文件
$TTL 1D @ IN SOA ns.test.com. root.test.com. ( 2018061601 ; serial 3H ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns.test.com. A 10.16.32.111 AAAA ::1 IN MX 10 mail
mail IN A 10.16.32.111 ns IN A 10.16.32.111 dns2 IN A 10.16.32.105 zabbix IN A 10.16.32.79 www IN CNAME zabbix
vim 32.16.10.arpa # 反向区域文件
$TTL 1D
@ IN SOA ns.test.com. root.test.com. (
0 ; serial
3H ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns.test.com.
111 IN PTR ns.test.com.
111 IN PTR mail.test.com.
105 IN PTR zabbix.test.com.
105 IN PTR www.test.com.
验证
[root@lucien named]# named-checkzone "test.com" /var/named/test.com.zone zone test.com/IN: loaded serial 2018061601 OK
[root@lucien named]# named-checkzone "32.16.10.in-addr.arpa" /var/named/32.16.10.zone
zone 32.16.10.in-addr.arpa/IN: loaded serial 0
OK
启动服务
systemctl restart named