安装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. 暑假集训-二分图,网络流,2-SAT

    匈牙利算法DFS bool dfs(int u){ ; i <= n; i++){ if(a[u][i] && !visit[i]){ visit[i] = true; || d ...

  2. Android WebView页面加载优化

    目前webapp越来越多,体验也越来越好,为了能够更好的使用WebView展示出流畅的的页面,可以从以下几点做优化: WebView缓存 资源文件本地存储 减少耗时操作 客户端UI优化 可能有人会说了 ...

  3. js实现 导航移入移出效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. find---查找文件或目录

    ind命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录和文件全部进行 ...

  5. traceroute----追踪数据包在网络上的传输过程

    traceroute命令 用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节. traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间.一条路径上的每 ...

  6. IE兼容性开发的笔记

    当前项目组开发的产品对外承诺支持IE9和IE11,但在推广应用过程中发现存在相当比例的用户实际上还在使用IE8.而这相当比例中的用户还包含了大部分的公司领导.为了满足公司内部各阶层人士体验我们产品的诉 ...

  7. 【hadoop之翊】——CentOS6.5 Linux上面编译Hadoop2.4源代码

    今天来说说编译hadoop源代码的事情吧~ 1.首先下载源代码 地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.4.0/ 2.加压t ...

  8. SSO 中间件 kisso

    SSO 中间件 kisso kisso  =  cookie sso,基于 Cookie 的 SSO 中间件.kisso 不是一套完整的登录系统, 它的定位是一把高速开发 java Web 单点登录系 ...

  9. 自己定义控件的onMeasure方法具体解释

    在我们自己定义控件的时候可能你会用到onMeasure方法,以下就具体的给大家介绍一下这种方法: @Override protected void onMeasure(int widthMeasure ...

  10. 爬虫爬数据时,post数据乱码解决的方法

    近期在写一个爬虫,目标站点是:http://zx.bjmemc.com.cn/.可能是为了防止被爬取数据,它给自身数据加了密. 用谷歌自带的抓包工具也不能捕获到数据. 于是下了Fiddler.     ...