安装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. Kinect 开发 —— 骨骼追踪(下)

    Kinect 连线游戏 在纸上将一些列数字(用一个圆点表示)从小到大用线连起来.游戏逻辑很简单,只不过我们在这里要实现的是动动手将这些点连起来,而不是用笔或者鼠标. 在开始写代码之前,需要明确定义我们 ...

  2. Node.js REPL(交互式解析器)

    Node.js REPL(交互式解释器) Node 自带了交互式解释器,可以执行以下任务: 读取 - 读取用户输入,解析输入了Javascript 数据结构并存储在内存中. 执行 - 执行输入的数据结 ...

  3. spark ml阅读笔记

    参考文档:http://www.cnblogs.com/huliangwen/p/7491797.html

  4. vim--学习之emmet插件前端开发

    Emmet 在vim的使用: 1.嵌套 <ctr+y>+,(ctr+y+逗号三者的组合键,ctr+y一起按在按逗号)相当于Ememet中的Tab键. 2.内容的包围: 写好内容,退出编辑模 ...

  5. 关于vue.js中v-model与表单控件的双向绑定。

    单选框:<input type="checkbox" id="checkbox" v-model="checked"><l ...

  6. flask_wtf flask 的 CSRF 源代码初研究

    因为要搞一个基于flask的前后端分离的个人网站,所以需要研究下flask的csrf防护原理. 用的扩展是flask_wtf,也算是比较官方的扩展库了. 先上相关源代码: def validate_c ...

  7. 手机浏览器,微信浏览器对background-color不显示的问题

    PC上的浏览器可以正常显示,但是到了手机上就不显示了,古怪的问题花了我一晚上都没解决. 今天突然想到会不会是某些特立独行的了浏览器为了彰显个性,采用不同别人的解析方式呢? 我的原来CSS是这么写的: ...

  8. [Angular] Create a custom validator for reactive forms in Angular

    Also check: directive for form validation User input validation is a core part of creating proper HT ...

  9. iOS_31_cocos2d_微信飞机

    终于效果图: 纹理素材 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400 ...

  10. OpenCASCADE Job - 上海地目