配置 DNS基础服务

一、DNS原理

解析过程

  1. 用户在浏览器中输入域名,例如“www.example.com”。
  2. 浏览器检查自身缓存中是否有该域名对应的 IP 地址。如果有,则直接使用该 IP 地址访问网站。
  3. 如果浏览器缓存中没有,操作系统会检查本地的 hosts 文件,查看其中是否有域名与 IP 地址的映射记录。
  4. 若本地 hosts 文件中也没有,操作系统会向本地配置的 DNS 服务器发送 DNS 查询请求。
  5. 本地 DNS 服务器收到请求后,首先检查自身缓存中是否有该域名的解析记录。如果有,则直接返回对应的 IP 地址。
  6. 如果本地 DNS 服务器缓存中没有,它会代替用户设备开启迭代查询,从根域名服务器开始递归,按照域名的层次结构逐步向下查询。
  7. 根域名服务器返回顶级域名(如.com )服务器的地址。
  8. 本地 DNS 服务器向顶级域名服务器发送查询请求。
  9. 顶级域名服务器返回权威域名服务器(即负责该域名的服务器)的地址。
  10. 本地 DNS 服务器向权威域名服务器发送查询请求。
  11. 权威域名服务器查询到域名对应的 IP 地址,并将其返回给本地 DNS 服务器。
  12. 本地 DNS 服务器将获取到的 IP 地址返回给用户的计算机。
  13. 浏览器使用获取到的 IP 地址与服务器建立连接,从而访问网站。

查询方式

递归查询            

直接把结果给客户端

迭代查询

如果知道结果,把结果告诉客户端,如果不知道结果,会把查询转发到下一台DNS服务器

DNS解析类型

SOA 记录:起始授权记录  

NS 记录:指定管理某一个域的服务器是谁子域授权  

A 记录:正向解析,把域名解析成IP      

PTR 记录:反向解析  

MX 记录:指定邮件服务器  

CNAME:别名、泛域名解析、负载均衡、主从、只缓存、转发、子域授权、View 视图

二、DNS 部署

环境介绍

服务器3台、系统centos

安装软件

    yum install -y bind bind-utils bind-chroot
    bind  主包
    bind-utils   客户端测试工具(host 、dig 、nslookup)
    bind-chroot   chroot环境  禁锢dns服务器的工作目录
    caching-nameserver(rhel5提供模板文本,缓存服务)   rhel6不需要

关闭防火墙

systemctl stop firewalld && setenforce 0

启动服务

    # systemctl start named
        如果启动服务没有工作目录的文件夹

工作目录

    /var/named/chroot/etc                    存放主配置文件
    /var/named/chroot/var/named

配置文件

备份配置文件
cp /etc/named.conf /etc/named.conf.backup
​
修改配置文件:
[root@wing etc]# vim /etc/named.conf 
options {
    # 监听在主机的53端口上。any代表监听所有的主机
    listen-on port 53 { any; };
    listen-on-v6 port 53 { ::1; };
​
    # 如果此档案底下有规范到正反解的zone file 档名时,该档名预设应该放置在哪个目录底下
    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";
​
    # 谁可以对我的DNS服务器提出查询请求。any代表任何人
    allow-query     { any; };
​
    /* 
     - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
     - If you are building a RECURSIVE (caching) DNS server, you need to enable 
       recursion. 
     - If your recursive DNS server has a public IP address, you MUST enable access 
       control to limit queries to your legitimate users. Failing to do so will
       cause your server to become part of large scale DNS amplification 
       attacks. Implementing BCP38 within your network would greatly
       reduce such attack surface 
    */
    recursion yes;
​
    dnssec-enable yes;
    dnssec-validation yes;
​
        dnssec-lookaside auto;
        forwarders { 
           # 指定上层DNS服务器(网关)
           192.168.1.1;
        };
​
    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
​
    managed-keys-directory "/var/named/dynamic";
​
    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
};
​
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
​
zone "fqsb.com." IN {
    type hint;
    file "named.ca";
};
​
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
增加zone信息
vim /etc/named.rfc1912.zones
zone "baidu.com" IN {    
       # 定义要解析主域名
        type master;
        file "baidu.com.zone";  
       # 具体相关解析的配置文件保存在 /var/named/baidu.com.zone 文件中
};
编辑区域配置文件
vim /var/named/baidu.com.zone
vim /var/named/fqsb.com.zone
chown root:named /var/named/fqsb.com.zone
$TTL 1D
@       IN SOA          baidu.com. root (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        0 )     ; minimum
​
        IN      NS      baidu.com.
        IN      A       192.168.101.1
www     IN      A       192.168.101.244
test    IN      A       192.168.101.129

增加权限 并启动服务

chown root:named /var/named/baidu.com.zone
systemctl restart named
systemctl enable named
​
systemctl status named service
 vim /etc/resolv.conf  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值