缓存DNS服务器和主DNS服务器的快速搭建详解

缓存DNS服务器和主DNS服务器的快速搭建详解

一、设定配置内容
假设我们已经在网上注册了wangej.com域名,得到的IP网络是172.16.12.0/24
ns服务器是:172.16.12.1
www服务器:172.16.12.1,另外一个地址:172.16.12.3
mail服务器:172.16.12.2
ftp主机在www服务器上,即ftp为www的别名

二、准备工作:
这里我们使用bind97来搭建我们的DNS服务器,首先需要安装好bind97.i386、bind97-libs.i386、bind97-utils.i386这三个软件包。软件包可以在https://www.isc.org/wordpress/downloads/官方网站下载。(此为源码)
三、配置文件详解
/etc/named.conf为BIND服务进程的主配置文件
BIND进程的工作属性
区域的定义

  1. options {                                       #定义选项
  2.     directory "/var/named";                     #定义数据文件目录
  3.   };
  4.   
  5.   zone "." IN {                                 #定义区域
  6.     type hint;                                  #定义区域类型为根
  7.     file "named.ca";                            #定义数据文件
  8.   };
  9.   
  10.   zone "localhost" IN {                         #定义本地解析区域
  11.     type master;                                #定义区域类型为主
  12.     file "named.localhost";                     #定义数据文件
  13.   };
  14.   
  15.   zone "0.0.127.in-addr.arpa" IN {              #定义反向解析区域
  16.     type master;                                #定义区域类型为主
  17.     file "named.loopback";                      #定义数据文件
  18.   };

