CentOS 7 安装配置基础DNS服务,主从域名服务器

DNS 系统的作用及类型

整个 Internet 大家庭中连接了数以亿计的服务器、个人主机,其中大部分的网站、邮件等服务器都使用了域名形式的地址,如 www.google.com、mail.163.com 等。很显然这种地址形式要比使用 64.233.189.147、202.108.33.74 的 IP 地址形式更加直观,且更容易被用户记住

DNS 系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名与 IP 地址的对应关系

DNS的域名解析

  • 正向解析:根据域名查找对应IP地址
  • 反向解析:根据IP地址查找对应的域名DNS系统类型

 DNS系统类型

  • 缓存域名服务器
    • 也成为DNS高速缓存服务器
    • 通过向其他域名服务器查询获取域名->IP地址记录
    • 将与ping查询结果缓存到本地,提高重复查询时的速度
  • 主域名服务器
    • 特定DNS区域的权威服务器,具有唯一性
    • 负责维护该区域内所有域名->IP地址的映射记录
    • 需要自行建立所负责区域的地址数据文件
  • 从域名服务器
    • 也称为辅助域名服务器,是对主域名服务器的热备份
    • 域名->IP地址记录来源于主域名服务器
    • 需要从主域名服务器自动同步区域地址数据库

 主从DNS服务实验

基础设备

系统 主机名IP
CentOS 7ns1.sdgy.com192.168.78.129主域名解析
CentOS 7ns2.sdgy.com192.168.78.130从域名解析
CentOS 7client192.168.78.131客户机

 基础环境

关闭防火墙
systemctl stop firewalld    //关闭防火墙
systemctl disable firewalld    //禁止开机自启动
关闭selinux
vi /etc/selinux/config    //selinux的配置文件

#内容如下
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled    //将SELINUX改为disabled
配置静态IP
主域名服务器
vi /etc/sysconfig/network-scripts/ifcfg-ens33    //ens33网卡的配置文件

#内容如下
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"    //将获取IP方式改为静态static获取
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="2ce64331-c359-4e02-8297-4b279599dd47"
DEVICE="ens33"
ONBOOT="yes"
#添加网络信息
IPADDR="192.168.78.129"    //IP地址
NETMASK="255.255.255.0"    //子网掩码
GATEWAY="192.168.78.2"    //网关

#重启服务
systemctl restart network
 从域名服务器
vi /etc/sysconfig/network-scripts/ifcfg-ens33    //ens33网卡的配置文件

#内容如下
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"    //将获取IP方式改为静态static获取
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="2ce64331-c359-4e02-8297-4b279599dd47"
DEVICE="ens33"
ONBOOT="yes"
#添加网络信息
IPADDR="192.168.78.130"    //IP地址
NETMASK="255.255.255.0"    //子网掩码
GATEWAY="192.168.78.2"    //网关

#重启服务
systemctl restart network
修改主机名称
#主域名服务器
hostnamectl set-hostname ns1.sdgy.com    //修改主机名称为ns1.sdgy.com

#从域名服务器
hostnamectl set-hostname ns2.sdgy.com    //修改主机名称为ns2.sdgy.com

#客户机
hostnamectl set-hostname client   //修改主机名称为client

安装dns服务

安装以下几个软件包

软件包作用
bind-9.9.4-37.el7.x86_64.rpm提供了域名服务的主要程序及相关文件
bind-utils-9.9.4-37.el7.x86_64.rpm提供了对 DNS 服务器的测试工具程序,如 nslookup 等
bind-libs-9.9.4-37.el7.x86_64.rpm提供了 bind、bind-utils 需要使用的库函数
bind-chroot-9.9.4-37.el7.x86_64.rpm为 BIND 服务提供一个伪装的根目录(将/var/named/chroot/文件夹作为 BIND 服务的根目录),以提高安全性
yum -y install bind bind-utils bind-libs bind-chroot

BIND 软件包安装完毕以后,会自动增加一个名为 named 的系统服务,通过 systemctl 工具可以控制 DNS 域名服务的运行

主域名解析服务器需要的配置文件

配置文件路径
named.conf/etc/named.conf主配置文件
sdgy.com.zone/var/named/sdgy.com.zone正向解析文件(自己建立)
192.168.78.arpa/var/named/adgy.com.zone反向解析文件(自己建立)

从域名解析服务器只需要主配置文件一个就够了

主域名解析服务器配置

#编辑主配置文件
vi /etc/named.conf


#内容如下
options {
	listen-on port 53 { any; };	//监听地址和端口 监听53号端口 any代表任何人
	listen-on-v6 port 53 {::1;};
	directory 	"/var/named";			//区域数据文件的默认存放位置
	allow-query 	{ any; };		//允许使用本DNS服务的网段 any表示任何网段都可以使用
};



zone "sdgy.com" IN {		//正向查找“sdgy”区域,域名
	type master;		//类型为主区域
	file "sdgy.com.zone";	//区域数据文件名(可以自己定义任何名字)
	allow-transfer	{192.168.78.130; };	//允许下载的从服务器地址
};

zone "78.168.192.in-addr.arpa" IN {		//反向查找查找“192.168.78.0/24”区域,填写允许使用dns网段(客户端)的IP网段,反着写
	type master;		//类型为主区域
	file "192.168.78.arpa";	//区域数据文件名(可以自己定义任何名字)
	allow-transfer	{192.168.78.130; };	//允许下载的从服务器地址
};
正向查找配置文件

正向查找文件名必须与主配置文件named.conf配置的文件名称对应

NS、MX 记录行首的“@”符号可以省略(默认继承 SOA 记录行首的@信息),但是必须保留一个空格或 Tab 制表符

