DNS服务的配置

DNS服务器

  1. DNS服务器概念
    在互联网上通信需要借助于IP地址,但人类对于数字的记忆能力远不如文字,那么将IP地址转换成容易记忆的文字是个好办法,可是计算机只能识别0、1代码,这时就需要一种机制来解决IP地址与主机名的转换问题
    DNS全称为Domain Name System,即域名系统,其作用就是将我们经常使用的“网址”解析为IP地址
  2. DNS相关概念
    DNS利用树形目录结构,将主机名的管理分配给不同的层级,这样可以实现更加快速的完成主机名的查找,修改主机名解析时也更加方便

域:
TLD:Top Level Domain (顶级域名)
组织域:.com, .org, .net, .edu,.gov,.mil,.cc,…
国家域:.cn, .us, .tw, .iq,…
反向域: .in-addr-arpa
在这里插入图片描述

FQDN:
FQDN全称为Fully Qualified Domain Name,即完全合格域名
FQDN由两个部分组成:主机名和域名。因为DNS是逐级管理的 ,所以在不同的层级中主机名与域名也是不同
的;以www.google.com为例,在第二层中,.com就是域名,google就是主机名,而到了第三层
中,.google.com就成了域名,www就成了主机名
正向解析:
从FQDN转换为IP地址称为正向解析
反向解析:
从IP地址转换为FQDN称为反向解析
区域:
正向解析或反向解析中,每个域的记录就是一个区域

  1. DNS服务器解析
    DNS的主要作用是进行主机名的解析
    解析:根据用户提供一种名称,去查询解析库,以得到另一种名称。 域名—>IP,IP—>域名
    资源记录:rr(resource record)
    有类型的概念;用于此记录解析的属性
    SOA记录:起始授权记录,一个区域文件只能有一个
    A记录:用来指定主机名(或域名)对应的IP地址记录。(AAAA ipv6)
    CNAME记录:别名解析(域名)
    NS记录:域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。
    MX记录:邮件交换记录,指向邮件服务器
    PTR记录:反向DNS记录,A记录的反向
    TTL值:生存时间,DNS记录在DNS服务器上缓存时间

  2. DNS服务器原理
    DNS采用两种查询机制:递归和迭代
    客户端向DNS服务器发起查询请求,DNS服务器搜索本地解析库没有结果,于是向根域发起查询请求,根域告诉DNS服务器.com服务器上有它需要的资源,DNS服务器又向.com服务器发起查询请求,结果被告知.google.com服务器上有它想要的结果,最后终于在.google.com服务器上找到了解析记录,并返回给了客
    户端。
    在上面的查询过程中,客户端只发起了一次请求,并得到了最后的结果,这种查询方式被称为递归 而DNS服务器在查询过程中不停的发起请求,直到找到想要的结果,这种查询方式被称为迭代

  3. DNS查询顺序
    本地hosts文件
    本地DNS缓存
    本地DNS服务器
    发起迭代查询

  4. DNS服务器端口
    TCP UDP 53

  5. DNS服务器类型
    主DNS服务器:为客户端提供域名解析的主要区域,主DNS服务器宕机,会启用从DNS服务器提供服务
    从DNS服务器 :主服务器DNS长期无应答,从服务器也会停止提供服务
    主从区域之间的同步采用周期性检查+通知的机制,从服务器周期性的检查主服务器上的记录情况,一旦发现修改就会同步,另外主服务器上如果有数据被修改了,会立即通知从服务器更新记录
    缓存服务器:服务器本身不提供解析区域,只提供非权威应答
    转发服务器:当DNS服务器的解析区域(包括缓存)中无法为当前的请求提供权威应答时,将请求转发至其它的DNS服务器,此时本地DNS服务器就是转发服务器

DNS服务器的搭建

关闭防火墙&Selinux

[root@linux ~]# systemctl stop firewalld
[root@linux ~]# systemctl disable firewalld
[root@linux ~]# setenforce 0
setenforce: SELinux is disabled
[root@linux ~]# getenforce
Disabled

安装DNS服务器软件

[root@web ~]# yum -y install bind-chroot
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package bind-chroot.x86_64 32:9.9.4-50.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================
 Package             Arch           Version                 Repository        Size
===================================================================================
Installing:
 bind-chroot         x86_64         32:9.9.4-50.el7         c7-media          86 k

Transaction Summary
===================================================================================
Install  1 Package

Total download size: 86 k
Installed size: 3.3 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 32:bind-chroot-9.9.4-50.el7.x86_64                              1/1 
  Verifying  : 32:bind-chroot-9.9.4-50.el7.x86_64                              1/1 

Installed:
  bind-chroot.x86_64 32:9.9.4-50.el7                                               

Complete!

修改主配置文件及网卡文件

#主配置文件/etc/named.conf

