Appearance
DNS域名解析服服务器搭建
bind
大型公司需要自建复杂的域名解析系统,存储解析记录,包括了设置根域、顶级域、二级域等区域功能
DNS的域名解析都是UDP/53,主从之间数据传输默认使用TCP/53
==Bind==是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley (伯克利)分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows 平台。
1、安装bind
yum install bind bind-utils -ybind软件是dns服务器的主软件 bind-utils 是提供dns解析的命令,如dig,这个命令
2、关闭selinux
关闭后可以使用gentenforce查看是否是Disabled3、关闭防火墙或放行对应端口
4、创建DNS文件
①先操作主配置文件,然后修改子配置文件(二级域名的配置文件)
vi /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; any; }; # 允许dns服务端,运行在0.0.0.0:53 上,any==>0.0.0.0
allow-query { localhost;any; }; # 还差一个允许客户端的递归查询
...
}可以netstat -tunlp查看53端口是否被占用
②查看主配置文件导入了子配置文件:域配置文件
/etc/named.conf文件的59行左右提示了:include "/etc/named.rfc1912.zones";
创建域名的域配置文件:vi /etc/named.rfc1912.zones
# 定义二级域名,以及二级域名的配置文件
zone "xxxx.cn" IN {
type master;
file "xxxx.cn.zone";
allow-update { none; };
};③创建二级域名的 主机记录配置文件
需要以主机记录的格式去创建,且必须存放在 /var/named/目录下才行
# cp -p 保持原文件的属性,拷贝模板文件改成自己的文件,该文件必须位于/var/named目录下
cp -p /var/named/named.localhost /var/named/laoliulinux.cn.zone
vi /var/named/laoliulinux.cn.zone
$TTL 1D # 定义一个TTL默认值为1天,下面数据直接引用此值
@ IN SOA @ rname.invalid. ( # @ 代表二级域名本身xxxx.cn
0 ; serial # 主机记录的序列号
1D ; refresh # 更新间隔
1H ; retry # 更新失败后重试间隔
1W ; expire # 过期时常
3H ) ; minimum # 否定记录保持时常
NS @
A 172.16.1.61
AAAA ::1④添加A记录
资源类型: A (IPv4)、AAAA (IPv6):定义FQON的IP
NS:定 义DNS服务器的FQON
SOA:起始授权 (每个zone首先要定文此值)
MX:定义邮件记录,有优先级概念(0-99),值越小优先级越高。
CNAME:定 义别名
PTR:反向记录
vi /var/named/laoliulinux.cn.zone
$TTL 1D # 定义一个TTL默认值为1天,下面数据直接引用此值
@ IN SOA @ rname.invalid. ( # @ 代表二级域名本身xxxx.cn
0 ; serial # 主机记录的序列号
1D ; refresh # 更新间隔
1H ; retry # 更新失败后重试间隔
1W ; expire # 过期时常
3H ) ; minimum # 否定记录保持时常
NS @
A xxx.xxx.xxx.xxx
AAAA ::1
# 主机记录 记录类型 记录值
www A 172.16.1.61
linux A 172.16.1.61⑤启动bind程序
systemctl start named
# 检查named程序状态
netstat -tunlp |grep named
ps -ef|grep named⑥在需要解析的主机上设置DNS解析地址即可
Linux:在/etc/resolv.conf设置
nameserver xxx.xxx.xxx.xxx可以使用
nslookup 域名查看对应的解析信息修改过后需要重启服务:
systemctl start named
dnsmasq
轻量级域名系统,提供域名、ip的对应解析关系,需要提供上游权威dns服务器地址
这是一个轻量级,很容易就实现dns服务器的一个软件,部署简单,不像bind那么复杂,重量级
很多软件,大型软件的集群,内部需要部署dns环境,都是通过dnsmasq
1、安装dnsmasq
yum install dnsmasq -y2、创建dnsmasq配置文件,设置上游dns服务器地址,设置本地域名解析记录vi /etc/dnsmasq.conf
修改如下参数即可:
1.指定上游dns服务器地址,指定一个配置文件即可,默认去/etc/resolv.conf去找,避免修改后无法找到上游DNS服务器,可以指定另一个配置文件
2.指定运行地址是内网环境
3.需要指定你想要添加的本地 域名解析记录,默认 /etc/hosts文件
# 定义dnsmasq从哪里获取上游DNS服务器的地址,默认是从/etc/resolv.conf获取
resolv-file=/etc/resolv.dnsmasq.conf
#定义dnsmasq监听的地址,默认是监控本机的所有网卡上。局域网内主机若要使用dnsmasq服务时,指定本机的IP地址
listen-address=xxx.xxx.xxx.xxx
#本地域名配置文件(不支持泛域名),添加内部需要解析的地址和域名(重新加载即可生效)
#默认读取/etc/hosts
strict-order
addn-hosts=/etc/hosts.dnsmasq.conf
# #记录dns查询日志服务器
# 1og-queries
# 1og-facility=/var/1og/dnsmasq.log
#包含其他文件夹下所有配置文件
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig获取非空白和非注释行
grep -Ev '^($|#)' 文件名
3、创建对应的数据文件
echo "nameserver 223.5.5.5" > /etc/resolv.dnsmasq.conf # 上游DNS服务器地址,与上面的配置位置对应
cat >/etc/hosts.dnsmasq.conf <<EOF
# 地址 域名
xxx.xxx.xxx.xxx xxxx.cn
...
EOF4、启动dnsmasq服务
systemctl start dnsmasq5、测试该dnsmasq是否可用,你还得主动的指定本地dns配置文件的记录,使用这个dnsmasq的服务端地址(172.16.1.61)