zoukankan      html  css  js  c++  java
  • CentOS 7下简答搭建DNS服务器

    一、DNS相关介绍 

      DNS(Domain Name System)域名系统协议,作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用挨个记住IP地址。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议号是udp53。DNS服务器的作用就是就好比通讯录一样,为各种网络程序找到对应目标主机的IP地址或对应的主机域名。每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。

    主机名到IP地址的映射有两种方式:
      1、静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;
      2、动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射。

    在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。正向解析:根据主机名称(域名)查找对应的IP地址(实际应用中最多的),反向解析:根据IP地址查找对应的主机域名(不常用,一般用于搭建邮件服务器时)。

      根据服务器与所提供域名解析记录的关系,将DNS服务器分为不同的角色:
      1、缓存域名服务器,也称为高速缓存服务器,通过向其他域名服务器查询获得域名->IP地址记录,将域名查询结果缓存到本地,提高重复查询时的速度
      2、主域名服务器,特定DNS区域的官方服务器,具有唯一性,负责维护该区域内所有域名->IP地址的映射记录
      3、从域名服务器(通俗一点就是用于备份DNS服务器的),也称为辅助域名服务器其维护的域名->IP地址记录,来源于主域名服务器搭建DNS服务,应用的软件为:BIND(Berkeley Internet Name Daemon)

    二、搭建过程
      

      1 1. 安装必要软件包
      2 [root@SZH1 ~]# yum -y install bind bind-chroot bind-util bind-libs
      3 解释:
      4 bind           提供了域名服务的主要程序及相关文件
      5 bind-utils     提供了对DNS服务器的测试工具程序(如nslookup、dig等)
      6 bind-chroot    为bind提供一个伪装的根目录以增强安全性(将“/var/named/chroot/”文件夹作为BIND的根目录)
      7 
      8 2. 修改dns配置文件
      9 修改前先备份
     10 [root@SZH1 ~]#  cp -p /etc/named.conf /etc/named.conf.bak // 参数-p表示备份文件与源文件的属性一致。
     11 [root@SZH1 ~]# cat /etc/named.conf
     12 options {
     13     listen-on port 53 { any; };
     14     listen-on-v6 port 53 { any; };
     15     directory     "/var/named";
     16     dump-file     "/var/named/data/cache_dump.db";
     17     statistics-file "/var/named/data/named_stats.txt";
     18     memstatistics-file "/var/named/data/named_mem_stats.txt";
     19     recursing-file  "/var/named/data/named.recursing";
     20     secroots-file   "/var/named/data/named.secroots";
     21     allow-query     { any; };
     22 
     23     /* 
     24      - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
     25      - If you are building a RECURSIVE (caching) DNS server, you need to enable 
     26        recursion. 
     27      - If your recursive DNS server has a public IP address, you MUST enable access 
     28        control to limit queries to your legitimate users. Failing to do so will
     29        cause your server to become part of large scale DNS amplification 
     30        attacks. Implementing BCP38 within your network would greatly
     31        reduce such attack surface 
     32     */
     33     recursion yes;
     34 
     35     dnssec-enable yes;
     36     dnssec-validation yes;
     37 #    dnssec-lookaside auto;
     38     /* Path to ISC DLV key */
     39     bindkeys-file "/etc/named.root.key";
     40 
     41     managed-keys-directory "/var/named/dynamic";
     42 
     43     pid-file "/run/named/named.pid";
     44     session-keyfile "/run/named/session.key";
     45 };
     46 zone "szh.com" IN {
     47     type master;
     48     file "szh.com_zone";
     49     allow-update { none; };
     50 };
     51 zone "110.168.192.in-addr.arpa" IN {
     52     type master;
     53     file "192.168.110.zone";
     54     allow-update { none; };
     55 
     56 };include "/etc/named.rfc1912.zones";
     57 
     58 这两个zone我在配置文件里直接上的,我看很多人说要在/etc/named.rfc1912.zones文件中添加,但因为配置文件中存在最后一行,所以同意生效。
     59 保存退出后输入named-checkconf  // 检查named.conf是否有语法问题。
     60 
     61 3. 查看named进程运行是否正常
     62 [root@SZH1 ~]# systemctl start named // 开启named进程
     63 [root@SZH1 ~]# ps -eaf|grep named // 检查进程
     64 [root@SZH1 ~]# netstat -nult|grep :53 // 检查监听端口
     65 
     66 4. 添加正向解析
     67 [root@SZH1 named]# cat szh.com_zone 
     68 $TTL 1D
     69 @    IN SOA    @ rname.invalid. (
     70                     0    ; serial
     71                     1D    ; refresh
     72                     1H    ; retry
     73                     1W    ; expire
     74                     3H )    ; minimum
     75     NS    @
     76     A    192.168.110.230
     77     AAAA    ::1
     78 ns  A 192.168.110.230
     79 vcenter  A 192.168.110.231
     80 
     81 [root@SZH1 named]# chown :named /var/named/szh.com_zone //授权 named 用户
     82 
     83 [root@SZH1 named]# named-checkzone "szh.com" "/var/named/szh.com_zone" //检查区域文件是否正确 
     84 
     85 5. 添加反向解析
     86 [root@SZH1 named]# cat 192.168.110.zone 
     87 $TTL 1D
     88 @    IN SOA    @ rname.invalid. (
     89                     0    ; serial
     90                     1D    ; refresh
     91                     1H    ; retry
     92                     1W    ; expire
     93                     3H )    ; minimum
     94     NS    @
     95     A    192.168.110.230
     96     AAAA    ::1
     97 230  PTR ns.szh.com.
     98 231  PTR vcenter.szh.com.
     99 
    100 [root@SZH1 named]# chown :named /var/named/192.168.110.zone  //授权 named 用户
    101 
    102 [root@SZH1 named]# named-checkzone "110.168.192.in-addr.arpa" "/var/named/192.168.110.zone " //检查区域文件是否正确 
    103 
    104 6. 重启服务,检查dns是否生效
    105 [root@SZH1 named]# systemctl restart named
    106 [root@SZH1 named]# nslookup
    107 > vcenter.szh.com
    108 Server:        192.168.110.230
    109 Address:    192.168.110.230#53
    110 
    111 Name:    vcenter.szh.com
    112 Address: 192.168.110.231
    113 ------------------------------------------------------dns配置成功-------------------------------------------------------------

      

  • 相关阅读:
    过用户层HOOK思路
    Linux LVM实践
    matlab演奏卡农 Cripple Pachebel's Canon on Matlab
    rman备份恢复总结
    郁金香VC外挂教程(全) 翻录版 免Key(精品教程)
    C# string 中的 @ 作用处理\等字符
    (抓)2分法通用存储过程分页(top max模式)版本(性能相对之前的not in版本极大提高)
    怎样应用OracleParameter怎样写like查询语句?
    (转)DirectoryEntry的使用
    解决模式对话框和window.open打开新页面Session会丢失问题
  • 原文地址:https://www.cnblogs.com/tartarush/p/11847652.html
Copyright © 2011-2022 走看看