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 ]
- 最新评论