CentOS7搭建DNS服务器配置详解
1、安装BIND服务器软件并启动
yum -y install bind bind*
systemctl start named.service # 启动服务
systemctl enable named # 设为开机启动
2、查看named
进程是否正常启动
ps -eaf|grep named # 检查进程
ss -nult|grep :53 # 检查监听端口
3、开放TCP
和UDP
的53端口
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload # 重新加载防火墙配置,让配置生效
4、DNS服务器相关配置文件
1、修改主要文件/etc/named.conf
vim /etc/named.conf # 修改配置内容
下面是主配置文件中的 “全局配置” 部分各主要配置项的含义
options里面的内容是全局生效;
{ any; }花括号和"any;"之间必定要有空格,若是有多个ip段,用分号“;”隔开;
forward first|only:forward first就是优先用forwarders里的ip转发;forward only 就是仅转发不在本地DNS读取解析
options {
listen-on port 53 { any; }; # 监听地址和端口;表明DNS服务监听的地址和53号端口,改为全局生效
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; }; # 允许使用本DNS服务器的网段;允许所有主机访问
recursion yes; # 表明允许本DNS服务器进行递归解析,如果配置缓存服务器,需要将查询转发到其他DNS服务器,就必须设置为yes
dnssec-enable yes; # 用来设置是否启用DNSSEC支持,DNS安全扩展(DNSSEC)提供了验证DNS数据由效性的系统
dnssec-validation no; # 指定在DNS查询过程中是否加密,为了加快效率这里设置为no
forwarders { 114.114.114.114; }; # 新添加,这里设置的是主DNS的IP地址,当本地缓存中没有对应的解析时,将客户机的查询转发到哪些DNS服务器,可以添加多个DNS服务器的地址
/* Path to ISC DLV key */
bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
检查一下配置
named-checkconf # 检查named.conf是否有语法问题
2、配置正向解析和反向解析
留意配置文件最后结尾处,你能够直接在当前配置文件里最后新增第3步里面的内容,也能够到这(named.rfc1912.zones)里面去编辑
正向区域解析就是将域名解析出IP,反向区域解析就是将IP解析出域名,
1、修改named.rfc1912.zones
文件
vim /etc/named.rfc1912.zones
配置文件中的 “区域配置” 部分配置项的含义:
zone "wifite.cn" IN { # 正向“wifite.cn”区域
type master; # 类型为主要区域
file "named.wifite.cn"; # 区域数据文件名为"named.wifite.cn"
allow-update { 172.27.7.130; }; # 允许更新区域信息的主机地址(无备用可默认不配置)
};
zone "0.168.192.in-addr.arpa" IN { # 反向“192.168.0.0/24”区域
type master; # 类型为主要区域
file "named.192.168.0"; # 区域数据文件名为192.168.0.arpa
allow-update { 172.27.7.130; }; # 允许更新区域信息的主机地址(无备用可默认不配置)
};
以上每个zone区域都是可选的,根据自己的实际需求定义即可,以上配置项是做了一个正向解析区域,一个反向解析区域。
配置区域数据文件,通常默认存放在
/var/named
目录下,每个区域数据文件对应一个DNS解析区域,文件名及内容我们自己定义(文件名一定要和主配置文件中指定的区域数据文件名一致)反向解析留意“.”号,不能少;
每次更改(新增或者删除)文件内容,都要变动那个serial号码,一般+1便可;
正反向解析文件的属组必定要改成named;
2、添加正向解析域配置内容如下:
cp -p /var/named/named.localhost /var/named/named.hadesr.com # 基于 name.localhost 模板,创建配置文件
vim /var/named/named.wifite.cn # 配置正向域名解析文件 named.wifite.cn
每次修改完主DNS配置后,都需要改一下serial序列号,且必须比从服务器号大,配置内容如下:
$TTL 1D # 有效解析记录的生存周期
@ IN SOA @ rname.invalid. ( # SOA标记、域名、管理邮箱
0 ; serial # 更新序列号,可以说10位以内的整数
1D ; refresh # 刷新时间,重新下载地址数据的间隔
1H ; retry # 重试延时,下载失败后的重试间隔
1W ; expire # 失效时间,超过改时间仍无法下载则放弃下载
3H ) ; minimum # 无效解析记录的生存周期
NS @
A 127.0.0.1
AAAA ::1
mes A 192.168.0.8
以上单位时间为M(分)、H(时)、W(周)、D(天)。
https://mes.wifite.cn 将会解析为192.168.0.8
chown :named /var/named/named.hadesr.com # 授权 named 用户
named-checkzone "wifite.cn" "/var/named/named.wifite.cn" # 检查区域文件是否正确
3、添加反向解析域
cp -p /var/named/named.localhost /var/named/named.192.168.0 # 基于 name.localhost 模板,创建配置文件,和主配置文件中指定的文件名一样
vim /var/named/named.192.168.0 # 配置反向域名解析文件 named.192.168.0
**注意要把 “A” 记录换成 “PTR” **
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
8 PTR mes.wifite.cn.
chown :named /var/named/named.192.168.0 # 授权 named 用户
named-checkzone "0.168.192.in-add.arpa" "/var/named/named.192.168.0" # 检查区域文件是否正确
4、重启named服务,让配置生效
named-checkconf -z /etc/named.conf # 所有DNS相关的配置文件进行检查
systemctl restart named 或者用 rndc reload # 重启named服务
rndc status # 查看状态并测试
5、配置备用NDS服务器
yum -y install bind* # 安装bind包
systemctl start named.service # 启动服务
systemctl enable named # 设为开机启动
firewall-cmd --permanent --add-port=53/tcp # 开放TCP53端口
firewall-cmd --permanent --add-port=53/udp # 开放UDP53端口
firewall-cmd --reload # 重新加载防火墙配置,让配置生效
vim /etc/named.conf # 修改配置内容(配置与主DNS服务器配置一致)
vim /etc/named.rfc1912.zones # 编辑该文件,这里的配置和上面的配置不一致
# 正向配置
zone "wifite.cn" IN { # 正向“wifite.cn”区域
type slave; # 状态类型修改为slave
masters { 172.27.7.125;}; # 主DNS服务器的IP地址
file "slaves/slave.hadesr.com"; # 指定同步文件的存放路径
};
# 反向配置
zone "0.168.192.in-addr.arpa" IN { # 反向“192.168.0.0/24”区域
type slave; # 状态类型修改为slave
masters { 172.27.7.125;}; # 主DNS服务器的IP地址
file "slaves/192.168.0-slave"; # 指定同步文件的存放路径
};
# 把下面多余的配置文件删掉或者修改
named-checkconf /etc/named.conf # 检查配置文件是否正确
named-checkconf /etc/named.rfc1912.zones # 检查配置文件是否正确
systemctl restart named # 重新启动服务
ll /var/named/slaves # 然后这个目录下会多出两个文件