vi /etc/named.conf
listen-on port 53 { any; }; #服务器上的所有IP地址均可提供DNS域名解析服务
allow-query { any; }; #允许所有人对本服务器发送DNS查询请求
named-checkconf 命令检测语法

#网卡文件/etc/sysconfig/network-scripts/ifcfg-ens33
添加dns为需要配置的dns服务器地址

[root@localhost named]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
DNS=192.168.130.131

修改区域配置文件

#用来保存域名和IP地址对应关系的所在位置,在这个文件中,定义了域名与IP地址解析规则保存的文件位置以及服务类型等内容,而没有包含具体的域名、IP地址对应关系等信息。服务类型有三种,分别为hint(根区域)、master(主区域)、slave(辅助区域),其中常用的master和slave指的就是主服务器和从服务器

[root@linux ~]# vi /etc/named.rfc1912.zones 
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package 
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
// 
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//


zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };
};

zone "bk.com" IN {
        type master;			#服务类型
        file "bk.com.zone";			#域名与IP地址解析规则保存文件
        allow-update { 192.168.130.0; };			#允许哪些客户机动态更新解析信息
};			#正向解析参数

zone "130.168.192.in-addr.arpa" IN {
        type master;
        file "130.168.192.zone";
};			#反向解析参数

正向解析

编辑数据配置文件。从/var/named目录中复制一份正向解析的模板文件(named.localhost),然后把域名和IP地址的对应数据填写数据配置文件中并保存。在复制时记得加上-a参数,这可以保留原始文件的所有者、所属组、权限属性等信息

[root@linux ~]# cd /var/named
[root@linux named]# cp -a named.localhost bk.com.zone 
cp: overwrite ‘bk.com.zone’? y
[root@linux named]# vi bk.com.zone
  1 $TTL 1D
  2 @       IN SOA  bk.com. root.bk.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8 @               NS      ns.c74.com.
  9 ns      IN      A       192.168.130.128
 10         IN      MX 10   mail.c74.com.
 11 mail    IN      A       192.168.130.128
 12 www     IN      A       192.168.130.128
 13 news    IN      A       192.168.130.200

启动服务及测试

[root@linux named]# systemctl restart named
[root@linux named]# yum install -y bind-utils			#bind-utils为客户端 测试dns使用
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package bind-utils.x86_64 32:9.9.4-50.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================
 Package             Arch            Version                     Repository   Size
===================================================================================
Installing:
 bind-utils          x86_64          32:9.9.4-50.el7             c7          203 k

Transaction Summary
===================================================================================
Install  1 Package

Total download size: 203 k
Installed size: 435 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 32:bind-utils-9.9.4-50.el7.x86_64                               1/1 
  Verifying  : 32:bind-utils-9.9.4-50.el7.x86_64                               1/1 

Installed:
  bind-utils.x86_64 32:9.9.4-50.el7                                                

Complete!
[root@linux named]# nslookup 
> www.bk.com
Server:         192.168.130.128
Address:        192.168.130.128#53

Name:   www.bk.com
Address: 192.168.130.128
> ns.bk.com                
Server:         192.168.130.128
Address:        192.168.130.128#53

Name:   ns.bk.com
Address: 192.168.130.128
> mail.bk.com
Server:         192.168.130.128
Address:        192.168.130.128#53

Name:   mail.bk.com
Address: 192.168.130.128

反向解析

#反向解析的作用是将用户提交的IP地址解析为对应的域名信息,它一般用于对某个IP地址上绑定的所有域名进行整体屏蔽,屏蔽由某些域名发送的垃圾邮件

编辑配置文件

[root@linux ~]# cd /var/named
[root@linux named]# cp -a named.loopback 192.168.130.arpa
  1 $TTL 1D
  2 @       IN SOA  bk.com. root.bk.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         IN      NS      ns.bk.com.
  9 128     IN      PTR     www.bk.com.
 10 200     IN      PTR     news.bk.com.
 11 128     IN      PTR     ftp.bk.com.

启动服务及测试

[root@linux ~]# systemctl restart named
[root@linux ~]# nslookup               
> 192.168.130.128      
Server:         192.168.130.128
Address:        192.168.130.128#53

128.130.168.192.in-addr.arpa    name = ftp.bk.com.
128.130.168.192.in-addr.arpa    name = www.bk.com.
128.130.168.192.in-addr.arpa    name = mail.bk.com.
> 192.168.130.200
Server:         192.168.130.128
Address:        192.168.130.128#53

200.130.168.192.in-addr.arpa    name = news.bk.com.

DNS高级之主从服务

#在DNS域名解析服务中,从服务器可以从主服务器上获取指定的区域数据文件,从而起到备份解析记录与负载均衡的作用,因此通过部署从服务器可以减轻主服务器的负载压力,还可以提升用户的查询效率。
#其中主服务器为192.168.130.128,从服务器为192.168.130.200,及192.168.130.132

