• Linux:DNS服务器搭建


    DNS简介

    DNS(Domain Name System)域名系统:
    是一种采用客户端/服务器机制,负责实现计算机名称与IP地址转换的系统。DNS作为一种重要的网络服务,既是国际互联网工作的基础,同时在企业内部网络中也得到了广泛地应用。

    DNS服务器的作用

    正向解析:根据主机名称(域名)查找对应的IP地址
    反向解析:根据IP地址查找对应的主机域名

    DNS系统的分布式数据结构

    DNS查询方式

    递归查询:大多数客户机向DNS服务器解析域名的方式
    迭代查询:大多数DNS服务器向其他DNS服务器解析域名的方式
    

    DNS服务器的类型

    缓存域名服务器
    缓存域名服务器:也称唯高速缓存服务器,通过向其他域名服务器查询获得域名->IP地址记录,将域名查询结果缓存到本地,提高重复查询时的速度。
    
    主域名服务器
    主域名服务器:特定DNS区域的官方服务器,具有唯一性,负责维护该区域内所有域名->IP地址的映射记录。
    
    从域名服务器
    从域名服务器:也称为辅助域名服务器,其维护的域名->IP地址记录来源于主域名服务器。
    

    BIND域名服务基础

     BIND(Berkeley Internet Name Daemon)伯克利Internet域名服务。
    官方站点:https://www.isc.org/
    BIND服务器端程序
    主要执行程序:/usr/sbin/named
    服务脚本:/etc/init.d/named
    默认监听端口:53
    主配置文件:/etc/named.conf
    保存DNS解析记录的数据文件位于:/var/named/chroot/var/named/
    

    配置文件分析

    /etc/named.conf
    options { #选项
            listen-on port 53 { 127.0.0.1; }; #服务监听端口为53
            listen-on-v6 port 53 { ::1; }; #服务监听端口为53(ipv6)
            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; }; #允许连接的客户机
            recursion yes; #递归查找
     
            dnssec-enable yes; #DNS加密
            dnssec-validation yes; #DNS加密高级算法
            dnssec-lookaside auto; #DNS加密的相关东西
     
            /* Path to ISC DLV key */
            bindkeys-file "/etc/named.iscdlv.key"; #加密用的key(私钥公钥的加密,很强)
    };
    
    logging { #日志
            channel default_debug {
                    file "data/named.run"; #运行状态文件
                    severity dynamic; #静态服务器地址(根域)
            };
    };
     
    zone "." IN { #根域解析
            type hint;  master slave
            file "named.ca"; #根域配置文件
    };
     
    include "/etc/named.rfc1912.zones"; #扩展配置文件(新开域名)
    
    
    /etc/named.rfc1912.zones
    zone "localhost.localdomain" IN { #本地主机全名解析
            type master; #类型为主域
            file "named.localhost"; #域配置文件(文件存放在/var/named目录中)
            allow-update { none; }; #不允许客户端更新
    };
     
    zone "localhost" IN { #本地主机名解析
            type master;
            file "named.localhost";
            allow-update { none; };
    };
     
    zone ".0.ip4.arpa" IN { #ipv6本地地址反向解析
            type master;
            file "named.loopback";
            allow-update { none; };
    };
     
    zone "1.0.0.127.in-addr.arpa" IN { #本地地址反向解析
            type master;
            file "named.loopback";
            allow-update { none; };
    };
     
    zone "0.in-addr.arpa" IN { #本地全网地址反向解析(和/域更新用的)
            type master;
            file "named.empty";
            allow-update { none; };
    };
    
    /var/named/named.localhost
    $TTL 1D #更新为最长1天
    @(使用域的域名)       IN SOA(权威DNS服务器)  @(权威DNS服务器的名称) rname.invalid.(rname@invalid的邮件) (
                                            0       ; serial #(更改号)十位数的序列号
                                            1D      ; 更新频率
                                            1H      ; 失败重新尝试时间
                                            1W      ; 失效时间
                                            3H )    ; 缓存时间
            NS(域名服务器)      @(域名服务器名称)
            A(正向解析记录)       127.0.0.1(正向解析的ip)
            AAAA(ipv6正向解析)    ::1(ipv6正向解析的ip)
    

    搭建DNS服务器

    安装DNS服务器

    安装bind程序包

    yum install bind
    

    启动服务

    systemctl  start  named.service
    

    设置自启动状态

    systemctl  enable  named.service
    
    配置文件
    配置主配置文件
    vim /etc/named.conf
    
    改动为
    listen-on-v6 port 53 { any; };
    
    allow-query { any; };
    
    配置zones文件

    正向解析配置

    添加 正向解析
    zone "lzy.com." IN {
    		type master;
    		file "lzy.com.zone";
    		allow-update { none; };
    };
    

    反向解析配置

    添加反向解析
    zone "134.168.192.in-addr.arpa" IN {
    		tpye master;
    		file "134.168.192.zone";
    		allow-update { none; };
    };
    
    配置区域配置文件

    复制文件

    cp /var/named/named.empty /var/named/lzy.com.zone
    cp /var/named/named.empty /var/named/134.192.168.zone
    

    修改权限

    chown :named zlt.com.zone
    

    正向解析配置

    为excesoft.com域名设计正向解析,将/var/named/named.empty复制重命名为excesoft.com.zone,
    修改文件属组为named,并对其内容进行修改
    
    $TTL 3H
    @		IN SOA lzy.com. root.lzy.com. (
    		0		;	serial
    		1D	;	refresh
    		1H	;	retry
    		1W	;	expire
    		3H)	;	minimum
    				NS	dns.lzy.com.
    dns		A		192.168.134.139
    www	A		192.168.134.139
    

    反向解析配置

    为excesoft.com域名设计反向解析,将/var/named/named.empty复制重命名为137.168.192.zone,修
    改文件属组为named,并对其内容进行修改。
    
    

    配置网卡

    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
    BOOTPROTO=static
    IPADDR1=192.168.134.139
    NETMASK=255.255.255.0
    GATEWAY=192.168.134.2
    DNS1=192.168.134.139
    

    启动DNS服务器

    systemctl  start  named.service
    

    检查配置文件

     named-checkconf
    
    配置客户端

    修改配置文件

    修改配置文件:#vim /etc/resolv.conf。
    写入以下内容:
    	excesoft.
     	nameserver 192.168.137.22
    

    测试DNS服务器

    测试DNS服务器
    在客户端计算机上使用命令 nslookup进行测试。
    
  • 相关阅读:
    Win7下通过eclipse远程连接CDH集群来执行相应的程序以及错误说明
    Java中的Scanner类和String类
    java的eclipse操作和常用类Object的使用
    如何利用Cloudera Manager来手动安装parcel包
    java.io.IOException: Too many open files
    java中的包以及内部类的介绍
    HDFS中的checkpoint( 检查点 )的问题
    HDFS中Java的API使用测试
    利用ClouderaManager启动HBase时,出现 master.TableNamespaceManager: Namespace table not found. Creating...
    MapReducer程序调试技巧
  • 原文地址:https://www.cnblogs.com/yanlzy/p/11918018.html
Copyright © 2020-2023  润新知