1、配置相关参数
yum install -y epel-release setenforce 0 /etc/init.d/iptables stop chkconfig iptables off
2、安装相关包
yum install bind bind-devel bind-utils
3、修改配置文件
一共有四个相关文件:named.ca(根域名配置)、named.conf(dns server主配置文件)、正向解析文件、逆向解析文件
named.ca:
| $ dig -t NS . @192.168.1.1 > /tmp/named.ca # 查询根dns server,并保存为文件,用于named.conf引用 $ cat /tmp/named.ca ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.3 <<>> -t NS . @192.168.1.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54385 ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;. IN NS ;; ANSWER SECTION: . 113146 IN NS j.root-servers.net. . 113146 IN NS k.root-servers.net. . 113146 IN NS l.root-servers.net. . 113146 IN NS m.root-servers.net. . 113146 IN NS a.root-servers.net. . 113146 IN NS b.root-servers.net. . 113146 IN NS c.root-servers.net. . 113146 IN NS d.root-servers.net. . 113146 IN NS e.root-servers.net. . 113146 IN NS f.root-servers.net. . 113146 IN NS g.root-servers.net. . 113146 IN NS h.root-servers.net. . 113146 IN NS i.root-servers.net. ;; Query time: 29 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Tue Dec 13 14:35:01 2016 ;; MSG SIZE rcvd: 228 | 
named.conf:(配置文件使用;和//作为注释)
| $ cat named.conf
//
// named.conf
//
// Provided by Red Hat bind package to  configure the ISC BIND named(8) DNS
// server as a caching only nameserver  (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for  example named configuration files.
//
 
# 主配置
options {
    listen-on  port 53 { 192.168.10.102; };             # 定义端口绑定的ipv4地址,
    //listen-on-v6  port 53 { ::1; };                    # 定义端口绑定的ipv6地址,
    directory   "/var/named";                             # named服务工作目录,
    dump-file   "/var/named/data/cache_dump.db";    # dump数据文件路径,
         statistics-file "/var/named/data/named_stats.txt";    # 静态文件路径,
         memstatistics-file "/var/named/data/named_mem_stats.txt";    #
    allow-query     { any; };    # 允许客户端查询的ip地址,any为任意,例如:192.168.1.0/24;172.16.0.0/18等,
    recursion  yes;    # 递归查询,除根服务器外尽量开启,
 
    dnssec-enable  yes;    # 是否开启dns sec,dns sec可以验证dns数据有效性,
    dnssec-validation  yes;    # 是否进行dns sec验证,
 
    /*  Path to ISC DLV key */
    bindkeys-file  "/etc/named.iscdlv.key";    #  设置内置key文件路径,
 
    pid-file  "/var/run/named/named.pid";     # pid文件路径,
    managed-keys-directory  "/var/named/dynamic";    # 设置dns sec动态key文件路径,
};
 
# 日志相关配置
logging {
         channel default_debug {      # 定义日志输出方式:syslog,file,stdout,stderr,文本文件。               
         file "data/named.log";     # 日志文件
         severity dynamic;    #多个级别:debug、info等
         };
};
 
# 根域配置
zone "." IN {
    type  hint;
    file  "/tmp/named.ca";    # 前面生成的根域文件;
};
 
zone "example.com" IN {      #  定义example.com的域名正向解析配置
    type  master;                # 域类型,类型可分为hint(根域),master(主dns),slave(从dns)。
    file  "/etc/ns.example.com";    # 正向解析文件
    allow-update  { none; };    # 是否允许
};
zone "10.168.192.in-addr.arpa"  IN {    # 定义逆向域名解析区域,此处zone的名字必须为ip地址反序+".in-addr.arpa"
    type  master;                              # 域类型,
    file  "/etc/10.168.192.zone";          # 逆向解析文件,
    allow-update  { none; };                # 是否允许更新,
};
 
include  "/etc/named.rfc1912.zones";     # 包含其他配置文件
include "/etc/named.root.key"; | 
正向解析文件:ns.example.com
| $ cat ns.example.com $ TTL设定,定义区域中数据文件各项记录默认TTL值为86400,缺少不影响使用,会出现警告 $TTL 86400 @ IN SOA ns.example.com. root.example.com.( # SOA记录设定,"@"代表相应域名,也就是在named.conf中这顶的zone,SOA表示区域授权开始。每一个区域文件只能有一个SOA。SOA后面指定的是区域的授权主机名称和管理员邮箱。注意域名后有“.”。而且授权主机名称必须在DNS设置中能够找到一个A记录,也就是ns对应的那条A记录。@在配置文件中有其他含义,因此邮箱@用.代替。 2016121301 ; serial # serial 文件修改版本,格式为年月日加上修改次数,每次修改配置文件时应改动此数字。slave DNS进行信息同步时,会比较数值,当数值比自身值大时才会更新。 3H ; refresh # slave 与master同步的间隔时间; 15M ; retry # slave dns更新失败后,要隔多久进行重试; 1W ; expiry # slave dns同步失败后,多长时间清除对应记录; 1D) ; minimum # 默认最小TTL值,如果前面没有设定,此值为基准 # H:小时、D:天、W:周、M:分 # NS:定义此主机为域名服务器、MX:定义邮件交换服务器、A:定义A记录,即域名到IP的记录、CNAME:定义域名的别名; IN NS ns.example.com. # 定义NS IN MX 10 mail # 定义mail交换,优先级为10 IN A 192.168.10.102 ns IN A 192.168.10.102 www IN A 192.168.10.102 mail IN A 192.168.10.102 linux IN CNAME www | 
逆向解析文件:10.168.196.in-addr-arpa
# 与正向解析类似,多出PTR选项,定义一个反向解析记录,及IP到URL的记录。
| $ cat 10.168.192.zone $TTL 86400 10.168.192.in-addr.arpa. IN SOA ns.example.com. root.example.com. ( 2016121301 ; Serial 28800 ; Refresh 14400; ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.example.com. 102 IN PTR mail.example.com. 102 IN PTR www.example.com. | 
4、启动server
设置相关权限:
chown -R root.named /etc/named.conf /etc/ns.example.com/etc/10.168.192.zone /tmp/named.ca /etc/init.d/named start tail -f /var/log/messages # 查看启动日志 netstat -tlnup |grep 53 # 查看启动端口
5、nslookup测试域名
nslookup ns.example.com nslookup mail.example.com
本文出自 “千面” 博客,请务必保留此出处http://oslibo.blog.51cto.com/10854638/1882296
原文地址:http://oslibo.blog.51cto.com/10854638/1882296