修改主服务器的区域配置文件

#在主服务器的区域配置文件中允许该从服务器的更新请求,即修改allow-update {允许更新区域信息的主机地址;};参数,然后重启主服务器的DNS服务程序

[root@linux ~]# vi /etc/named.rfc1912.zones 
  1 // named.rfc1912.zones:
  2 //
  3 // Provided by Red Hat caching-nameserver package
  4 //
  5 // ISC BIND named zone configuration for zones recommended by
  6 // RFC 1912 section 4.1 : localhost TLDs and address zones
  7 // and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
  8 // (c)2007 R W Franks
  9 //
 10 // See /usr/share/doc/bind*/sample/ for example named configuration files.
 11 //
 12 
 13 
 14 zone "localhost" IN {
 15         type master;
 16         file "named.localhost";
 17         allow-update { none; };
 18 };
 19 
 20 zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
 21         type master;
 22         file "named.loopback";
 23         allow-update { none; };
 24 };
 25 
 26 zone "1.0.0.127.in-addr.arpa" IN {
 27         type master;
 28         file "named.loopback";
 29         allow-update { none; };
 30 };
 31 
 32 zone "0.in-addr.arpa" IN {
 33         type master;
 34         file "named.empty";
 35         allow-update { none; };
 36 };
 37 
 38 zone "bk.com" IN {
 39         type master;
 40         file "bk.com.zone";
 41         allow-update { 192.168.130.0; };
 42         also-notify { 192.168.130.0; };
 43 };
 44 
 45 zone "130.168.192.in-addr.arpa" IN {
 46         type master;
 47         file "130.168.192.arpa";
 48 };
 
[root@linux ~]# vi /etc/resolv.conf			#在此文件中将主从服务器的IP地址写入
# Generated by NetworkManager
nameserver 192.168.130.128
nameserver 192.168.130.200

修改从服务器的区域配置文件

#在从服务器中填写主服务器的IP地址与要抓取的区域信息,然后重启服务。注意此时的服务类型应该是slave(从),而不再是master(主)。masters参数后面应该为主服务器的IP地址,而且file参数后面定义的是同步数据配置文件后要保存到的位置,稍后可以在该目录内看到同步的文件

[root@web ~]# vi /etc/named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };
};

zone "bk.com" IN {
        type slave;
        masters { 192.168.130.128; };
        file "slaves/bk.com.zone";
};

zone "130.168.192.in-addr.arpa" IN {
        type slave;
        masters { 192.168.130.128; };
        file "slaves/130.168.192.arpa";
};

[root@web ~]# vi /etc/resolv.conf			#在此文件中将主从服务器的IP地址写入
# Generated by NetworkManager
nameserver 192.168.130.128
nameserver 192.168.130.200

启动服务及测试

#在主服务器上重启服务,在从服务器上也重启服务,然后查看/var/named/slaves/目录下是否有同步了的文件,然后使用nslookup命令在从服务器上测试

[root@web ~]# systemctl restart named
[root@web ~]# cd /var/named/slaves/
[root@web slaves]# ls  
192.168.130.arpa  bk.com.zone
[root@web slaves]# nslookup               
> www.bk.com
Server:         192.168.130.128
Address:        192.168.130.128#53

Name:   www.bk.com
Address: 192.168.130.128
> mail.bk.com
Server:         192.168.130.128
Address:        192.168.130.128#53

Name:   mail.bk.com
Address: 192.168.130.128
> news.bk.com
Server:         192.168.130.128
Address:        192.168.130.128#53

Name:   news.bk.com
Address: 192.168.130.200
> 192.168.130.128
Server:         192.168.130.128
Address:        192.168.130.128#53

128.130.168.192.in-addr.arpa    name = ftp.bk.com.
128.130.168.192.in-addr.arpa    name = mail.bk.com.
128.130.168.192.in-addr.arpa    name = www.bk.com.
> 192.168.130.200  
Server:         192.168.130.128
Address:        192.168.130.128#53

200.130.168.192.in-addr.arpa    name = news.bk.com.

使用Windows server 2008环境配置DNS从服务器

配置DNS环境

安装好Windows server 2008 环境,然后打开服务器管机器,点击角色→添加角色
在这里插入图片描述
选择DNS服务器并进行安装
在这里插入图片描述
安装后找到DNS服务器,鼠标右击选择配置DNS服务器
在这里插入图片描述
选择第二项
在这里插入图片描述
选择辅助区域
在这里插入图片描述
填入主服务器的IP地址
在这里插入图片描述
创建反向查找区域,填入对应的IP地址网段
在这里插入图片描述
将此服务器的IP地址配置为静态,并将主从服务器的IP地址填入DNS服务器地址中
在这里插入图片描述

在配置linux的从服务器时,查看slaves下的配置文件为乱码,则在named.conf文件的options中添加
masterfile-format text;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值