Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1831206
  • 博文数量: 636
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3950
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-06 21:58
个人简介

博客是我工作的好帮手,遇到困难就来博客找资料

文章分类

全部博文(636)

文章存档

2024年(5)

2022年(2)

2021年(4)

2020年(40)

2019年(4)

2018年(78)

2017年(213)

2016年(41)

2015年(183)

2014年(66)

我的朋友

分类: 系统运维

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服务器(有正向和反向解析)############


  1. 安装



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服务器#############


  1. 继续编辑主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转发模式,其实就是创建成缓存服务器


  1. 只用编辑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. 在刚才的主服务器上直接做


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.


阅读(822) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~