安装bind

yum install -y bind bind-chroot bind-utis

如果是Centos 5

# yum -y install bind caching-nameserver

文件结构

# ll /etc/named.*
-rw-r----- 1 root named 1021 May  8 16:39 /etc/named.conf
-rw-r--r-- 1 root named 2389 Mar 10 23:55 /etc/named.iscdlv.key
-rw-r----- 1 root named 1073 May  9 11:27 /etc/named.rfc1912.zones
-rw-r--r-- 1 root named  487 Jul 19  2010 /etc/named.root.key

# tree /var/named/
/var/named/
├── chroot
│   ├── dev
│   │   ├── null
│   │   ├── random
│   │   └── zero
│   ├── etc
│   │   ├── localtime
│   │   ├── named
│   │   ├── named.conf
│   │   ├── named.iscdlv.key
│   │   ├── named.rfc1912.zones
│   │   ├── named.root.key
│   │   ├── pki
│   │   │   └── dnssec-keys
│   │   └── rndc.key
│   ├── usr
│   │   └── lib64
│   │       └── bind
│   └── var
│       ├── log
│       ├── named
│       │   ├── 199.168.192.zone
│       │   ├── app.com.zone
│       │   ├── chroot
│       │   │   ├── dev
│       │   │   │   ├── null
│       │   │   │   ├── random
│       │   │   │   └── zero
│       │   │   ├── etc
│       │   │   │   ├── localtime
│       │   │   │   ├── named
│       │   │   │   ├── named.conf
│       │   │   │   ├── named.iscdlv.key
│       │   │   │   ├── named.rfc1912.zones
│       │   │   │   ├── named.root.key
│       │   │   │   ├── pki
│       │   │   │   │   └── dnssec-keys
│       │   │   │   └── rndc.key
│       │   │   ├── usr
│       │   │   │   └── lib64
│       │   │   │       └── bind
│       │   │   └── var
│       │   │       ├── log
│       │   │       ├── named
│       │   │       ├── run
│       │   │       │   └── named
│       │   │       │       ├── named.pid
│       │   │       │       └── session.key
│       │   │       └── tmp
│       │   ├── data
│       │   │   └── named.run
│       │   ├── dynamic
│       │   │   ├── managed-keys.bind
│       │   │   └── managed-keys.bind.jnl
│       │   ├── named.ca
│       │   ├── named.empty
│       │   ├── named.localhost
│       │   ├── named.loopback
│       │   └── slaves
│       ├── run
│       │   └── named
│       │       ├── named.pid
│       │       └── session.key
│       └── tmp
├── data
│   └── named.run
├── dynamic
│   ├── managed-keys.bind
│   └── managed-keys.bind.jnl
├── named.ca
├── named.empty
├── named.localhost
├── named.loopback
└── slaves

BIND配置文件保存在:

/etc/named.conf    主配置文件

/var/named/         域zone文件位置

配置修改:

vim /etc/named.conf

vim /etc/named.rfc1912.zones

vim /var/named/app.com.zone

SOA表示授权开始
/*上面的IN表示后面的数据使用的是INTERNET标准。而@则代表相应的域名,如在这里代表app.com,即表示一个域名记录定义的开始。而ns.app.com则是这个域的主域名服务器,而root.app.com.则是管理员的邮件地址。注意这是邮件地址中用.来代替常见的邮件地址中的@.而SOA表示授权的开始
*/
1 ; serial (d. adams) /*本行前面的数字表示配置文件的修改版本,格式是年月日当日修改的修改的次数,每次修改这个配置文件时都应该修改这个数字,要不然你所作的修改不会更新到网上的其它DNS服务器的数据库上,即你所做的更新很可能对于不以你的所配置的DNS服务器为DNS服务器的客户端来说就不会反映出你的更新,也就对他们来说你更新是没有意义的。
*/
1D ; refresh
/*定义的是以为单位的刷新频率 即规定从域名服务器多长时间查询一个主服务器,以保证从服务器的数据是最新的
*/
1H ;retry
/*上面的这个值是规定了以秒为单位的重试的时间间隔,即当从服务试图在主服务器上查询更时,而连接失败了,则这个值规定了从服务多长时间后再试
*/
1W ; expiry
/*上面这个用来规定从服务器在向主服务更新失败后多长时间后清除对应的记录,上述的数值是以分钟为单位的
*/
3H )
/*上面这个数据用来规定缓冲服务器不能与主服务联系上后多长时间清除相应的记

*/

@               IN     NS   ns.app.com.
ns.app.com.             IN     A    192.168.199.61
www.app.com.            IN     A    192.168.199.60
mail.app.com.           IN     MX 5  ns.app.com.
nginx1          IN     CNAME    www

