2015-05-29DNS服务搭建

一. DNS原理相关
DNS 为Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务机制。 
其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。 DNS使用TCP和UDP, 端口号都是53, 但它主要使用UDP,服务器之间备份使用TCP。 
全世界只有13台“根”服务器,1个主根服务器放在美国,其他12台为辅根服务器,DNS服务器根据角色可以分为:主DNS, 从DNS, 缓存DNS服务器,DNS转发服务器。


二. 使用bind搭建DNS服务器
1. 安装bind
yum install -y bind
cp /etc/named.conf /etc/named.conf.bak  
>/etc/named.conf
vim /etc/named.conf 
加入如下配置:

  1. options {
  2. directory "/var/named";
  3. };
  4. zone "." IN  {
  5. type hint;
  6. file "named.ca";
  7. };
  8. zone "localhost" IN {
  9. type master;
  10. file "localhost.zone";
  11. };
  12. zone "0.0.127.in-addr.arpa" IN {
  13. type master;
  14. file "named.local";
  15. };

复制代码

chown named /etc/named.conf
cd /var/named/
dig -t NS . > named.ca
vim localhost.zone //加入

  1. @                   IN      SOA     localhost.  admin.localhost.     (
  2. 2013081601
  3. 1H
  4. 10M
  5. 7D
  6. 1D
  7. )
  8. @                   IN          NS          localhost.
  9. localhost.          IN          A           127.0.0.1

复制代码

vim named.local //加入

  1. $TTL 86400
  2. @                    IN      SOA     localhost.  admin.localhost.      (
  3. 2013081601
  4. 1H
  5. 10M
  6. 7D
  7. 1D
  8. )
  9. @                    IN          NS          localhost.
  10. 1                    IN          PTR         localhost

复制代码

检测配置是否有问题: named-checkconf 
检测正解析: named-checkzone "localhost" /var/named/localhost.zone 
检测反解析: named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local
rndc-confgen -r /dev/urandom -a  // 这一步是生成 rndc.key, 如果没有这个key namd 是启动不了的。
chown named:named /etc/rndc.key
/etc/init.d/named start
netstat -lnp  |grep named  // 查看一下named进程是否监听了53端口
首先测试正向解析:dig @127.0.0.1 localhost. 
接着测试反解析:dig @127.0.0.1 -x 127.0.0.1
2. 增加一个域名(zone)
vim /etc/named.conf //增加

  1. zone "abc.com" IN {
  2. type master;
  3. file "abc.com.zone";
  4. };
  5. zone "137.168.192.in-addr.arpa" IN {
  6. type master;
  7. file "192.168.zone";
  8. };

复制代码

编辑zone文件: vim /var/named/abc.com.zone//增加

  1. $TTL    600
  2. @               IN      SOA     abc.com.      root.abc.com.    (
  3. 2013081601
  4. 1H
  5. 10M
  6. 7D
  7. 1D
  8. )
  9. IN      NS      ns.abc.com.
  10. IN      MX  10  mail.abc.com.
  11. ns               IN      A       192.168.0.11
  12. www              IN      A       192.168.137.73
  13. mail             IN      A       192.168.137.10
  14. bbs              IN      CNAME    www.abc.com.

复制代码

编辑反解析文件: vim /var/named/192.168.zone //增加

  1. $TTL 600
  2. @               IN      SOA     ns.abc.com.      root.abc.com. (
  3. 2013081601
  4. 1H
  5. 10M
  6. 7D
  7. 1D
  8. )
  9. @               IN      NS      ns.abc.com.
  10. 10              IN      PTR     ns.abc.com.
  11. 11              IN      PTR     mail.abc.com.
  12. 73              IN      PTR     www.abc.com.

复制代码

分别检测两个配置文件是否有问题:
named-checkzone "abc.com" abc.com.zone
named-checkzone "137.168.192.in-addr.arpa" 192.168.zone 
重启named服务,测试 dig @127.0.0.1 www.abc.com
dig  @127.0.0.1 -x 192.168.137.11
3. 配置DNS转发
我们配置的DNS是只能解析我们定义的zone的,我们没有定义的是不能解析的。
配置DNS转发就可以解析其他互联网上的域名了,前提是这个域名在互联网中的确在使用,也就是说这个域名已经被某个DNS服务器解析了。
vim  /etc/named.conf //在options{} 里面增加
forward first;  
forwarders { 8.8.8.8; };
这两行就是用来配置转发的,该DNS服务器不能解析的域名会转发到8.8.8.8这个DNS服务器上去解析。
4. 配置主从
在从服务器上 yum install -y bind
拷贝主上的配置文件到从上,其中有/etc/named.conf, /var/named/localhost.zone, /var/named/named.local  
拷贝过来后,修改一下从的/etc/named.conf 内容参考:

  1. options {
  2. directory "/var/named";
  3. };
  4. zone "." IN  {
  5. type hint;
  6. file "named.ca";
  7. };
  8. zone "localhost" IN {
  9. type master;
  10. file "localhost.zone";
  11. };
  12. zone "0.0.127.in-addr.arpa" IN {
  13. type master;
  14. file "named.local";
  15. };
  16. zone "abc.com" IN {
  17. type slave;
  18. file "slaves/abc.com.zone";
  19. masters { 192.168.0.11; };
  20. };
  21. zone "137.168.192.in-addr.arpa" IN {
  22. type slave;
  23. file "slaves/192.168.zone";
  24. masters { 192.168.0.11; };
  25. };

复制代码