#在/var/named/创建正向查找配置文件,这个文件时有模板的模板在/var/named/下名称是named.localhost
cd /var/named/        //进入named目录

cp named.localhost sdgy.com.zone    //复制模板到sdgy.com.zone

vi sdgy.com.zone        //编辑文件

#内容如下
$TTL 1D                                                        //有效解析记录的生存周期
@       IN SOA  sdgy.com. admin.sdgy.com. (                    /SOA标记  域名  管理邮箱
                                        0       ; serial        //更新序列号,可以是10 位以内的整数
                                        1D      ; refresh       //刷新时间,重新下载地址数据的间隔
                                        1H      ; retry         //重试延时,下载失败后的重试间隔
                                        1W      ; expire        //失效时间,超过该时间仍无法下载则放弃
                                        3H )    ; minimum       //无效解析记录的生存周期
@       NS      ns1.sdgy.com.        //NS(Name Server,域名服务器):记录当前区域的 DNS 服务器的主机地址   主域名服务器
        NS      ns1.sdgy.com.        //从域名服务器
        MX  10  mail.sdgy.com.       //MX(Mail Exchange,邮件交换):记录当前区域的邮件服务器的主机地址,数字 10 表示(当有多个 MX 记录时)选择邮件服务器的优先级,数字越大,优先级越低。
ns1     A       192.168.78.129       //A(Address,地址):记录正向解析条目。例如,“ns1  A 192.168.78.129”表示域名 ns1.sdgy.com 对应的 IP 地址是 192.168.78.129。
ns2     A       192.168.78.130
www     A       192.168.78.111
mail    A       192.168.78.110
*       A       192.168.78.112        //*表示泛指 ,即除了定义的域名以外其他所有域名都指向192.168.78.112
反向查找配置文件

反向查找文件名必须与主配置文件named.conf配置的文件名称对应

反向区域数据文件中,不会用到 A 记录,而是使用 PTR 指针(Point)记录

#在/var/named/创建反向查找配置文件,这个文件时有模板的模板在/var/named/下名称是named.loopback
cd /var/named/        //进入named目录

cp named.loopback 192.168.78.arpa    //复制模板到192.168.78.arpa

vi 192.168.78.arpa        //编辑文件

#内容如下
$TTL 1D
@	IN SOA	sdgy.com. admin.sdgy.com. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	ns1.sdgy.com.
	NS	ns2.sdgy.com.
129	PTR	ns1.sdgy.com.
130	PTR	ns2.sdgy.com.        //使用 PTR 记录时,第一列只需要指明对应 IP 地址的“主机地址”部分即可,如“129”或“130” 等,系统在查找地址记录时会自动将当前反向域的网络地址作为前缀。例如,上述文件中的“129 IN PTR ns1.sdgy.com.”表示 IP 地址为 192.168.78.129 的主机的域名是 ns1.sdgy.com
111	PTR	www.sdgy.com.
110	PTR	mail.sdgy.com.

验证配置文件是否有错误
#验证主配置文件
named-checkconf -z /etc/named.conf     //验证
#结果
zone sdgy.com/IN: loaded serial 0
zone 78.168.192.in-addr.arpa/IN: loaded serial 0

#验证正向查找文件
named-checkzone sdgy.com sdgy.com.zone     //验证
#结果
zone sdgy.com/IN: loaded serial 0
OK

#验证反向查找文件
named-checkzone 78.168.192.in-addr-arpa 192.168.78.arpa     //验证
#结果
zone 78.168.192.in-addr-arpa/IN: loaded serial 0
OK
更改文件权限
chown named:named /etc/named.conf    //主配置文件权限
chown named:named /var/named/sdgy.com.zone    //正向解析配置文件权限
chown named:named /var/named/192.168.78.arpa    //反向解析配置文件权限
启动named服务
systemctl start named    //启动服务
systemctl enable named    //设置服务开机自启动

客户机验证主域名服务器

vi /etc/resolv.conf    //编辑域名解析映射文件

#内容如下
# Generated by NetworkManager
nameserver 192.168.78.129    //更改解析服务IP指向主域名解析服务器

使用nslookup命令验证域名解析

#正向查找
nslookup ns1.sdgy.com    //验证域名解析
#内容如下
Server:		192.168.78.129
Address:	192.168.78.129#53

Name:	ns1.sdgy.com
Address: 192.168.78.129

#反向查找
nslookup 192.168.78.129    //验证IP解析
#内容如下
129.78.168.192.in-addr.arpa	name = ns1.sdgy.com.

从域名服务器配置

vi /etc/named.conf    //编辑主配置文件

#内容如下
options {
        directory       "/var/named";
};

zone "sdgy.com" IN {    //域名    
        type slave;
        masters {192.168.78.129;};    //指向主域名服务器IP
        file "slaves/sdgy.com.zone";    //指向主域名服务器正向查找文件
};

zone "78.168.192.in-addr.arpa" IN {
        type slave;
        masters {192.168.78.129;};    //指向主域名服务器IP
        file "slaves/192.168.78.arpa";    //指向主域名服务器反向查找文件
};


从域名服务器验证

客户机验证主域名服务器

vi /etc/resolv.conf    //编辑域名解析映射文件

#内容如下
# Generated by NetworkManager
nameserver 192.168.78.130    //更改解析服务IP指向从域名解析服务器

使用nslookup命令验证域名解析

#正向查找
nslookup ns1.sdgy.com    //验证域名解析
#内容如下
Server:		192.168.78.129
Address:	192.168.78.129#53

Name:	ns1.sdgy.com
Address: 192.168.78.129

#反向查找
nslookup 192.168.78.129    //验证IP解析
#内容如下
129.78.168.192.in-addr.arpa	name = ns1.sdgy.com.

  • 34
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值