如何搭建DNS服务(转)

继NTP时间服务器后,继续搭建DNS服务,鉴于昨晚撰写时间超过预期,这次改变策略,先把自己需要用到的部分写出来(主要是基于RAC的搭建,只涉及正向和反向DNS解析),后面再添加必要的说明和阐述。

试验环境:

      1. Red Hat 6.3

      2. IP 192.168.1.128

      3. 欲搭建的域名 being.com

一、安装DNS软件

     [root@hello ~]# yum install bind* -y

查询相关软件包:
[root@localhost ~]# yum search bind
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
====================================================================================== N/S Matched: bind ======================================================================================
PackageKit-device-rebind.i686 : Device rebind functionality for PackageKit
bind.i686 : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
bind-chroot.i686 : A chroot runtime environment for the ISC BIND DNS server, named(8)
bind-utils.i686 : Utilities for querying DNS name servers
其中各软件包的作用如下:
bind: 提供域名服务的主要程序及相关文件。
bind-chroot:为bind提供一个伪装的根目录以增强安全性。
bind-utils:提供对DNS服务器测试的工具程序(如nslookup、dig等)。

安装BIND软件包#yum install *bind*

http://zhidao.baidu.com/link?url=GKW3_J4Dnygm2WMk71aftHPkiy9_7Av-DjvblzKVvm-vKmdwMOnWrv6QQryT5OFs0xPjDFq1FyGhLOpv8hc22jaTcysNcMNamp3npw7X0LS

 

二、修改配置文件

     [root@hello ~]# vim /etc/named.conf             

options {
        listen-on port 53 { 127.0.0.1; };  -->>将127.0.0.1改为any,代表所有主机可以对本机的DNS服务进行查询
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; };   -->>将localhost改为any,指定谁可以对我的DNS服务进行查询
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};
include "/etc/named.rfc1912.zones";  -->>include代表该文件是子配置文件
include "/etc/named.root.key";

三、将需要添加的域的信息写在子配置文件里  -->>记录域和域相对应的数据文件在哪里

     [root@hello ~]# vim /etc/named.rfc1912.zones  -->>添加到最后    

zone "being.com" IN {
        type master;
        file "data/master.being.com.zone";
};

四、建立数据文件  -->>记录域名与IP的对应

     [root@hello ~]# vim /var/named/data/master.being.com.zone  -->>注意,这个文件名必须和上面子配置文件中的信息相同     

$TTL 3600
@     IN    SOA   dns1    victor.mail (
                  20140324
                  30
                  60
                  90
                  3600 )
@      IN    NS    192.168.1.128.  -->>注意这里有个点
node1  IN    A     1.1.1.1
node2  IN    A     2.2.2.2

 在这里,因为不是做主从DNS,SOA后面的七个参数可以随便写,具体解释见下文。

 其中:NS代表Name Server,A(即Address)代表后面的IP是IPv4

          node1指的是主机名,倘若后面加上域名,则后面必须加个点,即node1.being.com. IN A 1.1.1.1

五、重启服务,进行测试

     [root@hello ~]# /etc/init.d/named restart

     [root@hello ~]# nslookup node1.being.com

     Server: 192.168.1.128
     Address: 192.168.1.128#53

     Name: node1.being.com
     Address: 2.2.2.2

     正向DNS解析OK!

现在开始搭建反向DNS解析

一、在子配置文件中添加反向解析数据文件的信息

     [root@hello ~]# vim /etc/named.rfc1912.zones 

zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "data/master.1.168.192.in-addr.arpa.zone";
};

二、 建立数据文件

      [root@hello ~]# vim /var/named/data/master.1.168.192.in-addr.arpa.zone

$TTL 86400
@    IN    SOA    hello   world (
                         20140312
                         30
                         40
                         50
                         86400 )
       IN    NS     192.168.1.128.
11   IN    PTR    hello.world.com.

三、重启服务,进行测试

     [root@hello ~]# /etc/init.d/named restart

     [root@hello ~]# nslookup 192.168.1.11

     Server: 192.168.1.128
     Address: 192.168.1.128#53

     11.1.168.192.in-addr.arpa name = hello.world.com.

     至此,反向解析OK!

 正向解析和反向解析基本OK,后面的主要是DNS其它应用的补充及相关参数的说明。

$TTL 3600
@     IN    SOA   dns1    victor.mail (
                         20140324
                         30
                         60
                         90
                         3600 )
@         IN    NS    192.168.1.128.
node1  IN    A      1.1.1.1
node2  IN    A      2.2.2.2
hello.being.com. IN CNAME node3.being.com.
node3.being.com. IN A 3.3.3.3

   1. 所有设定数据一定要从行首开始,前面不可有空格符。若有空格符,代表延续前一个domain的意思

   2. @代表zone的意思,在本例中,即代表being.com

   3. "hello.being.com."后面的点代表一个完整主机名,即hostname.domain。如果没有这个点,则仅代表hostname

   4. CNAME代表别名

   5. TTL是time to live的缩写,即当这笔记录被其它DNS服务器查询到后,保存在这些服务器中的时间,单位秒

   6.  SOA是Start Of Authority(开始验证)的意思,与域有关,后面共会接7个参数,这7个参数的意义依次是:

        1> Master DNS 服务器主机名,即在这个域中哪个DNS作为主服务器,在本例中,即dns1.being.com

        2> 管理员的Email。即出现问题可给管理员发邮件。在本例中,是victor@mail.being.com

        3> 序号。这个序号代表这个数据库档案的陈旧,序号越大,代表越新。当slave要判断是否主动下载新的数据库时,就以序号是否比slave上的还有新来判断

        4> 更新频率(Refresh)。即slave向master要求数据更新的频率  

        5> 失败重新尝试时间(Retry)。如果因为某些因素,导致slave无法对master达成联机,那么在多久的时间内,slave会尝试重新联机到master

        6> 失效时间(Expire)。如果一直失败尝试时间,持续联机到达这个设定值时限,那么slave将不再继续尝试联机

        7> 快取时间(Minimum TTL)。如果在这个数据库zone file中,每笔记录都没有显性设定TTL快取时间的话,那么就以这个值为主

 

