CentOS6.7 DNS配置

简介:

CentOS6.7 DNS配置

 

DNSDomain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数字串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53,服务器之间备份使用TCP

 

1DNS的一些基本概念:

1)、根域 .

根域“.”(点),我们的网站www.qq.com,其实完整的写法是www.qq.com.(最后有一个点),我们都习惯了省略输入,这就是根域。全世界只有13台“根“服务器,1个主根服务器,其他的12台是辅助根服务器,DNS服务器根据使用的角色有:主DNS、从DNS、缓存DNSDNS转发服务器。

 

2)、域名的划分

根域下面就是顶级域或者叫一级域:

有两种划分方式,一种互联网刚兴起时的按照行业性质划分的com.net.等,一种是按国家划分的如cn.jp.,等。

每个域都会有域名服务器,也叫权威域名服务器。

 

51cto.com就是一个顶级域名,而www.51cto.com却不是顶级域名,他是在51cto.com这个域里的叫做www的主机。

一级域之后还有二级域,三级域,只要我买了一个顶级域,并且我搭建了自己BIND服务器(或者其他软件搭建的)注册到互联网中,那么我就可以随意在前面多加几个域了(当然长度是有限制的)。

比如a.www.51cto.com,在这个网址中,www.51cto.com变成了一个二级域而不是一台主机,主机名是a

 

3)、域名服务器

能提供域名解析的服务器,记录类型可以是A(address)记录,NS记录(name server),MXmail),CNAME等。

A记录 又称IP指向,用户可以在此设置子域名并指向到自己的目标主机地址上,从而实现通过域名找到服务器。

 

4)、域名解析过程

1)、现在我有一台计算机,通过ISP接入了互联网,访问www.51cto.com,首先操作系统会检查本地的hosts文件是否有这个网址的映射关系,如果有,就先调用这个IP地址,完成域名解析。

2)、如果host文件里面没有这个域名映射,则使用本地的ISPDNSISP提供的)解析服务器,如果有这个网址的映射,就会返回,完成域名解析。

3)、如果缓存中没有的话,ISPDNS会从配置文件里面读取13个根域名服务器的地址(这些地址是不变的,直接在BIND的配置文件中),

4)、然后像其中一台发起请求。

5)、根服务器拿到这个请求后,知道他是com.这个顶级域名下的,所以就会返回com域中的NS记录,一般来说是13台主机名和IP

6)、然后ISPDNS向其中一台再次发起请求,com域的服务器发现你这请求是51cto.com这个域的,com域的服务器一查发现了这个域的NS,那就返回给51cto.com ip,你再去查。

7)、ISPDNS不厌其烦的再次向51cto.com这个域的权威服务器发起请求,51cto.com收到之后,查了下有www的这台主机,就把这个IP返回给你了.

8)、然后ISPDNS拿到了之后,将其返回给了客户端,并且把这个保存在高速缓存中。

 

 

 

2DNS的安装和配置

 

Linux下的DNS服务器的软件是bind。直接使用yum安装即可。安装后,DNS的服务名称叫named,配置文件存放在/etc/named.conf.

 

yum install bind*        #安装dns软件bind

 

/etc/init.d/named start     #启动 DNS 服务

/etc/init.d/named stop     #关闭 DNS 服务

/etc/init.d/namedre start  #重新启动 DNS 服务

 

 

/var/named/chroot/etc/named.conf    #全局配置文件,

 

vim /var/named/chroot/etc/named.conf         #全局配置文件内容

 

1 //

2 // named.conf

3 //

4 // Provided by Red Hat bind package to configure the ISC BIND named(8)DNS

5 // server as a caching only nameserver (as a localhost DNS resolveronly).

6 //

7 // See /usr/share/doc/bind*/sample/ for example named configurationfiles.

8 //

9