/etc/rndc.key为rndc服务的密钥文件
rndc:Remote Name Domain Controller远程名称服务控制器
/etc/rndc.conf为rndc服务的密钥文件
/var/named/目录
目录中存储的均为区域数据文件
/etc/rc.d/init.d/named BIND的服务控制脚本,用来在rhel5中使用service调用开关的。
四、资源记录类型和字符含义

  1. SOA(Start Of Authority起始授权记录)
  2. ZONE NAME    TTL    IN    SOA FQDN(主DNS)   ADMINISTRATOR_MAILBOX(
  3. serial number           #版本号
  4. refresh                 #定义检查周期时间
  5. retry                   #定义重试时间
  6. expire                  #定义过期时间
  7. nagative answer TL      #定义否定答案的缓存时长
  8. 时间单位:M(分钟)、H(小时)、D(天)、W(周)、默认单位是秒
  9. 邮箱格式:[email protected] -写为-> admin.magedu.com.
  10. magedu.com.   600    IN    SOA   ns1.wangej.com.   admin.wag.com.   (
  11. 20130401(最长10为数)
  12. 1H
  13. 5M
  14. 1W
  15. 1D)
  16. NS(Name Server):区域名称-->主机名
  17. magedu.com.     600    IN    NS     ns.magedu.com.
  18. ns.magedu.com.  600    IN    A      1.1.1.2
  19. MX(Mail eXchange):ZONE NAME --> FQDN
  20. 优先级 0-99:数字越小级别越高
  21. ZONE NAME     TTL    IN    MX  pri    VALUE
  22. magedu.com.   600    IN    MX  10     mail.magedu.com.
  23. mail.magedu.com.  600 IN   A          1.1.1.3
  24. A(address): FQDN-->IPv4
  25. AAAA:FQDN-->IPv6
  26. PTR(pointer): IP-->FQDN   指针记录
  27. CNAME(Canonical NAME): FQDN-->FQDN  别名记录

五、配置缓存DNS服务器
1、vim /etc/named.conf

  1. options {     #定义选项
  2.     directory "/var/named";   #定义数据文件目录
  3.   };
  4.   
  5.   zone "." IN {   #定义区域
  6.     type hint;    #定义区域类型为根
  7.     file "named.ca";              #定义数据文件
  8.   };
  9.   
  10.   zone "localhost" IN {   #定义本地解析区域
  11.     type master;      #定义区域类型为主
  12.     file "named.localhost";   #定义数据文件
  13.   };
  14.   
  15.   zone "0.0.127.in-addr.arpa" IN {    #定义反向解析区域
  16.     type master;      #定义区域类型为主
  17.     file "named.loopback";    #定义数据文件
  18.   };

  
检查语法是否错误:
named-checkconf
检查named.conf文件的属主属组和权限

  1. [[email protected] named]# chmod  640 /etc/named.conf
  2. [[email protected] named]# chown  root:named  /etc/named.conf
  3. [[email protected] named]# ll /etc/named.conf
  4. -rw-r----- 1 root named 369 Apr  1 22:08 /etc/named.conf

2、这里我们需要关闭SELinux,以确保linux的安全机制不会对BIND服务造成什么影响。
查看SELinux当前状态:

  1. [[email protected] named]# getenforce                  #查看SELinux当前的开启状态
  2. Enforcing                                           #SELinux开启状态
  3. [[email protected] named]# setenforce 0                #临时性关闭SELinux服务
  4. [[email protected] named]# getenforce                  #再次查看SELinux
  5. Permissive

临时性关闭SELinux:
# setenforce 0
开启SELinux服务
# setenforce 1

永久关闭SELinux就需要配置: vim /etc/selinux/
这里我们关闭SELinux服务
# setenforce 0
3、测试服务是否正常
重启named服务service named restart然后我们ping一个EQDN测试是否成功

  1. [[email protected] named]# service named restart
  2. Stopping named:                                            [  OK  ]
  3. Starting named:                                            [  OK  ]

使用dig命令查看一下根域
dig -t NS . @172.16.12.1   通过我们自己设置的DNS服务器查看根域名服务器。

  1. [[email protected] named]# dig -t NS . @172.16.12.1
  2. ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t NS . @172.16.12.1
  3. ;; global options: +cmd
  4. ;; Got answer:
  5. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64807
  6. ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 14
  7. ;; QUESTION SECTION:
  8. ;.              IN  NS
  9. ;; ANSWER SECTION:
  10. .           487177  IN  NS  a.root-servers.net.
  11. .           487177  IN  NS  f.root-servers.net.
  12. .           487177  IN  NS  m.root-servers.net.
  13. .           487177  IN  NS  h.root-servers.net.
  14. .           487177  IN  NS  k.root-servers.net.
  15. .           487177  IN  NS  b.root-servers.net.
  16. .           487177  IN  NS  i.root-servers.net.
  17. .           487177  IN  NS  l.root-servers.net.
  18. .           487177  IN  NS  d.root-servers.net.
  19. .           487177  IN  NS  e.root-servers.net.
  20. .           487177  IN  NS  j.root-servers.net.
  21. .           487177  IN  NS  c.root-servers.net.
  22. .           487177  IN  NS  g.root-servers.net.
  23. ;; ADDITIONAL SECTION:
  24. a.root-servers.net. 573577  IN  A   198.41.0.4
  25. a.root-servers.net. 573577  IN  AAAA    2001:503:ba3e::2:30
  26. b.root-servers.net. 573577  IN  A   192.228.79.201
  27. c.root-servers.net. 573577  IN  A   192.33.4.12
  28. d.root-servers.net. 573577  IN  A   199.7.91.13
  29. d.root-servers.net. 573577  IN  AAAA    2001:500:2d::d
  30. e.root-servers.net. 573577  IN  A   192.203.230.10
  31. f.root-servers.net. 573577  IN  A   192.5.5.241
  32. f.root-servers.net. 573577  IN  AAAA    2001:500:2f::f
  33. g.root-servers.net. 573577  IN  A   192.112.36.4
  34. h.root-servers.net. 573577  IN  A   128.63.2.53
  35. h.root-servers.net. 573577  IN  AAAA    2001:500:1::803f:235
  36. i.root-servers.net. 573577  IN  A   192.36.148.17
  37. i.root-servers.net. 573577  IN  AAAA    2001:7fe::53
  38. ;; Query time: 5 msec
  39. ;; SERVER: 172.16.12.1#53(172.16.12.1)
  40. ;; WHEN: Tue Apr  2 19:51:37 2013
  41. ;; MSG SIZE  rcvd: 512

4、为named服务添加开机启动
chkconfig on named

  1. [[email protected] named]# chkconfig --list named
  2. named           0:off   1:off   2:off   3:off   4:off   5:off   6:off
  3. [[email protected] named]# chkconfig named on
  4. [[email protected] named]# chkconfig --list named
  5. named           0:off   1:off   2:on    3:on    4:on    5:on    6:off

OK,到这里缓存DNS就已经配置正常,能够正常使用了。
六、配置主DNS服务器
1、为/etc/named.conf添加主区域文件配置和反向区域解析

  1. zone "wangej.com" IN {                           #定义wangej.com区域
  2.     type master;                                #定义区域类型为主
  3.     file "wangej.com.zone";                     #定义数据文件
  4.   };
  5.   
  6.   zone "12.16.172.in-addr.arpa" IN {            #定义wangej.com反向解析区域
  7.     type master;                                #定义区域类型为主
  8.     file "172.16.12.zone";                      #定义数据文件
  9.   };

2、添加区域文件
vim wangej.com.zone

  1. vim wangej.com.zone
  2. $TTL 1H
  3. wangej.com.     IN   SOA   ns1.wangej.com.   admin.wangej.com. (
  4. 1
  5. 1H
  6. 5M
  7. 2D
  8. 6H )
  9. IN   NS    ns1
  10. IN   MX 10 mail
  11. ns1      IN   A     172.16.12.1
  12. mail     IN   A  172.16.12.2
  13. www      IN   A     172.16.12.1
  14. www      IN   A     172.16.12.3
  15. ftp      IN  CNAME  www

vim 172.16.12.zone

  1. $TTL 1H
  2. @               IN   SOA   ns1.wangej.com.   admin.wangej.com. (
  3. 1
  4. 1H
  5. 5M
  6. 2D
  7. 6H )
  8. IN   NS    ns1.wangej.com.
  9. 1               IN   PTR   ns1.wangej.com.
  10. 1               IN   PTR   www.wangej.com.
  11. 2               IN   PTR   mail.wangej.com.
  12. 3              IN   PTR   www.wangej.com.

3、检查文件的语法错误和属主属组及权限

  1. named-checkzone "wangej.com" /var/named/wangej.com.zone
  2. named-checkzone "172.16.12.zone" /var/named/172.16.12.zone
  3. -rw-r----- 1 root  named  321 Apr  1 22:43 172.16.12.zone
  4. -rw-r----- 1 root  root   289 Apr  1 22:42 wangej.com.zone

4、测试服务是否能够正常使用

  1. [[email protected] ~]# dig -t A www.wangej.com @172.16.12.1
  2. ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t A www.wangej.com @172.16.12.1
  3. ;; global options: +cmd
  4. ;; Got answer:
  5. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43339
  6. ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
  7. ;; QUESTION SECTION:
  8. ;www.wangej.com.            IN  A
  9. ;; ANSWER SECTION:
  10. www.wangej.com.     3600    IN  A   172.16.12.1
  11. ;; AUTHORITY SECTION:
  12. wangej.com.     3600    IN  NS  ns1.wangej.com.
  13. ;; ADDITIONAL SECTION:
  14. ns1.wangej.com.     3600    IN  A   172.16.12.1
  15. ;; Query time: 4 msec
  16. ;; SERVER: 172.16.12.1#53(172.16.12.1)
  17. ;; WHEN: Tue Apr  2 20:05:27 2013
  18. ;; MSG SIZE  rcvd: 82

5、如此一个主DNS就已经搭建成功了。
七、单单一个主DNS就已经能够满足我们对于DNS域名解析的需求了么?
不是,不仅不够,我们还要需要更多的内容用来满足DNS的冗余、DNS的智能分配、DNS的acl控制、还有DNS的日志公用,以便让我们能够尽快的定位到错误和查看一些恶意的操作。所以,未完待续。
PS: 亲,明天见……

时间: 2024-11-05 23:24:45

缓存DNS服务器和主DNS服务器的快速搭建详解的相关文章

Linux下DNS服务器搭建详解

 Linux下DNS服务器搭建详解 DNS  即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析. 下面对DNS的工作流程及原理进行简要说明 DNS的查询流程:需要解析服务的Client先查看本机的/etc/hosts:若无结果,则client查看本地的DNS缓存服务器:若无结果,则查找所属域的首选DNS服务器:若此时本地首选DN

Tomcat系列之服务器的安装与配置以及各组件详解

Tomcat系列之服务器的安装与配置以及各组件详解 大纲 一.前言 二.安装与配置Tomcat 三.Tomcat 目录的结构 四.Tomcat 配置文件 注,本文的测试的操作系统为CentOS 6.4 x86_64,软件版本为jdk-7u40.apache-tomcat-7.0.42.博文中的所有软件请到这里下载:http://yunpan.cn/QGBCLwrZnpLMS. 一.前言 在上一篇博文中我们主要讲解的Tomcat的基础知识以及相关的Java知识,对于不怎么清楚的博友可以参考一下:h

oracle dataguard主备库参数文件配置详解

主库参数详解: 保持同一个Data Guard中所有的DB_NAME相同 DB_NAME=ora11g 为一个数据库指定一个唯一的名称,该参数一经指定就不会发生改动除非DBA主动改动 DB_UNIQUE_NAME=ora11g_primary 初始化参数LOG_ARCHIVE_CONFIG用于控制发送归档日志到远程位置.接收远程归档日志,并指定Data  Guard配置的惟一数据库名,默认值为SEND,RECEIVE,NODG_CONFIG. 当设置该参数为SEND时,会激活发送归档日志到远程位

配置缓存DNS服务器和主DNS服务器

规划: 域:fsy.com地址段:172.16.100.0/24 ns地址:172.16.100.3 www地址:172.16.100.3, 172.16.100.5 mail地址:172.16.100.4 ftp 别名: www 一.配置缓存DNS服务器: 1.安装软件包 [[email protected] ~]# yum -y install bind 2.备份主配置文件 [[email protected] ~]# mv /etc/named.conf /etc/named.conf.o

DNS与BIND学习笔记-基础知识及配置详解

转自 http://blog.chinaunix.net/uid-14825809-id-333591.html 标签:DNS 多线 智能 服务器 bind 一直想系统的学习和了解DNS的原理,包括看相关的rfc文件,一看和dns相关的rfc文件,妈呀,居然有86个之多.能看多少是多少吧.先把DNS的原理研究透彻了.在看rfc文件我想会事半功倍的:) 1. ICANN是干什么的?和他的一些相关资讯? ICANN全称是叫:Internet Corporation for Assigned Name

XMPP——xmpp客户端、服务器、网关以及地址和消息格式详解

接着上一篇文章继续学习和总结.. XMPP客户端 XMPP 系统的一个设计标准是必须支持简单的客户端.事实上,XMPP 系统架构对客户端只有很少的几个限制.一个XMPP 客户端必须支持的功能有: 通过 TCP 套接字与XMPP 服务器进行通信: 解析组织好的 XML 信息包: 理解消息数据类型. 至于对客户端为何要求如此简单,概括来说就是,xmpp把相关更多功能实现都放在了服务器端去实现和处理,这样使得客户端相对解放出来..这使得客户端编写变得非常容易,更新系统功能也同样变得容易. XMPP 客

服务器错误500 501 502 503 504 505 详解

服务器500错误.500错误的出现原因是很多的,但是你要知道,500错误是服务器内部错误,而且一般程序上是ASP错误为多的,可能是你的用户权限的问题导致,或者是数据库连接出现了错误,那么要好好检查下服务器语句错误问题. 服务器501错误.服务器501错误是服务器还是不具有请求功能的,而且501错误原因是没有实施的,可以用来HttpWebRequest指定一个UserAgent来试试的,有时候你可以换电脑来测试一下的.  服务器502错误.这是服务器上的一个错误网关 ,因此说它是无效的,我们在出现

单机架设传奇服务器第47课:定时器OnTimer功能详解

传奇定时器OnTimer功能详解(泡点.时间触发.任务活动) 定时器功能,是服务端中非常常见的一种功能,常见如:泡点脚本.赌博脚本,任务活动指定时间刷怪,时间触发一些都需要用到OnTimer功能,定时器总共有19个定时器可以开启.我们在添加新的定时器的时候我们先确定定时器有没有重复.直接在文本中搜索 @OnTimer 就可以了..后面跟的数字就是说明开启的是第几个定时器 我们首先就确定定时器是在服务器的位置.路径:mirserver\Mir200\Envir\MapQuest_def\QMana

干货,memcached+keepalived实现主主复制和高可用,详解!

keepalived+memcached主主复制高可用介绍: 客户端连接两台服务器之间的VIP地址,如果后端服务器故障自动切换. Keepalive原理: 1.故障检测: Keepalived的作用是检测memcached服务器的状态是否正常. 2.主从切换: Keepalived如果检测到memcached服务发生DOWN机或者死机等,能将VIP从主服务器移至从服务器 3.Keepalived如何发现memcached异常: 1) keepalived在memcached主服务器产生一个虚拟I