Linux DNS域名解析服务器步骤
构建DNS域名解析服务器
安装bind软件包
yum install -y bind
配置正向解析
(1)先查看需要修改的配置文件所在路径
rpm -qc bind
#查询bind软件配置文件所在路径
/etc/named.conf
#主配置文件
/etc/named.rfc1912.zones
#区域配置文件
/var/named/named.localhost
#区域数据配置文件
修改主配置文件 **代表需要修改的
vim /etc/named.conf
options {
listen-on port 53( 192.168.100.20; );
**监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
#listen-on-v6 port 53 { ::1; };
#ipv6行如不使用可以注释掉或者删除
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; };
**允许使用本DNS解析服务的网段,也可用any代表所有
......
zone "." IN {
#正向解析"."根区域
type hint;
#类型为根区域
file "named.ca";
#区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
};
include "/etc/named.rfc1912.zones";
#包含区域配置文件里的所有配置
修改区域配置文件,添加正向区域配置
vim /etc/named.rfc1912.zones
#文件里有模版,可复制粘贴后修改
zone "zhang.com" IN {
**正向解析"zhang.com"区域
type master;
#类型为主区域
file "zhang.com.zone";
**指定区域数据文件为zhang.com.zone
allow-update { none; };
};
配置正向区域数据文件
cd /var/named/
cp -p named.localhost zhang.com.zone
#保留源文件的权限和属主的属性复制
vim /var/named/zhang.com.zone
$TTL 1D
#有效解析记录的生存周期
@ IN SOA zhang.com. admin.zhang.com. (
#"@“符号表示当前的DNS区域名
0
; serial
#更新序列号,可以是10位以内的整数
1D
; refresh
#刷新时间,重新下载地址数据的间隔
1H
; retry
#重试延时,下载失败后的重试间隔
1W
; expire
#失效时间,超过该时间仍无法下载则放弃
3H )
; minimum
#无效解析记录的生存周期
NS zhang.com.
#记录当前区域的DNS服务器的名称
A 192.168.100.20
#记录主机IP地址
IN MX 10 mail.zhang.com
#MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.100.30
#记录正向解析www.benet.com对应的IP
mail IN A 192.168.100.40
ftp IN CNAME www
#CNAME使用别名,ftp是www的别名
* IN A 192.168.100.50
#泛域名解析,”*"代表任意主机名
#"@"这里是一个变量,当前DNS区域名
#SOA记录中的更新序列号用于同步主、从服务器的区域数据,当从服务器判断区域更新时,若发现主服务器中的序列号与本地区域数据中的序列号相同,则不会进行下载
#"benet.com.“此为完全合格域名(FQDN),后面有个”."不能漏
#"admin.benet.com.“表示管理员邮箱,这里的"a"符号已有其他含义,所以用”."代替
启动服务,关闭防火墙
systemctl start named
systemctl stop firewalld
setenforce 0
#如果服务启动失败,可以查看日志文件来排查错误
tail -f /var/log/messages
#如果服务启动卡住,可以执行下面命令解决
rndc-confgen -r /dev/urandom -a
测试解析服务
nslookup www.zhang.com
host www.zhang.com
操作实例