Centos 7.0 配置DNS服务器(主从配置)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos 7.0 配置DNS服务器(主从配置)相关的知识,希望对你有一定的参考价值。
本章博文对DNS服务器进行了简述,并搭建实验模拟Centos 7.0配置Master DNS服务器 及配置Slave (冗余) DNS服务器 。
DNS简介:
DNS定义:
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
过程简述:
1、当用户访问互联网主机,如:www.sina.com.cn,本地计算机首先会查看自己的DNS Cache里有没有该域名解析的缓存,有则直接解析;
2、若本地缓存没有该域名解析,就查看hosts文件,看有没有该域名解析,有则给出解析结果;
3、若没有就请求域内DNS Server服务器,DNS Server服务器确认是否有该域名解析,有则给出解析结果;
4、若没有就请求互联网根DNS服务器,根DNS Server服务器确认是否有该域名解析,有则给出解析结果;
5、若没有,根DNS服务器将告知用户去.cn的DNS服务器请求解析。用户访问顶级域名.cn的DNS服务器,有则给出解析结果;
6、若没有,顶级域名.cn的DNS服务器将告知用户访问.com.cn的DNS服务器去解析改主机。用户访问域名.com.cn的DNS服务器,有则给出解析结果;
7、若没有,二级域名.com.cn的DNS服务器将告知用户访问sina.com.cn的DNS服务器去解析改主机。用户访问域名sina.com.cn的DNS服务器,给出主机www.sina.com.cn 的解析结果;
DNS记录类型及概述:
A记录: 主机记录 ,作用就是说明一台主机与IP地址的对应关系 。如:www.baidu.com ip 220.181.111.188
NS记录与SOA记录:NS记录表示域名服务器记录,用来指定该域名由哪些DNS服务器来进行解析;SOA 资源记录表明此 DNS服务器是为该域中的主DNS服务器,SOA记录设置一些数据版本和更新以及过期时间的信息.
MX记录:被称为邮件交换器记录,MX记录用于说明哪台服务器是当前区域的邮件服务器。如163.com 的mx 记录为163.com mail exchanger = 10 163mx03.mxmail.netease.com.
SRV记录:是服务器资源记录的缩写,记录了哪台计算机提供了哪些服务 。
Cname记录:被称为别名记录,就是一个服务器有多个域名,如www.baidu.com 的CNAME记录为www.a.shifen.com
PTR记录:指针记录,用于ip地址到完全合格域名的解析 。
实验部署:
环境:
主域名服务器:ns1.bicionline.org. IP:172.16.10.175
从域名服务器:ns2.bicionline.org. IP:172.16.10.185
系统均为CentOS 7.0最小化安装
解决思路:1、配置主机名、dns地址指向本机、关闭firewalld.service 和SELINUX,安装DNS bind、bind-chroot、bind-utils 文件
2、配置named.conf文件,创建域正向区域与反向区域,并配置区域文件
配置步骤:
一、基础环境配置,以ns01.bicionline.org 为例
1、配置主机名:
[[email protected] ~]# hostnamectl set-hostname ns01.bicionline.org
[[email protected] ~]# hostname
ns01.bicionline.org
2、dns地址指向本机ip地址
[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=static #静态ip
IPADDR=172.16.10.175 #手动分配静态ip地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=172.16.10.254 #网关地址
DNS1=172.16.10.175 #dns地址,指向本机ip
ONBOOT=yes #开机自启动
wq:
[[email protected] ~]# systemctl restart network.service #重新启动
3、关闭firewalld.service 和SELINUX
[[email protected] ~]# systemctl stop firewalld.service
[[email protected] ~]# systemctl disable firewalld.service #禁用开机自启动
[[email protected] ~] vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加改行内容
:wq #保存退出
[[email protected] ~]#setenforce 0 #使配置立即生效
4、安装DNS bind、bind-chroot、bind-utils 文件
[[email protected] ~]
# yum install -y bind bind-chroot bind-utils -y
#bind-utils:bind客户端程序集,例如dig, host, nslookup等;
[[email protected] ~]# systemctl start named.service
[[email protected] ~]# systemctl enable named.service #开机自启动
5、以相同配置方式配置ns02.bicionline.org
二、安装配置
1、配置ns01.bicionline.org为主dns服务器
a、调整named.conf 文件
[[email protected] ~]# cp /etc/named.conf /etc/named.conf.bak
#备份副本
[[email protected] ~]# vi /etc/named.conf
options {
listen-on port 53 { 127.0.0.1;172.16.10.175; }; #添加本机ip地址
//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";
allow-query { any; }; #允许所有主机发起dns请求解析
allow-transfer { 172.16.10.185
; };
# 设置允许把DNS区域做数据传送到从DNS服务器 172.16.10.185
forwarders { 202.102.224.68; };
# 配置DNS转发器,若本DNS服务器无法解析,则发送到指定服务器进
recursion
yes
;
dnssec-
enable
no;
# 安全设置关闭
dnssec-validation no;
# 安全设置关闭};
:wq
[[email protected] ~]# systemctl restart named.service
[[email protected] etc]# named-checkconf #语法检查,默认检查/etc/named.conf文件
b、添加正向与反向区域文件
[[email protected] etc]# cp named.rfc1912.zones named.rfc1912.zones.back
[[email protected] etc]# vi named.rfc1912.zones
zone "bicionline.org" IN { #定义bicionline.org 区域
type master;
file "bicionline.org.zone"; #域bicionline.org 正向区域文件路径:/var/named/bicionline.org.zone
allow-update { none; }; #定义禁止更新
};
zone "10.16.172.in-addr.arpa" IN { #定义反向区域
type master;
file "10.16.172.zone";
allow-update { none; };
};
:wq
[[email protected] ~]# systemctl restart named.service
[[email protected] etc]# named-checkconf /etc/named.rfc1912.zones #语法检查
c、配置正向区域文件
[[email protected] named]# cp -a /var/named/named.localhost /var/named/bicionline.org.zone
[[email protected] named]# chmod 755 /var/named/bicionline.org.zone #分配权限
[[email protected] named]# chown root:named /var/named/bicionline.org.zone #定义所属宿主及分组
[[email protected] named]# vi bicionline.org.zone
$TTL 1D
@ IN SOA ns01.bicionline.org. rname.invalid. (
#起始授权记录,SOA主机 ns01.bicionline.org. 注意后面的 . 符号
0 ; serial #序列号
1D ; refresh #刷新时间间隔
1H ; retry #重试时间间隔
1W ; expire #过期时间间隔
3H ) ; minimum
NS ns01.bicionline.org. #NS主机 ns01.bicionline.org. 注意后面的.符号
NS ns02.bicionline.org.
A 172.16.10.175 #域bicionline.org解析记录
MX 10 cas01.bicionline.org.
#MX记录,注意格式 ,MX + 优先级 + 主机名称 只,值越小,优先级越高。
ns01 A 172.16.10.175 #定义主机A记录
ns02 A 172.16.10.185
cas01 A 172.16.10.202
mail A 172.16.10.203
:wq
[[email protected] ~]# named-checkzone bicionline.org.zone /var/named/bicionline.org.zone #检查文件语法是否准确
zone bicionline.org.zone/IN: loaded serial 0
OK #返回ok 即文件格式正确
d、配置反向区域文件
[[email protected] named]# cp -a /var/named/named.localhost /var/named/10.16.172.zone
[[email protected] named]# chmod 755 /var/named/10.16.172.zone #分配权限
[[email protected] named]#chown root:named /var/named/10.16.172.zone #定义所属宿主及分组
[[email protected] named]#vi /var/named/10.16.172.zone
$TTL 1D
@ IN SOA ns01.bicionline.org. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns01.bicionline.org.
175 IN PTR ns01.bicionline.org. #定义PTR指针 ,注意主机名后面的.符号
185 IN PTR ns02.bicionline.org.
202 IN PTR cas01.bicionline.org.
203 IN PTR mail.bicionline.org.
:wq
[[email protected] ~]# named-checkzone bicionline.org.zone /var/named/10.16.172.zone #检查文件语法是否准确
zone bicionline.org.zone/IN: loaded serial 0
OK #返回ok 即文件格式正确
e、验证dns服务器
[[email protected] ~]# systemctl restart named.service
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
[[email protected] ~]# nslookup #验证解析结果
> bicionline.org
Server: 172.16.10.175
Address: 172.16.10.175#53
Name: bicionline.org
Address: 172.16.10.175
> cas01
Server: 172.16.10.175
Address: 172.16.10.175#53
Name: ns01.bicionline.org
Address: 172.16.10.202
> set type=mx
> bicionline.org
Server: 172.16.10.175
Address: 172.16.10.175#53
bicionline.org mail exchanger = 10 cas01.bicionline.org.
> 172.16.10.175
Server: 172.16.10.175
Address: 172.16.10.175#53
175.10.16.172.in-addr.arpa name = ns01.bicionline.org.
至此,ns01.bicionline.org主DNS服务器配置完成,并验证成功 。
2、配置ns02.bicionline.org为辅助dns服务器
a、调整named.conf 文件
[[email protected] ~]# cp /etc/named.conf /etc/named.conf.bak
#备份副本
[[email protected] ~]# vi /etc/named.conf
options {
listen-on port 53 { 127.0.0.1;172.16.10.185; }; #添加本机ip地址
//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";
allow-query { any; }; #允许所有主机发起dns请求解析
allow-transfer { none
; };
# 设置禁止把DNS区域做数据传送
recursion
yes
;
dnssec-
enable
no;
# 安全设置关闭
dnssec-validation no;
# 安全设置关闭};
:wq
[[email protected] ~]# systemctl restart named.service
[[email protected] etc]# named-checkconf #语法检查,默认检查/etc/named.conf文件
b、添加正向与反向区域文件,对比与主DNS服务器配置的区别。
[[email protected] etc]# cp named.rfc1912.zones named.rfc1912.zones.back
[[email protected] etc]# vi named.rfc1912.zones
zone "bicionline.org" IN { #定义bicionline.org 区域
type slave;
file "slaves/bicionline.org.zone"; #域bicionline.org 正向区域文件存储路径为:/var/named/slaves/bicionline.org.zone
masters { 172.16.10.175; }; #从主DNS服务器172.16.10.175进行数据复制
};
zone "10.16.172.in-addr.arpa" IN { #定义反向区域
type slave;
file "salves/10.16.172.zone";
masters { 172.16.10.175; };
};
:wq
[[email protected] ~]# systemctl restart named.service
[[email protected] etc]# named-checkconf
c、重载配置
[[email protected] named]# rndc reload
server reload successful
[[email protected] named]# systemctl reload named.service
d、验证dns服务器
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
[[email protected] ~]# nslookup #验证解析结果
> ns01
Server: 172.16.10.185
Address: 172.16.10.185#53
Name: ns01.bicionline.org
Address: 172.16.10.175
> ns02
Server: 172.16.10.185
Address: 172.16.10.185#53
Name: ns02.bicionline.org
Address: 172.16.10.185
> bicionline.org
Server: 172.16.10.185
Address: 172.16.10.185#53
Name: bicionline.org
Address: 172.16.10.175
> set type=mx
> bicionline.org
Server: 172.16.10.185
Address: 172.16.10.185#53
bicionline.org mail exchanger = 10 cas.bicionline.org.
至此,从DNS服务器ns02.bicionline.org完成安装
整体实验排错思路:a、使用named-checkconf 及 named-checkzone 检查文件语法是否正确。
b、 是否关闭防火墙及SELINUX功能 。
c、使用netstat 及ps 命令查看端口是否处于侦听状态,进程是否启用 。
d、区域文件的属性是否有X权限 ,宿主是否为named 。
综合以上实验 ,实现了ns01主DNS配置 及ns02从DNS的配置 。当然针对域环境也可以配置两台主DNS服务器,每一台DNS服务器配置参考步骤‘1、配置ns01.bicionline.org’ 即可 ,两台DNS服务器共同为域服务。这在实验就不在一一描述 。希望该博文可对DNS服务器的工作原理及配置进一步加深认知 。
本文出自 “Wish_亮” 博客,请务必保留此出处http://wishliang.blog.51cto.com/11439802/1953586
以上是关于Centos 7.0 配置DNS服务器(主从配置)的主要内容,如果未能解决你的问题,请参考以下文章
Centos DNS服务-bind主从配置与基于TSIG加密的动态更新
Linux Centos 6.5 DNS主从复制配置(bind-9.8.2)
Linux Centos 6.5 DNS主从复制配置(bind-9.8.2)