DNS服务器搭建

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:
DNS服务器搭建

DNS全名为Domain Name Server (域名系统),其目的就是为了提供域名和IP地址的解析服务
BIND服务相关软件包
DNS服务器类型:
缓存域名服务器:提供域名解析的缓存
主域名服务器:特定域所有信息的权威性信息源,对某个指定域,主域名服务器是唯一存在的,主域名服务器中保存了指定域的区域文件。
域名转发服务器:把所有域名请求转给一台dns服务器。
从域名服务器:
不进行特定域信息(区域文件)的权威设置,而是从该域的主域名服务器中获取相应的文件并进行保存。
bind-libs:提供实现域名解析功能的必备的库文件,系统默认安装
bind-utils:提供对DNS服务器的测试工具程序,系统默认安装
bind:BIND服务器软件包,默认没有被安装到系统中
bind-chroot:为了更安全设置,,使bind可以在一个chroot的模式下运行.也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,只是系统中的一个子目录而已.这样做的目的是为了提高安全性.因为在chroot的模式下,bind可以访问的范围仅限于这个子目录的范围里,无法进一步提升, 进入到系统的其他目录中.用于建立chroot目录及相关子目录
我们查看一下系统中的安装情况,没有的给装上:
[root@redhat3 ~]# rpm -qa|grep bind #bind是需要自行安装的,挂上光盘安装即可,其他的都是已经默认安装
bind-libs-9.3.6-4.P1.el5
bind-9.3.6-4.P1.el5
bind-utils-9.3.6-4.P1.el5
ypbind-1.19-12.el5
[root@redhat3 ~]# ll /etc|grep "named" #看到没,已经没有named.conf了,已经被named.caching-nameserver.conf和named.rfc1912.zones取代了,当然,这两个文件我们也不用,我们用chroot环境下的
-rw-r-----  1 root named   1230 2009-07-30 named.caching-nameserver.conf
-rw-r-----  1 root named    955 2009-07-30 named.rfc1912.zones
-rw-r-----  1 root named    113 07-23 12:37 rndc.key
[root@redhat3 ~]# 
我们现在安装bind-chroot包
[root@redhat3 ~]# rpm -ivh /mnt/cdrom/Server/bind-chroot-9.3.6-4.P1.el5.i386.rpm 
warning: /mnt/cdrom/Server/bind-chroot-9.3.6-4.P1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:bind-chroot            ########################################### [100%]
[root@redhat3 etc]# ll
总计 16
-rw-r--r-- 1 root root   405 07-22 10:36 localtime
-rw-r----- 1 root named 1230 2009-07-30 named.caching-nameserver.conf
-rw-r----- 1 root named  955 2009-07-30 named.rfc1912.zones
-rw-r----- 1 root named  113 07-23 12:37 rndc.key
[root@redhat3 etc]# pwd
/var/named/chroot/etc
所有的bind配置文件都在/var/named/chroot/etc下了,我们开始配置他:
[root@redhat3 etc]# vi named.caching-nameserver.conf
options {
        listen-on port 53 { any; };#此处修改为any
        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"; #把一些解析的统计信息放在里面
        // Those options should be used carefully because they disable port
        // randomization
          query-source    port 53; 
           query-source-v6 port 53; 
        allow-query     { any; };#此处修改为any
        allow-query-cache { any; };#此处修改为any
     forwarders      { 8.8.8.8; }; //此行默认没有,如果内网使用此dns 服务器可以设置dns转发,这里一定是一个有效的 dns 服务器地址,则添加这两行 。
        forward only;
};
logging {

        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

view localhost_resolver {
        match-clients      { any; };#此处修改为any
        match-destinations { any; };#此处修改为any
        recursion yes;
        include "/etc/named.rfc1912.zones";
};
完毕,保存。
我们现在修改文件:named.rfc1912.zones
[root@redhat3 etc]# vi named.rfc1912.zones
zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};
//添加如下内容:
zone "staid.edu" IN { // staid.edu 我实验用的区域,正向解析区域   
        type master;
        file "staid.edu.zone";
        allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.0.rev";
        allow-update { none; };
};
完毕,保存
然后我们进入此目录:/var/named/chroot/var/named,执行如下操作:
注意:这两个配置文件名一定要跟named.rfc1912.zones 你定义的名称相同
[root@redhat3 named]# cp -p localdomain.zone  staid.edu.zone
[root@redhat3 named]# cp -p named.local 0.168.192.zone
下面主要是编辑这两个文件了。
# vim    0.168.192.zone
$TTL    86400
@       IN      SOA     localhost. root.localhost. (
1997022700 ; Serial
28800      ; Refresh
14400      ; Retry
3600000    ; Expire
86400 )    ; Minimum
     IN      NS      staid.edu.
3       IN      PTR     dns.staid.edu.   //添加反向解析记录
2       IN      PTR     www.staid.edu.   //添加反向解析记录
2       IN      PTR     mail.staid.edu.  //添加反向解析记录
                                                  //2 是指的 dns 服务器IP:192.168.0.2 的最后地址区域 
完毕,保存,我们修改
[root@redhat3 named]# vi staid.edu.zone 
$TTL    86400
@        IN SOA    localhost root (
                42        ; serial (d. adams)
                3H        ; refresh
                15M        ; retry
                1W        ; expiry
                1D )        ; minimum
    IN NS        staid.edu.     //添加域名服务器记录-NS记录(设置当前域的DNS服务器名称)
    IN MX  5     mail    //添加邮件交换记录-MX记录(设置mail.staid.edu主机作为邮件服务器)
dns    IN A        192.168.0.3                //添加正向解析
www    IN A        192.168.0.2               //添加正向解析
mail   IN A        192.168.0.2                //添加正向解析
blog   CNAME       www                     //添加别名
完毕,保存,下面我们开始测试正确性
[root@redhat3 named]# named-checkzone       staid.edu          /var/named/chroot/var/named/staid.edu.zone 
zone staid.edu/IN: loaded serial 42
OK
[root@redhat3 named]# service named restart
停止 named:                                               [确定]
启动 named:                                               [确定]
[root@redhat3 named]# 

我们可以在一个客户端机器上,把dns修改为192.168.0.2 然后访问一下sohu,没问题通过了。就此主DNS服务器设置告一段落



本文转自guoli0813 51CTO博客,原文链接:http://blog.51cto.com/guoli0813/357401,如需转载请自行联系原作者

相关文章
|
域名解析 缓存 网络协议
|
网络协议 网络安全 虚拟化
DNS服务器搭建(Windows版本)
DNS服务器搭建(Windows版本)
1208 0
|
网络协议 安全 Linux
DNS服务器搭建(Linux版本)
DNS服务器搭建(Linux版本)
324 0
|
域名解析 缓存 Kubernetes
DNS与服务器搭建-Linux每日一练(10)
DNS与服务器搭建-Linux每日一练(10)
DNS与服务器搭建-Linux每日一练(10)
|
网络协议 Linux 域名解析
Linux下DNS服务器搭建详解
<div style="color:rgb(85,85,85)"><span style="color:#4169e1"><strong><span style="color:blue"><br></span></strong></span></div> <div style="color:rgb(85,85,85)"> <span style="color:#4169e1"><stro
4413 0
|
5天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
19 2

相关产品

  • 云解析DNS
  • 推荐镜像

    更多