博客是我工作的好帮手,遇到困难就来博客找资料
分类: 系统运维
2017-03-05 10:17:41
#########DNS服务器###########
1.DNS服务器的类型:
主域名服务器:master,负责维护这个地区的所有域名信息,是特定的所有信息的权威信息源。
辅助域名服务器:slaves,作为备份服务器,在主服务器出现故障、关闭、负载过重时提供域名解析服务器。
缓存服务器:hint,将域名查询结果缓存到本地,提高重复查询时的速度。
转发域名服务器:负责所有非本地域名域名的本地查询。
2.DNS系统的作用:
正向解析:根据主机名称(域名)查找对应的IP地址。
反向解析:根据IP地址查找对应的主机域名。
#########DNS服务器的配置选项内容解释##########
1.DNS服务的信息说明:
网络类型:
IN:表示网络是Internet
基本记录:
A:Address,正向记录,域名到ip
AAAA:域名到IPV6的映射
PTR:Printer,反向,ip到域名
可选记录:
MX:代表域内的邮件服务器
CNAME:域名的别名
区记录:
SOA:start of authority ,标示域内主dns服务器
NS:代表域内的dns服务器,标示授权子域
host -l example.com ##查看域中的所有主机
dig -t soa example.com ##辅助dns
软件包: bind、bind-chroot、bind-utils、caching-nameserver
bind ##提供了域名服务的主要程序及相关文件
bind-chroot ##为bind提供一个伪装的根目录以增强安全性
(将“/var/named/chroot/”文件夹作为BIND的根目录)
bind-utils ##提供了对DNS服务器的测试工具程序(如nslookup、dig等)
cache-nameserver ##提供了一些配置样例文件
(如果没有安装bind-chroot软件包,则主配置文件默认位于 /etc/named.conf,数据文件默认保存在 /var/named/ 目录)
/etc/named.conf ##DNS主配置文件
/var/named ##DNS区文件(zone)存放目录
【注:为了实验简单些,这里没有使用伪装的目录】
named是标准的系统服务脚本,监听TCP、UDP协议的53端口,以及TCP的953端口:
UDP 53端口一般对所有客户机开放,以提供解析服务;
TCP 53端口一般只对特定从域名服务器开放,提高解析记录传输通道
TCP 953端口默认只对本机(127.0.0.1)开放,用于为rndc远程管理工具提供控制通道
############配置主DNS服务器(有正向和反向解析)############
安装
yum install -y bind bind-utils
2.
背景:
hjy.qq.com是主dns服务器,IP是172.25.8.10,
有2个计算机进行域名解析,www和abc,IP是172.25.8.13~14
1)
vim /etc/named.conf ##dns配置文件,包含对根域服务器named.ca的引用
在options中参数修改如下: ##全局设定
listen-on port 53 { any; }; ##监听本地53端口,any表示允许任何IP监听
// listen-on-v6 port 53 { ::1; }; ##注释关闭ipv6选项
allow-query { any; }; ##允许与本地直连的网络使用dns服务
//include "/etc/named.root.key"; ##根安全及远程管理,注释掉这最后一行
2)
vim /etc/named.rfc1912.zones ##该文件定义区qq.com,区指zone(更多域名,可在此文件中继续添加)
zone "qq.com" IN { ##定义了对qq.com的正向解析
type master;
file "qq.com.zone"; ##正向解析配置文件名为qq.com.zone,此区文件中有资源记录
allow-update { none; };
};
zone "8.25.172.in-addr.arpa" IN { ##该文件定义区qq.com的反向解析
type master;
file "8.25.172.zone"; ##反向向解析配置文件名为8.25.172.zone,此区文件中有资源记录
allow-update { none; };
};
3)
vim /var/named/qq.com.zone
$TTL 1D
@ IN SOA hjy.qq.com. root.qq.com. ( ##@代替qq.com,写全域名后必须有.
0 ; serial ##序列号
1D ; refresh ##刷新间隔
1H ; retry ##重试间隔
1W ; expire ##过期间隔
3H ) ; minimum ##最小TTL
IN NS hjy.qq.com. ##NS记录,授权的子域
hjy IN A 172.25.8.10 ##A记录,相对名hjy,全名是hjy.qq.com
www IN A 172.25.8.13 ##A记录,相对名www,全名是
abc IN A 172.25.8.14 ##A记录
4)vim /var/named/8.25.172.zone
$TTL 1D
@ IN SOA hjy.qq.com. root.qq.com. ( ##@代替8.25.172.in-addr.arpa,root.qq.com是管理员邮箱
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS qq.com. ##NS记录,授权的子域
10 IN PTR hjy.qq.com. ##PTR记录,IP到域名的解析
13 IN PTR .
14 IN PTR abc.qq.com.
5)检查配置文件
named-checkconf /etc/named.conf
named-checkzone qq.com /var/named/qq.com.zone
named-checkzone 8.25.172.in-addr.arpa /var/naemd/8.25.172.zone
6)检查无误启动named
systemctl start named
7)测试DNS是否生效
vim /erc/resolv.conf
search qq.com hjy.qq.com
nameserver 172.25.8.10
8)使用host和dig命令进行解析
[root@localhost ~]# host hjy.qq.com
hjy.qq.com has address 172.25.8.10
[root@localhost ~]# host
has address 172.25.8.13
[root@localhost ~]# host abc.qq.com
abc.qq.com has address 172.25.8.14
[root@localhost ~]# host 172.25.8.13
13.8.25.172.in-addr.arpa domain name pointer .
############配置辅助DNS服务器#############
继续编辑主DNS服务器的/etc/named.conf
添加新的options参数:
options {
dierectory "/var/named";
allow-transfer {172.25.8.11;}; ##指定辅助服务器的IP,也可以为any
2.辅助服务器上安装
yum install -y bind
3.辅助服务器编辑配置文件
1)
vim /etc/name.conf
注释原来的options,新添加:
options {
directory "/var/named";
};
logging { 【这些内容留下,其他注释掉】
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN { 【这些内容留下,其他注释掉】
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";【这些内容留下,其他注释掉】
//include "/etc/named.root.key"; ##根安全及远程管理,注释掉这最后一行
2)
vim /etc/named.rfc1912.zones
zone "qq.com" IN {
type slave;
file "slaves/qq.com.zone";
masters {172.25.8.10;}; ##注意是masters
};
zone "8.25.172.in-addr.arpa" IN {
type slave;
file "slaves/8.25.172.zone";
masters {172.25.8.10;}; ##注意是masters
};
3)辅助服务器检查配置文件
named-checkconf /etc/named.conf
4)辅助服务器查看并开启named
ls /var/named/slaves/ ##此时该目录为空
systemct start named ##启动naemd守护进程
5)辅助服务器查看/var/named/slaves/
ls /var/named/slaves/
8.25.172.zone qq.com.zone ##从主服务器复制过来的正向和反向解析
6)辅助服务器测试DNS是否生效
vim /etc/resolv.conf
search qq.com
nameserver 172.25.8.11
7)使用host和dig命令进行解析
[root@slave ~]# host
has address 172.25.8.13
[root@server ~]# host 172.25.8.14
14.8.25.172.in-addr.arpa domain name pointer abc.qq.com.
############配置转发DNS服务器#############
如果DNS服务器配置为DNS转发模式,其实就是创建成缓存服务器
只用编辑name.conf,不需要使用zone语句设置区
1) vim /etc/name.conf
options{
dierectory "/var/named";
forwarder {172.25.8.20 ##转发目的DNS服务器ip地址
172.25.8.30
};
forwared only; ##只进行转发服务
};
2)开启nameds
systemct start named ##启动naemd
############DNS负载均衡############
背景:例如FTP服务器访问者很多,通过使用对DNS的配置达到负载均衡的目的,3台FTP服务器的内容完全相同,
3台FTP服务器IP为172.25.8.15~17,统一使用一个域名ftp.qq.com
在刚才的主服务器上直接做
1)编辑qq.com.zone
vim /var/named/qq.com.zone
$TTL 1D
@ IN SOA hjy.qq.com. root.qq.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS hjy.qq.com.
hjy IN A 172.25.8.10
www IN A 172.25.8.13
abc IN A 172.25.8.14
ftp IN A 172.25.8.15
ftp IN A 172.25.8.16
ftp IN A 172.25.8.17
2)编辑8.25.172.zone
vim /var/named/8.25.172.zone
$TTL 1D
@ IN SOA hjy.qq.com. root (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS qq.com.
10 IN PTR hjy.qq.com.
13 IN PTR .
14 IN PTR abc.qq.com.
15 IN PTR ftp.qq.com.
16 IN PTR ftp.qq.com.
17 IN PTR ftp.qq.com.
3)重新启动
systemctl restart named
【注意:之前配置过转发服务器,如果出现错误,按照named-check /etc/named.conf检查排错】
4)正向反向测试
[root@localhost ~]# host ftp.qq.com
ftp.qq.com has address 172.25.8.17
ftp.qq.com has address 172.25.8.15
ftp.qq.com has address 172.25.8.16
[root@localhost ~]# host 172.25.8.15
15.8.25.172.in-addr.arpa domain name pointer ftp.qq.com.
[root@localhost ~]# host 172.25.8.16
16.8.25.172.in-addr.arpa domain name pointer ftp.qq.com.
[root@localhost ~]# host 172.25.8.17
17.8.25.172.in-addr.arpa domain name pointer ftp.qq.com.