DNS服务器的学习和搭建

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

#########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,全名是www.qq.com

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  www.qq.com.

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 www.qq.com

www.qq.com 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 www.qq.com.


############配置辅助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 www.qq.com

www.qq.com 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  www.qq.com.

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.











本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1903322,如需转载请自行联系原作者
目录
相关文章
|
8天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
|
12天前
|
弹性计算 运维
新 企业级ECS集群运维管理训练营 打卡学习领好礼
新 企业级ECS集群运维管理训练营 打卡学习领好礼
54 3
|
22天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
65 3
|
26天前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
48 4
|
1月前
|
存储 固态存储 安全
阿里云服务器X86计算架构解析与X86计算架构云服务器收费价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中X86计算是用户选择最多的一种架构,本文将深入探讨阿里云X86计算架构的云服务器,包括其技术特性、适用场景、性能优势以及最新价格情况。
|
1月前
|
域名解析 网络协议 CDN
阿里云服务器购买后如何解析域名,三步操作即可解析绑定
阿里云服务器购买后如何解析域名,三步操作即可解析绑定
|
1月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
1月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
ly~
|
1月前
|
网络协议 应用服务中间件 Apache
如何在 DNS 记录中设置反向代理服务器?
要设置反向代理服务器,首先需安装配置软件(如 Nginx 或 Apache),并确保域名正确指向服务器 IP。接着,在 DNS 中设置 A 或 CNAME 记录,将域名指向反向代理服务器。然后编辑 Nginx 或 Apache 的配置文件,将请求转发至后端服务器。最后,通过浏览器访问域名测试配置是否成功,并使用工具检查请求流向和响应情况。
ly~
128 3
ly~
|
1月前
|
域名解析 网络协议 Linux
如何测试 DNS 记录中的反向代理服务器是否生效?
本文介绍了三种测试反向代理服务器配置的方法。首先,通过命令行工具如 `ping`、`nslookup` 和 `dig` 检查域名解析是否指向正确的 IP 地址。其次,利用 Web 浏览器访问域名,验证页面加载正常且请求头信息无误。最后,借助网络抓包工具如 `Wireshark` 和 `tcpdump` 分析数据包,确保请求正确转发并返回预期响应。
ly~
101 2

相关产品

  • 云解析DNS
  • 推荐镜像

    更多