安装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. 【Android】利用自己定义View的重绘实现拖动移动,获取组件的尺寸

    以下利用一个app来说明怎样利用自己定义View的重绘实现拖动移动.获取组件的尺寸. 例如以下图,触摸拖动,或者轻轻点击屏幕都能移动图片.假设碰到文字,则会弹出提示. 这里是利用自己定义View的重绘 ...

  2. js --- return返回值 闭包

    什么是闭包?这就是闭包! 有权访问另一个函数作用域内变量的函数都是闭包.这里 inc 函数访问了构造函数 a 里面的变量 n,所以形成了一个闭包. function a(){ var n = 0; f ...

  3. 用AOP改善javascript代码

    Aop又叫面向切面编程,用过spring的同学肯定对它非常熟悉,而在js中,AOP是一个被严重忽视的技术点,这篇就通过下面这几个小例子,来说说AOP在js中的妙用. 1, 防止window.onloa ...

  4. POJ 3037 SPFA

    题意: 思路: 我们可以发现 到每个点的速度是一样的 那这就成水题了-. 裸的SPFA跑一哈 搞定 //By SiriusRen #include <cmath> #include < ...

  5. Linux下关机命令的区别 (halt,poweroff,reboot,shutdown,init)

    1.shutdown shutdown命令安全地将系统关机.    而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭.并且login指令会被冻结﹐即新的用户不能再登录 ...

  6. SQL优化工具SQLAdvisor使用(转)

    一.简介 在数据库运维过程中,优化SQL是业务团队与DBA团队的日常任务.例行SQL优化,不仅可以提升程序性能,还能够降低线上故障的概率. 目前常用的SQL优化方式包括但不限于:业务层优化.SQL逻辑 ...

  7. Mblog 部署手册

    准备工作 安装 JDK8 安装图片处理工具:GraphicsMagick1.3.20,下载地址 安装 Maven 准备 IDE (如果你不看源码,可以忽略下面的步骤,直接通过Maven编译war包) ...

  8. shell date 命令说明

    shell date 命令说明 使用方法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式 ...

  9. 有关cascade的结构体

    /* internal cascade classifier */ typedef struct CvCascadeHaarClassifier { CV_INT_HAAR_CLASSIFIER_FI ...

  10. ubuntu-12.04工作区内容变换所属工作区

    最近一直纠结于ubuntu12.04窗口更改所属工作区问题,今天在网上看到了方法.记录下来 主要就是利用快捷键. 1.打开你想移动的窗口 2.使用快捷键Shift + Ctrl + Alt + Dow ...