/*上面的第一列表示是主机的名字,省去了后面的域。
NS:表示是这个主机是一个域名服务器,
A:定义了一条A记录,即主机名到IP地址的对应记录
MX 定义了一邮件记录
CNAME:定义了对应主机的一个别名

vim /var/named/199.168.192.zone

@ IN SOA ns.app.com. root.app.com. (
12 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.app.com.
/*以上的各关键字的含义跟app.com是相同的
@       IN NS   ns.app.com.
61      IN PTR  ns.app.com.
60      IN PTR  www.app.com.
60      IN PTR  nginx1.app.com.
/*
上面的第二列表示的是主机的IP地址。省略了网络地址部分。如61完整应该是:
192.168.199.61
PTR:表示反向记录
最后一列表示的是主机的域名。
 
语法检测:
named-checkconf /etc/named.conf #配置文件检测
named-checkzone app.com /var/named/app.com.zone #zone文件检测

防火墙设置:

vim /etc/sysconfig/iptables #配置防火墙端口

-AINPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT

-AINPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

-AINPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT

客户端测试:

# cat /etc/resolv.conf
nameserver 192.168.199.61

# yum install bind-utils

nslookup

dig

host

故障排查

#  tail -f /var/log/messages  | grep named
#  service named restart

zone xxx.xxx/IN: loading from master file xxx.xxx.xxx failed: permission denied
named[4089]: zone xxx.xxx /IN: not loaded due to errors.

报此错误是因为 named 服务是通过 named用户身份运行的没有读取/var/named下配置文件的权限

执行 chmod +r /var/named/* 即可

参考:

Linux下搭建DNS服务器和配置文件(named.conf)祥解

错误集合

Centos6.4环境下DNS服务器的搭建

Centos 6 DNS Server 配置的更多相关文章

  1. dns server 配置

    # cat /etc/named.conf//// named.conf//// Provided by Red Hat bind package to configure the ISC BIND ...

  2. CentOS 7 samba server 配置

    samba是linux上的文件共享服务软件,相当与Windows上的共享文件夹,当然也是要在同一网段上的. 当前用的版本是4.4.4,好吧!下面介绍怎么去安装配置它,here we go! 1. 安装 ...

  3. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  4. Centos 6 DNS 配置 解决 Unknown host

    测试服务器Maven 打包时遇到了如下的错误 maven.aliyun.com: Name or service not known: Unknown host maven.aliyun.com: N ...

  5. CentOS 6.4安装配置ldap

    CentOS 6.5安装配置ldap 时间:2015-07-14 00:54来源:blog.51cto.com 作者:"ly36843运维" 博客 举报 点击:274次 一.安装l ...

  6. DNS 安装配置

    DNS 安装配置 实验环境 一台主机:Linux Centos 6.5 32位 安装包: DNS服务:bind.i686 DNS测试工具:bind-utils DNS 服务安装 1.yum安装DNS服 ...

  7. centos搭建dns服务

    原文:(https://www.myjinji.top/articles/2020/04/02/1585800289945.html)[https://www.myjinji.top/articles ...

  8. CentOS防火墙iptables的配置方法详解

    CentOS系统也是基于linux中的它的防火墙其实就是iptables了,下面我来介绍在CentOS防火墙iptables的配置教程,希望此教程对各位朋友会有所帮助. iptables是与Linux ...

  9. CentOS 6.6安装配置LAMP服务器(Apache+PHP5+MySQL)

    准备篇: CentOS 6.6系统安装配置图解教程 http://www.osyunwei.com/archives/8398.html 1.配置防火墙,开启80端口.3306端口 vi /etc/s ...

随机推荐

  1. OpenLayers3基础教程——OL3之Popup

    概述: 本节重点讲述OpenLayers3中Popup的调用时实现,OL3改用Overlay取代OL2的Popup功能. 接口简单介绍: overlay跟ol.control.Control一样,是一 ...

  2. 关于HashMap

    总是觉得对HashMap很熟悉,但最近连续被问到几个关于它的问题,才发现它其实并不简单.这里对关于它的一些问题做个总结,也希望能够大家一个参考. 都知道它是基于hash值,可以进行常量时间消化的存储结 ...

  3. 用SSL保Samba安全

    用SSL保Samba安全          在企业中用Samba做为文件服务器是非常容易的事了,那如何保证存储数据的安全,如何保证数据传输的安全呢?我以前介绍过通过Samba安全级别和加装防病毒软件在 ...

  4. Self-Taught Learning to Deep Networks

    In this section, we describe how you can fine-tune and further improve the learned features using la ...

  5. Oracle新建表字段,如何使字段自增

    oracle的自增需要依靠序列和触发器共同实现 比如 新建一张表 create table test (id int primary key, name varchar2(10));   创建一个序列 ...

  6. tortoisegit--无法commit

    tortoisegit--无法提交,好几次使用tortoisegit,commit的时候出现卡死的情况,导致无法提交代码. 分析错误以为是: 电脑的性功能有关,但重启好几次电脑一人无济于事,打开任务管 ...

  7. 【DRF分页】

    目录 第一种 PageNumberPagination 查第n页,每页显示n条数据 第二种 LimitOffsetPagination 在第n个位置,向后查n条数据 第三种 CursorPaginat ...

  8. 托管非托管Dll动态调用

    原文:托管非托管Dll动态调用 最近经常看到有人问托管非托管Dll调用的问题.对于动态库的调用其实很简单.网上很多代码都实现了Dll的静态调用方法.我主要谈论下动态库的动态加载. 对于托管动态库,实现 ...

  9. 【习题 8-9 1613】 K-Graph Oddity

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 感觉最大度数|1就是最多需要的个数了. 就贪心一下. 然后模拟染色的过程就可以了. (贪心染色就可以了 (看看周围哪个颜色没有,就用 ...

  10. NYOJ_75 日期计算 (推断这一天是这一年中的第几天)

    题目地址 如题,输入一个日期,格式如:2010 10 24 ,推断这一天是这一年中的第几天. 分析:   官方给的最优答案用了for 和switch语句结合,十分巧妙. 代码 /* 如题,输入一个日期 ...