从上生成rndc.key: rndc-confgen -r /dev/urandom -a 
chown named:named /etc/rndc.key
从上启动named: /etc/init.d/named start 
启动成功后会在 /var/named/下生成一个slaves目录,这个目录下会有192.168.zone, abc.com.zone这两个文件,内容是和主上的一样的
在从上测试: dig @127.0.0.1  www.abc.com
5. 测试主从同步
在主dns上更改文件 /var/named/abc.com.zone // 在最后增加一行:
123              IN      A       1.1.1.1
另外需要修改一下第三行的那个数字串,这个是用来做标记的,只有这个数字变化了,才可以让从自动跟着变,数字只能是变大,不能减小,2013081601 -> 2013081602
重启主namd服务: /etc/init.d/named restart
经测试我们发现一个问题,就是从经常会同步特别慢,这是很要命的。所以需要我们做一个特殊操作,在主上的/etc/named.conf中,abc.com的zone中增加两行:
notify yes;
also-notify { 192.168.0.12; };
下面的知识点请自行配置学习
再配置一个域名(zone)
bind配置视图(view)    http://wubinary.blog.51cto.com/8570032/1378363
使用mydns搭建DNS服务器   http://www.aminglinux.com/bbs/thread-186-1-1.html
使用dnsmasq配置dns缓存  http://www.aminglinux.com/bbs/thread-5284-1-1.html
理解dns的递归和迭代查询   http://jeffyyko.blog.51cto.com/28563/215293 http://jeffyyko.blog.51cto.com/28563/216962

时间: 2024-10-06 19:39:53

2015-05-29DNS服务搭建的相关文章

FTP 服务搭建

FTP 服务搭建 最近一直偷懒,没有上传博客,最近工作中正好要搭建FTP,来写个博客吧.同志还需努力啊,天天犯懒以后只能去吃土了. 首先介绍一下我的实验环境:CentOS6.7,内核2.6 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [[email protected] ~]# uname -a Linux CentOS-6 2.6.32-573.el6.x86_64 #1 SMP Thu J

LAMP服务搭建

LAMP简介所谓lamp,其实就是由Linux+Apach+Mysql/MariaDB+Php/Perl/Python的一组动态网站或者服务器的开源软件,除Linux外其他各部分组件都是各自独立的程序,但是因为经常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的web应用程序平台. web服务器工作流程web服务器的资源分为两种,静态资源和动态资源静态资源指静态内容,客户端从服务器获得的资源的表现形式与原文件相同,可以简单的理解为就是直接存储以文件系统中的资源动态资源则通常是程序文件

linux下vsftp服务搭建

实验拓扑: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 实验一:测试默认安装vsftpd的结果 匿名用户与本地用户都可以登录 匿名用户登录到/var/ftp,只能下载不能上传 本地用户登录到本地用户的家目录,可以上传和下载 [[email protected] ~]# rpm -q vsftpd  //检查软件包是否安装 package vsftpd is not installed [[email protec

centos DNS服务搭建 第三十节课

centos  DNS服务搭建     第三十节课 上半节课 下半节课 一. DNS原理相关DNS 为Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务机制.其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析. DNS使用TCP和UDP, 端口号都是53, 但它主要使用UDP,服务器之间备份使用TCP.全世界只有13台“根”服务器,1个主根服务器放在美国,其他12台为辅根服务器,DN

linux下apache服务搭建

实验拓扑:                          Linux Client -----RHEL5.9(vmnet1)----------(vmnet1)                          Win7 Client 实验一:查看默认HTTP配置     找到默认红帽欢迎页面 (/etc/httpd/conf/httpd.conf ---->Include ----> /etc/httpd/conf.d  ----> welcome.conf  ----> /

DHCP服务搭建

环境拓扑: --------------RHEL5.9(vmnet4)-------------------linux系统(vmnet4) 安装DHCP前准备 1.配置主机IP地址 2.两台主机在一环境内 DHCP服务端操作: [[email protected]~]# cat -n /etc/sysconfig/network-scripts/ifcfg-eth0 1 #Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)

NFS共享服务搭建

环境拓扑 -------RHEL5.9_A----(vmnet1)----RHEL5.9_B----------- RHEL5.9_A:  192.168.10.253/24 RHEL5.9_B:  192.168.10.20/24 NFS服务端操作: [[email protected] ~]# rpm -qnfs-utils portmap   //查看是否安装nfs服务 nfs-utils-1.0.9-66.el5 portmap-4.0-65.2.2.1 [[email protecte

linux下DHCP服务搭建

实验环境 RHEL5.9 dhcp服务器 RHEL5.9 LINUX客户端 win7    windows客户端 实验前提: 1,服务器与客户机需要在同一个网段 2,dhcp需要有固定IP 实验步骤: 服务端操作步骤: 1,设置IP cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0    //设备名 BOOTPROTO=static    //静态IP HWADDR=00:0C:29:DB:02:CE ONBOOT=yes  //

linux下nsf服务搭建

实验环境 RHEL5.9两台 实验一: 将/root 共享给192.168.10.20,可写.同步,允许客户机以root权限访问 服务端配置: [[email protected] ~]# rpm -qa |grep nfs  //检查软件包是否安装 nfs-utils-lib-1.0.8-7.9.el5 nfs-utils-1.0.9-66.el5 [[email protected] ~]# rpm -qa |grep portmap portmap-4.0-65.2.2.1 [[email

linux下samba服务搭建

实验拓扑:Linux Client-----RHEL5.9(vmnet1)----------(vmnet1)Win7 Client 实验一:Samba匿名共享工作组为Tarena将目录 /usr/src 共享给所有人共享名设为 tools允许所有人访问.无需密码验证访问权限为只读 1.安装软件包[[email protected] ~]# rpm -q samba-client samba samba-commonpackage samba-client is not installedpac