DNS使最重要的网络服务之一,所有主机名需求都需要通过DNS来提供。所以需要多台服务器进行冗余。为了减轻运维负担,则使用Master与Slave。
一、DNS环境规划
二、配置服务器
Master服务器
1、安装bind
yum -y install bind bind-chroot bind-utils
2、修改主配置文件
vim/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.
//
options {
listen-on port 53 { any; }; //监听端口,可设置为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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
allow-query { any; }; //指明允许那台主机提出询问;可不设置,any代表全部接受
forward only; //配置转发器,解析公网地址
forwarders {
119.29.29.29; //腾讯DNS 设置为上层DNS
8.8.8.8; //谷歌DNS
};
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;
allow-transfer { none; }; //不允许任何人进行域转移
dnssec-enable yes;
dnssec-validation yes;
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
/* https://fedoraproject.org/wiki/Changes/CryptoPolicy */
include "/etc/crypto-policies/back-ends/bind.config";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "liukai.com" IN { //域名
type master; //类型 master主、slave从
file "named.liukai.com"; //正向解析文件存放位置
allow-transfer { 192.168.1.116; }; //允许从DNS进行域转移
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "named.192.168.1";
allow-transfer { 192.168.1.116; };
};
include "/etc/named.rfc1912.zones";
#include "/etc/named.root.key"; //注释掉这一行,不然没办法通过上层dns解析外网
2、编辑正向解析文件
[root@named liukai]# cd /var/named/
[root@named named]# ls
chroot data named.empty named.localhost slaves
chroot_sdb dynamic named.ca named.loopback
[root@named named]#cp named.localhost named.liukai.com //复制一份案例文件直接修改
[root@named named]# vim named.liukai.com
$TTL 1D
@ IN SOA named.liukai.com. www.liukai.com. ( //DNS 主机服务名
20 ; //serial序号,建议以年年月月日日来命名,判断数据库新旧
1D ; //refresh更新频率 slave向master更新频率
1H ; //retry重试时间 更新失败重试时间
1W ; //expire到期时间 一直尝试失败1w,则不在尝试等待管理员
3H ) ; //minimum缓存时间
@ IN NS named.liukai.com.
@ IN NS salve.liukai.com. //一定要加.
named.liukai.com. IN A 192.168.1.122
sy.liukai.com. IN A 192.168.1.115
salve.liukai.com. IN A 192.168.1.116
syy //可简写 IN A 192.168.1.100
2、编辑反向解析文件
[root@named liukai]# cd /var/named/
[root@named named]# ls
chroot data named.empty named.localhost slaves
chroot_sdb dynamic named.ca named.loopback
[root@named named]#cp named.localhost named.liukai.com
[root@named named]# vim named.liukai.com
$TTL 1D
@ IN SOA named.liukai.com. www.liukai.com. (
20 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS named.liukai.com.
@ IN NS salve.liukai.com.
122 IN PTR named.liukai.com.
115 IN PTR sy.liukai.com.
116 IN PTR salve.liukai.com.
A记录: 将域名指向一个IPv4地址(例如:100.100.100.100),需要增加A记录
CNAME记录: 如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加CNAME记录。这个域名一般是主机服务商提供的一个域名
MX记录: 建立电子邮箱服务,将指向邮件服务器地址,需要设置MX记录。建立邮箱时,一般会根据邮箱服务商提供的MX记录填写此记录
NS记录: 域名解析服务器记录,如果要将子域名指定某个域名服务器来解析,需要设置NS记录
TXT记录: 可任意填写,可为空。一般做一些验证记录时会使用此项,如:做SPF(反垃圾邮件)记录
AAAA记录: 将主机名(或域名)指向一个IPv6地址(例如:ff03:0:0:0:0:0:0:c1),需要添加AAAA记录
SRV记录: 添加服务记录服务器服务记录时会添加此项,SRV记录了哪台计算机提供了哪个服务。格式为:服务的名字.协议的类型(例如:_example-server._tcp)。
SOA记录: SOA叫做起始授权机构记录,NS用于标识多台域名解析服务器,SOA记录用于在众多NS记录中那一台是主服务器
PTR记录: PTR记录是A记录的逆向记录,又称做IP反查记录或指针记录,负责将IP反向解析为域名
3、启动服务,关闭防火墙,或允许通过防火墙访问tcp和udp53端口
service named resatrt
service firwalld stop //测试环境,直接关闭
4、测试能否正常解析
修改客户端DNS为服务器地址
Linux:通过dig命令可查看
正向解析dig sy.liukai.com
反向解析fig -x sy.liukai.com
Windows 则通过ping
Slave服务器
1、安装bind
yum -y install bind bind-chroot bind-utils
2、修改配置文件
仅修改以下,其上与Master相同。
vim/etc/named.conf
zone "liukai.com" IN {
type slave;
file "slaves/named.liukai.com";
masters {192.168.1.122; };
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
file "slaves/named.192.168.1";
masters {192.168.1.122; };
};
3、测试能否正常解析
同上