http://www.cnblogs.com/ivictor/p/3623096.html

时间: 2024-08-30 03:26:06

如何搭建DNS服务(转)的相关文章

使用 unbound 在 RHEL7 上搭建 DNS 服务

使用 unbound 在 RHEL7 上搭建 DNS 服务 1.概念 DNS (域名解析服务Domain Name Server),使用 TCP&UDP 的53号端口(主从 DNS 之间用 TCP,客户端查询使用 UDP).它可以完成域名与 IP 地址的互换,可以通过 IP 地址解析到域名,也可以通过域名解析到 IP 地址. FQDN(完全合格域名Fully Qualified Domain Name),层次化树形结构.通常表现为:主机名.子域.二级域.顶级域.根域. .例如我们平时访问的网站:

CentOS安装Bind搭建DNS服务的方法

由于公司内部网络需要做测试,采用域名访问公司内网服务器.可是路由器不带有域名转发的功能,于是乎,就想到了采用DNS的方式. 背景: 公司内部服务器一台: 系统:CentOS6.5_x64 hostname:server.andy.local IP:192.168.10.10 1.安装bind服务 yum -y install bind* 2.配置DNS Server,以下所有蓝色地方都是修改的. vim /etc/named.conf // // named.conf // // Provide

使用Apache搭建web服务(三) 构建web虚拟主机

虚拟web主机指的是在同一台服务器中运行多个web站点,其中的每一个站点实际并不独立占用整个服务器,因此被称为"虚拟的web主机".在搭建虚拟web主机时,可以使用三种方法搭建虚拟web服务,基于IP地址.基于端口号和基于域名的.常用的是基于域名构建虚拟web主机.那么我们就来了解一下怎样搭建这三种不同的虚拟web主机. 基于IP地址的虚拟主机:为每个虚拟主机使用不同的域名,不同的IP来实现. 基于端口的虚拟主机:这中方式不使用域名.IP地址来区分,而是使用不同的端口号来实现. 基于域

搭建最基础的DNS服务

搭建一个简单的DNS 为了更方便和清晰的了解DNS的作用,通过搭建一个简单的DNS服务来学习. 在搭建之前,先简单了解一下DNS的工作原理 客户端把访问的域名传递给DNS服务器a,如果有记录,则将IP传递给客户端 DNS服务器a没有记录,则以 递归方式 访问其他服务器.首先访问根域 根域将匹配的一级域名DNS服务器b地址传递给DNS服务器a DNS服务器a再去访问DNS服务器b,DNS服务器b再将匹配的二级域名DNS服务器c传递给DNS服务器a DNS服务器a再去访问DNS服务器c,重复以上3,

在Linux下轻松搭建DNS服务器

经常上网的朋友可能经常去新浪.搜狐等大型网站,只需要在浏览器输入它们的网址即可实现访问,看似非常简单,但是从技术层面来讲,却包含了一个复杂的过程:在访问网页的时候,首先在浏览器输入网站域名,接着浏览器会根据本机DNS服务器的设置将输入的网站域名转换为对应的IP地址,然后才去这个IP对应的服务器上请求数据,最后将请求得到的数据通过浏览器显示出来.这个过程最主要的一个环节就是从域名到IP地址的转换,而这个工作就是靠DNS服务器实现的. 一. DNS服务概述 DNS是Domain Name Syste

DNS系列三:搭建DNS辅助服务器

为了实现服务器的高可用性,我们需要搭建DNS辅助服务器,当主DNS服务器崩溃时可以用辅助服务器应急 试验环境如下图 在perth上操作 首先,安装DNS服务 打开设置→控制面板→添加或删除程序→添加/删除windows组件 双击"网络服务" 选择"域名系统",单击确定 单击"下一步"

容器化dns服务

容器化dns服务 之前将一个小应用使用docker compose部署之后,遇到一个问题,修改域名解析的IP.之前在虚拟机上可以直接修改hosts文件, 在docker容器中修改就比较麻烦,修改主机hosts文件也没有效果. 为了解决这个问题,引入了dnsmasq作为dns服务器.由于主机上本身已经有docker环境,因此也打算把dnsmasq放到容器中去运行. 首先是选择容器,在docker hub上下载量最多的是 andyshinn/dnsmasq 镜像.这个镜像的最大优势就是简单,整个镜像

CentOS 6系统上借助docker快速搭建openvpn服务

一.安装docker 1.在CentOS6上安装docker除去编译之外还可以通过yum安装,不过是用EPEL源来安装 [root@li760-160 ~]# yum clean all [root@li760-160 ~]# yum makecache [root@li760-160 ~]# yum install -y epel-release 2.安装docker 和rzsz命令方便等下传输ovpn配置文件 [root@li760-160 ~]# yum install -y docker

同时-IIS 搭建FTP服务 文件传输受限

问题描述 IIS 搭建FTP服务 文件传输受限 在内网中一台PC机上使用IIS搭建FTP服务,在测试文件传输的时候发现最多只允许两个下载 其它请求都在排队,不知道这个是在哪里设置的?