奔牛网>服务器>DNS服务器>>centos下DNS服务器部署
2017年10月07日

centos下DNS服务器部署

在互联网中使用IP地址唯一的标识一台计算机,IP地址有两个版本,IPV4和IPV6,IPV4地址由32位二进制组成的,采用的是点分10进制表示的,分为4个字段,每个字段的范围都是0-255.但是这种表示方法对于我们来说记忆起来不是很方便,我们在浏览一个网站的时候,输入的并不是IP地址,而是域名表示的URL,DNS服务器的作用就是为各种网络程序找到对应目标主机的IP地址或对应的主机域名。把域名翻译成对应的IP地址,以便访问。

DNS系统的作用:

正向解析:根据主机名称(域名)查找对应的IP地址(实际应用中最多的)

反向解析:根据IP地址查找对应的主机域名(不常用,一般用于搭建邮件服务器时。)

根据服务器与所提供域名解析记录的关系,将DNS服务器分为不同的角色:

缓存域名服务器

也称为 唯高速缓存服务器

通过向其他域名服务器查询获得域名->IP地址记录

将域名查询结果缓存到本地,提高重复查询时的速度

主域名服务器

特定DNS区域的官方服务器,具有唯一性

负责维护该区域内所有域名->IP地址的映射记录

从域名服务器(通俗一点就是用于备份DNS服务器的)

也称为 辅助域名服务器

其维护的 域名->IP地址记录 来源于主域名服务器

搭建DNS服务应用的软件为:BIND(Berkeley Internet Name Daemon)

官方站点:

https://www.isc.org/





DNS资源记录类型


DNS服务器在提供名称解析时,会查询自己的数据库,在该数据库中包含了DNS区域资源信息的资源记录(resource record,RR)。常见的资源记录如下: 

SOA(Start of Authority Record起始授权记录): 在一个区域中是唯一的,定义了一个区域的全局参数,进行整个区域的管理。 

NS(Name Server名称服务器):在一个区域中至少有一条,记录了一个区域中的授权的DNS服务器。 

A(Address地址记录):记录了FQDN和IP地址的对应关系。 

CNAME(Canonical Name别名记录):别名记录。可以隐藏内部网络的细节。 

PTR:反向记录,将IP地址映射到FQDN。 

MX(Mail eXchange):邮件交换记录。指向一个邮件服务器,根据收件人的地址后缀决定邮件服务器。


bind的安装和配置


bind概述


在Linux系统中提供DNS服务的软件是Bind,也是最常用的软件,几乎90%的DNS服务器都是采用BIND。 

DNS服务器采用的端口是UDP 53端口和TCP 53端口。


UDP 53端口:用于名称解析。 

TCP 53端口:用于区域传输。


因此在配置防火墙时要同时放行TCP和UDP的53端口。


bind安装


1、查看是否已安装Bind软件包,默认只有下面两个

[root@centos named]# rpm -qa | grep bind  

bind-libs-9.8.2-0.47.rc1.el6_8.4.x86_64

bind-utils-9.8.2-0.47.rc1.el6_8.4.x86_64

 

 

2、安装下面的这两个软件包:

bind-chroot-9.8.2-0.47.rc1.el6_8.4.x86_64

bind-9.8.2-0.47.rc1.el6_8.4.x86_64

[root@centos named]# yum -y install bind-chroot-9.8.2-0.47.rc1.el6_8.4.x86_64 bind-9.8.2-0.47.rc1.el6_8.4.x86_64

 

安装完成查看是否成功安装

[root@localhost ~]# rpm -qa | grep bind

bind-devel-9.8.2-0.47.rc1.el6_8.4.x86_64

bind-utils-9.8.2-0.47.rc1.el6_8.4.x86_64

bind-chroot-9.8.2-0.47.rc1.el6_8.4.x86_64

bind-libs-9.8.2-0.47.rc1.el6_8.4.x86_64

bind-9.8.2-0.47.rc1.el6_8.4.x86_64

//看到这个说明安装成功

 

本例中配置ip地址为:192.168.1.10 子网掩码255.255.255.0

主机名为centos.linux.com   并关闭防火墙和selinux

3、配置ip地址,子网掩码

[root@centos named]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

 

 

 

DNS根据实际情况配置。可以配置谷歌的8.8.8.8,也可以是您当地宿主机的dns

4、更改主机名

[root@centos named]# vim /etc/sysconfig/network    

5、更改selinux为disabled

[root@centos named]# vim /etc/selinux/config    

 

6、关闭防火墙守护进程

7、重启系统,让配置生效

 

8、设置主DNS服务器:

 

先做一个备份,防止出错不能够恢复

 

9、编辑主配置文件,修改两个地方为any

[root@centos named]# vim /etc/named.conf

10、编辑主配置文件

 

添加正、反向记录

 

 

 

 

一定要删除最后面的这两行,否则可能出错

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

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

 

11、修改正向配置文件

cd /var/named/                  //进入这个目录

cp named.localhost  linux.com.zone   //将name.localhost 作为正向解析文件的模板,复制成linux.com.zone。在linux.com.zone里面更改 注意:最后的 点   这里面用tab键补齐,别用空格

 

 

12、修改反向配置文件(提示:可以拷贝正向解析文件去然后进行更改)

 

 

 

 

13、主配置,正反向配置完以后,检查bind文件配置过程中容易出错的地方,以下命令用于检查bind配置文件以及zone文件语法

[root@Allen ~]# named-checkconf /etc/named.conf

[root@Allen ~]# named-checkzone linux.com /var/named/linux.com.zone

这里是检查正向:

 

 

这里是检查反向:

 

 

 

iptables开放53端口

[root@localhost named]# iptables -I INPUT -p udp --dport 53 -j ACCEPT

[root@localhost named]# iptables -I INPUT -p tcp --dport 53 -j ACCEPT

[root@localhost named]# service iptables save

iptables:将防火墙规则保存到/etc/sysconfig/iptables:[确定]

14、然后/etc/resolve.conf   添加自己的ip地址为域名服务器ip  我自己的是

192.168.1.10

 

 

 

15、启动dns守护进程

[root@centos etc]# service named start           

 

16、检查之前先看下 配置文件有没有读取权限 ll /var/named

(如果没有读取权限, chmod +r /var/named/*  即可)

 

如果出现报错,输入

[root@centos etc]# tail /var/log/messages

查看错误文件,并更改

 

 

正向解析成功

 

[root@centos named]# nslookup www.linux.com

Server:       192.168.1.10

Address:     192.168.1.10#53

 

www.linux.com canonical name = centos.linux.com.

Name:  centos.linux.com

Address: 192.168.1.10

 

 

反向解析成功

 

[root@centos named]# nslookup 192.168.1.10

Server:       192.168.1.10

Address:     192.168.1.10#53

 

10.1.168.192.in-addr.arpa  name = centos.linux.com.

10.1.168.192.in-addr.arpa  name = www.linux.com.

 

 

如果出现解析不成功的情况:

[root@centos named]# service network restart   //先重启网络

Shutting down interface eth0:                              [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface eth0:  Determining if ip address 192.168.1.10 is already in use for device eth0...

                                                           [  OK  ]

[root@centos named]# service named restart   //再重启DNS服务   最后再去尝试解析

Stopping named: .                                          [  OK  ]

Starting named:                                            [  OK  ]


顶(0)
踩(0)
最新评论