CentOS6.7 DNS配置

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

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

相关文章
|
1月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
215 1
|
23天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
71 2
|
26天前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
92 1
|
1月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
106 1
|
1月前
|
存储 监控 Linux
在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践
本文详细介绍了在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践,包括使用 `fdisk` 创建分区、`mkfs` 格式化分区、创建挂载点、编辑 `/etc/fstab` 实现永久挂载等步骤,旨在有效管理服务器磁盘空间,提高系统稳定性和可维护性。
121 1
|
1月前
|
机器学习/深度学习 调度
mmseg配置解析 Polynomial Decay 多项式衰减
Polynomial Decay(多项式衰减)是一种常用的学习率调度方法,通过多项式函数逐步减少学习率,帮助模型更好地收敛。公式为:\[ lr = (lr_{initial} - \eta_{min}) \times \left(1 - \frac{current\_iter}{max\_iters}\right)^{power} + \eta_{min} \]。参数包括初始学习率、最小学习率、当前迭代次数、总迭代次数和衰减指数。适用于需要平滑降低学习率的场景,特别在训练后期微调模型参数。
65 0
mmseg配置解析 Polynomial Decay 多项式衰减
|
1月前
|
网络协议 Docker 容器
docker中的DNS配置
【10月更文挑战第5天】
310 1
|
1月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
1月前
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
50 1
|
1月前
|
JSON JavaScript 前端开发
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
87 0

相关产品

  • 云解析DNS