10 options {

11         listen-on port 53 {127.0.0.1; }; #监听的端口的ip(ip可多个,any表示所有)

12         listen-on-v6 port 53 {::1; }             #ipv6的形式

13         directory       "/var/named";     #DNS各域名数据文件默认存放位置

14         dump-file      "/var/named/data/cache_dump.db";

15         statistics-file"/var/named/data/named_stats.txt";

16         memstatistics-file"/var/named/data/named_mem_stats.txt";

17         allow-query     { localhost; }; #允许dns查询的客户机列表any表示所有

18         recursion yes;                #是否允许客户机进行递归查询

19

20         dnssec-enable yes;

21         dnssec-validation yes;

22         dnssec-lookaside auto;

23

24         /* Path to ISC DLV key*/

25         bindkeys-file"/etc/named.iscdlv.key";

26

27         managed-keys-directory"/var/named/dynamic";

28 };

29

30 logging {                                #日志

31         channel default_debug {

32                 file"data/named.run";

33                 severity dynamic;

34         };

35 };

36

37 zone "." IN {                            #根域

38         type hint;    #区域类型。hint为根区域;master为主区域; slave为辅助区

39         file"named.ca";   #对应/var/named/chroot/var/named目录下的配置文件

40 };

41

42 include "/etc/named.rfc1912.zones";

43 include "/etc/named.root.key";


 

 

 

 

配置一个正向解析和反向解析:域名为balichvmip地址为192.168.171.51,步骤:

1)、首先在全局配置文件/var/named/chroot/etc/named.conf增加正向解析的区域,增加内容如下:

 

#balichvm.org正向解析

zone "balichvm.org" IN {

       type master;

       file "balichvm.org.zone";

};

 

#balichvm.org反向解析

zone "171.168.192.in-addr.arpa"IN {

       type master;

       file "192.168.171.zone";

};

 

 

保存配置文件,然后在/var/named/chroot/var/named/目录下下新建balichvm.org.zone的正向解析文件和192.168.171.zone反向解析文件。

 

vim /var/named/chroot/etc/balichvm.org.zone      #编辑正向解析文件

$TTL   86400              #定义生存周期

@      IN      SOA     @      root.balichvm.org. (

                             2015111001      ;serial      #序列号

                             1D             ;refresh  #服务器更新时间

                             1H             ;retry    #重新更新时间

                             1W             ;expire    #失效时间

                             3H)            ;minmun  #缓存时间

@      IN      NS             dns.balichvm.org.      #域名解析记录

@      IN      MX      10    mail.balichvm.org.   #邮件交换

dns       IN      A              192.168.171.51        #主机记录

mail      IN      A              192.168.171.48

www       IN      A              192.168.171.49

bbs       IN      CNAME   www                           #别名记录

 

保存配置文件后,使用named-checkzone命令检查语法是否错误如下:

 

named-checkzone "balichvm.org"/var/named/chroot/var/named/balichvm.org.zone

zone balichvm.org/IN: loaded serial2015111001

OK

 

vim /var/named/chroot/etc/192.168.171.zone        #编辑反向解析文件

$TTL   86400

@    IN    SOA   @    root.balichvm.org. (

                             2015111001      ;serial

                             1D             ;refresh

                             1H             ;retry

                             1W             ;expire

                             3H)            ;minmun

@      IN      NS        dns.balichvm.org.

51     IN       PTR        dns.balichvm.org.      #反向解析

49     IN      PTR        www.balichvm.org.

48     IN      PTR        mail.balichvm.org.

~                                                  

 

保存配置文件后,使用named-checkzone命令检查语法是否错误如下:

 

named-checkzone "171.168.192.in-addr.arpa"/var/named/chroot/var/named/192.168.171.zone

zone 171.168.192.in-addr.arpa/IN: loadedserial 2015111001

OK

 

重启dns服务,然后使用dig命令测试。

 

/etc/init.d/named restart        #重启dns服务

 

测试:

测试过程中,如果有开启防火墙,需要对dns的端口(tcp:53,953udp:53)放行如下:

 

-A INPUT -m state --state NEW -m tcp -p tcp--dport 53 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 953 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp--dport 53 -j ACCEPT

 

保存,退出。然后重启防火墙:/etc/rc.d/init.d/iptables restart

 

 

 

使用dig @dns服务器域名 来找到对应的ip地址,如本机测试:dig@127.0.0.1 www.balichvm.org

 

