CentOS下使用Bind配置DNS服务

一、DNS简介

二、Bind安装

三、Bind配置

四、Bind检查配置文件

五、验证

六、常见错误

七、待整理

一、DNS简介

DNS(Domain Name Service),域名解析服务。

发展史:

1、早期计算机比较少时人们通过创建修改自己计算机上的hosts文件来实现IP与域名的对应关系。

2、为了统一管理,更快地更新到最新的hosts文件,人们统一到一台ftp服务器上下载hosts文件。

3、当计算机爆炸性增长时,通过统一到ftp服务器上下载更新hosts文件不现实,于是产生了多级域来管理域名。上级域名只负责给下级域授权。

域名类型:

【根域】

.

【一级域/顶级域】

组织域、商业机构域:com, com.cn, org, gov, edu, net

国家域:cn, hk, tw, jp, kr, ir, iq, my, us, uk, ru, jp

反向域:in-addr-arpa

【二级域】

baidu.com    sina.com.cn    google.cn    163.com

例:(在此忽略TTL说明)
用户202.96.128.1设置的DNS服务器为:8.8.8.8,它要获取 tieba.baidu.com 的IP地址。过程如下:
1、202.96.128.1先查询本地有没查询缓存,如果没有则向DNS服务器查询。
2、DNS服务器8.8.8.8先务器的信息,因此它不会直接返回 tieba.baidu.com 的IP,而是告诉 DNS服务器8.8.8.8 :“com. 的地址是 1.1.1.1,你去找它查询吧。”
4、8.8.8.8到com中询问。同理,com. 域中不存放tieba.baidu.com 的IP,它会返回信息给DNS服务器8.8.8.8 :“ baidu.com. 的地址是 10.10.10.10,你去找它查询吧。”
5、此时DNS服务器8.8.8.8向baidu.com. 查询 tieba.baidu.com 的地址,baidu.com 会返回tieba.baidu.com. 的IP:12.12.12.12给DNS服务器。
6、DNS服务器接收到查询结果后会把记录缓存下来方便用户以后查询,同时返回查询结果给用户202.96.128.1。

二、Bind安装

Bind(Berkeley Internet Name Domain)

CentOS中使用yum安装:yum install bind bind-utils bind-libs portreserve

portreserve 我也不知道是什么,依赖关系安装了它
bind-libs bind要用到的库
bind-utils 一些工具,nslookup,host,dig等
bind 就是作域名解析的安装包

三、Bind配置

# vim /etc/named.conf    # 修改监听地址和允许查询配置
       listen-on port 53 { 192.168.86.16; };   //设置bind监听在192.168.86.16:53
        allow-query     { 192.168.86.0/24; };  //设置允许192.168.86.0网段设置为DNS服务器来查询
# vim /etc/named.rfc1912.zones    # 增加contoso.com域和反向解析192.168.86.arpa
zone "contoso.com" IN {
        type master;
        file "contoso.com";    //文件名一定要跟后面创建的zone文件(/var/named/下的)对应
        allow-update { none; };
};
zone "86.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.86.arpa"; //文件名一定要跟后面创建的zone文件(/var/named/下的)对应
        allow-update { none; }; 
};

# vim /var/named/contoso.com

$TTL 1800

@IN SOAcontoso.com. admin.contoso.com. (

0; serial

1D; refresh

1H; retry

1W; expire

3H ); minimum

@INNSlinuxdns.contoso.com.

linuxdnsINA192.168.86.16

dc01INA192.168.86.1

dc02INA192.168.86.2

*INA192.168.86.12

# vim /var/named/192.168.86.arpa

$TTL 1800

@IN SOAcontoso.com. admin.contoso.com. (

0; serial

1D; refresh

1H; retry

1W; expire

3H ); minimum

@INNSlinuxdns.contoso.com.

16INPTRlinuxdns.contoso.com.

1INPTRdc01.contoso.com.

2INPTRdc02.contoso.com.

# chown named.named /var/named/192.168.86.arpa /var/named/contoso.com

# /etc/init.d/named start

四、Bind检查配置文件

# named-checkconf /etc/named.conf

# named-checkconf /etc/named.rfc1912.zones

# named-checkzone contoso.com /var/named/contoso.com

五、验证

nslookup linuxdns.contoso.com 192.168.86.16

nslookup dc01.contoso.com 192.168.86.16

nslookup dc02.contoso.com 192.168.86.16

dig linuxdns.contoso.com @192.168.86.16

六、常见错误排查

1、bind的配置文件,allow-query、listen-on,

2、zone文件的格式和权限(named需要对文件有读取的权限) # chown -R named.named /var/named/

3、iptables(开放53端口)    # iptables -F

4、selinux(一般设置为permissive或者disabled) # setenforce 0

七、待整理更新

时间: 2024-10-10 14:36:28

CentOS下使用Bind配置DNS服务的相关文章

在CentOS 7系统上架设DNS服务

文档说明: 本文档以一个案例来介绍如何在CentOS 7系统上部署DNS服务.该案例仅是我对如何部署DNS服务的知识总结,并非是生产环境中存在的案例.并且,该案例中用到的CentOS系统均是安装在VMware虚拟机内的,虽然一般情况下这不会有什么不妥,但还是特别说明一下. 案例说明: 本案例使用了两台VMware虚拟机.两台虚拟机上均安装CentOS 7(详细版本号为7.0.1406,核心版本号为3.10.0-123.el7.x86_64),其中一台虚拟机用于模拟Master DNS服务器(假设

在Linux上配置DNS服务

一.DNS服务简介 DNS 是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器. 二.DNS安装配置 准备工作1.配置DNS服务器所需的安装包 DNS服务程序包:bindDNS相关库:bind-libsDNS客户端:bind-utils限制DNS在一个目录中:bind-chroot关闭防火墙:iptables

RHEL6安装配置DNS服务

RHEL6安装配置DNS服务 作者:Eric 微信:loveoracle11g 安装软件包 [[email protected] ~]# yum -y install bind bind-chroot caching-nameserver 修改配置文件,将localhost和127.0.0.1修改为any. [[email protected] ~]# cp /etc/named.conf /etc/named.conf.bak [[email protected] ~]# vim /etc/n

Linux CentOS下安装、配置mysql数据库

如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk.tomcat.eclipse我们就已经能进行我们的程序开发了,但是如果要做一个项目,哪怕是小的不能再小的项目都离不开数

如何在CentOS系统中安装配置SNMP服务

CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统:SNMP(简单网络管理协议)能够使网络管理员提高网络管理效能,及时发现并解决网络问题以及规划网络的增长.网络管理员还可以通过SNMP接收网络节点的通知消息以及告警事件报告等来获知网络出现的问题.本文主要介绍如何在CentOS系统中安装配置SNMP服务. 工具/原料 CentOS操作系统 方法/步骤 使用SNMP服务前

CentOS下NTP安装配置

安装yum install ntp 配置文件 /etc/ntp.confrestrict default kod nomodifynotrap nopeer noqueryrestrict -6 default kod nomodify notrap nopeer noqueryrestrict 127.0.0.1restrict -6 ::1# 用restrict控管权限# nomodify - 用户端不能更改ntp服务器的时间参数# noquery - 用户端不能使用ntpq,ntpc等命令

CentOS下Redisserver安装配置

1.CentOS 6.6下Redis安装配置记录 2.CentOS下Redisserver安装配置

CentOS下OpenVPN客户端配置

CentOS下OpenVPN客户端配置 http://liumissyou.blog.51cto.com/4828343/1762683 1,安装 yum install openvpn -y mkdir /etc/openvpn/etc/ <---证书拷贝到这个目录下. 2.启动 openvpn --daemon --askpass --config a_user.ovpn --log-append /var/log/openvpn.log

centos下smartctl安装配置(硬盘S.M.A.R.T信息及坏块检测命令)

centos下smartctl安装配置 一.什么是S.M.A.R.T. SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及 每一块硬盘(包括IDE.SCSI)在运行的时候,都会将自身的若干参数记录下来 这些参数包括型号.容量.温度.密度.扇区.寻道时间.传输.误码率等 硬盘运行了几千小时后,很多内在的物理参数都会发生变化 某一参数超过报警阈值,则说明硬盘接近损坏 此时硬盘依然在工作,如果用户不理睬这个报警继续使用 那么硬盘将变得非常不可靠,随时可能故障. 二.安装 yum in