使用dig @ dns服务器–x ip 来找到对应的域名,如本机测试:dig @127.0.0.1 -x192.168.171.49

 

 

3DNS的转发

 

有些域名本地的DNS无法解析,可以把请求转发到上一级的DNS服务器解析,具体的配置是在全局配置文件/var/named/chroot/etc/named.conf 上的  options{} 增加。如下:

 

       forward first;

       forwarders {8.8.8.8;};

 

 

保存,重启DNS服务。

 

4DNS主从配置

 

首先在防火墙上开放dns的端口(TCP:53,953 udp:53):

-A INPUT -m state --state NEW -m tcp -p tcp--dport 53 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 953 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp--dport 53 -j ACCEPT

 

首先在从服务器上安装bind软件:

yum install bind*      #在从服务器上安装dns软件

 

安装DNS软件之后,把主DNS上的配置文件(/var/named/chroot/etc/named.conf)拷贝到从DNS的服务器上。

 

然后编辑:/var/named/chroot/etc/named.conf 修改如下:

 

###balichvm.org正向解析

zone "balichvm.org" IN {

       type slave;          #服务器类型为 slave

       file "slaves/balichvm.org.zone";

       masters { 192.168.171.50; };             #指定masterip地址

};

 

##balichvm.org反向解析

zone "171.168.192.in-addr.arpa"IN {

       type slave;

       file "slaves/192.168.171.zone";

        masters { 192.168.171.50; };

};

 

保存配置文件,然后启动dns服务。在/var/named/chroot/var/named/slaves 目录下生成和主DNS上一样的配置文件。

 

测试:

使用dig @dns服务器域名 来找到对应的ip地址,如本机测试:dig@127.0.0.1 www.balichvm.org

 

使用dig @ dns服务器–x ip 来找到对应的域名,如本机测试:dig @127.0.0.1 -x192.168.171.49

 

 

测试同步:

在主DNS服务上

/var/named/chroot/var/named/balichvm.org.zone

 

blog   IN      A        192.168.171.47                #增加记录

 

同时修改序列号:只能变大,不能变小:2015111001 ——> 2015111002

 

重启DNS服务器:/etc/init.d/named restart

 

然后在到从dns上测试是否同步。

 

 


本文转自 巴利奇 51CTO博客,原文链接:http://blog.51cto.com/balich/1711983

相关文章
|
3天前
|
数据采集 消息中间件 监控
Flume数据采集系统设计与配置实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入探讨Apache Flume的数据采集系统设计,涵盖Flume Agent、Source、Channel、Sink的核心概念及其配置实战。通过实例展示了文件日志收集、网络数据接收、命令行实时数据捕获等场景。此外,还讨论了Flume与同类工具的对比、实际项目挑战及解决方案,以及未来发展趋势。提供配置示例帮助理解Flume在数据集成、日志收集中的应用,为面试准备提供扎实的理论与实践支持。
20 1
|
23天前
|
缓存 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
38 0
|
1月前
|
网络协议 Linux
Linux DNS服务详解——DNS主从架构配置
Linux DNS服务详解——DNS主从架构配置
403 4
|
2月前
|
域名解析 应用服务中间件 Linux
【服务器】使用域名解析服务器的IP地址并配置SSL证书
【服务器】使用域名解析服务器的IP地址并配置SSL证书
382 0
|
3月前
|
算法 C++ 容器
C++ STL:空间配置器源码解析
C++ STL:空间配置器源码解析
|
3月前
|
应用服务中间件 Linux 网络安全
centos7 下离线安装gcc g++ nginx,并配置nginx进行网络流转发
centos7 下离线安装gcc g++ nginx,并配置nginx进行网络流转发
102 0
|
5天前
|
网络协议
centos8 网卡 Nmcli(是network的简写 Nmcli)配置网络
centos8 网卡 Nmcli(是network的简写 Nmcli)配置网络
10 0
|
16天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
1月前
|
存储 监控 Linux
Flume【部署 02】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
【2月更文挑战第17天】Flume【部署 02】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
26 1
Flume【部署 02】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
|
1月前
|
消息中间件 运维 监控

相关产品

  • 云解析DNS