DNS正向解析和反向解析

2019-05-07 21:22:00
admin
原创 1642
摘要:DNS正向解析和反向解析

一、DNS正向解析和反向解析

正向解析:

1、根据域名查询IP地址,是DNS最基本最常用的功能,使用域名区域配置;


反向解析:

1、通过查找PTR记录得到IP指向的域名,PTR记录是一种邮件交换记录,使用网段区域配置

2、邮件交换记录包括A记录和PTR记录,A记录解析名字到地址,PTR记录解析地址到名字;

3、多数垃圾邮件使用动态分配或没有注册域名的IP发送邮件,从而避免追踪,使用域名反向解析可以降低垃圾邮件的数量;


查询类型:

1、递归查询,DNS服务器接收到客户机请求,必须使用准确的查询结果回复客户机,如果DNS服务器没有存储相应的DNS信息,那么服务器会询问其它服务器,并将返回的查询结果提交给客户机;

2、迭代查询,DNS服务器接收到客户机请求,服务器不直接回复查询结果,而是向客户机提供能够解析查询请求的DNS服务器,客户机再向这台服务器提交请求,依次循环直到返回查询结果为止;


查询错误

1、REFUSED:The nameserver refused the client's DNS request due to policy restrictions,策略限制客户来请求;

2、NXDOMAIN:The queried name does not exist in the zone,对应查询记录不存在;


域名分类:

1、域名分类的一级域名是顶级域Top Level Domain:

     组织域.com、.gov、.edu、.mil、.net

     国家域.cn、.jp

     反向域arpa

2、业务分类的一级域名是域名分类的二级域名;


负载均衡:

1、对一个域名绑定多个IP,每次客户机请求获得不同的IP,保证每个服务器相同的机会被客户请求;

2、同一个客户机不会一直请求DNS,因为客户机本地有缓存,ipconfig/flushdns用于清除本地缓存;


高级特性:

1、HttpClient对基于IP的HTTPS请求会做反向解析,所以DNS挂掉会导致HTTPS请求延时增大;

2、HttpClient对象构造时传入自定义的DNS对象可以避免反向解析

3、使用DoT或DoH防止域名解析中间人劫持,DoT是DNS over TLS,DoH是DNS over HTTPS;


DNS服务安装

yum install bind
vim /etc/named.conf
listen-on port 53 { any; };
allow-query { any; };


增加域名区域配置

vim /etc/named.conf

zone "mydomain.com." IN {
    type master;
    file "mydomain.com.zone";
    allow-update { none; };
};

备注:master表示主服务器。


增加域名区域数据配置

vim /var/named/mydomain.com.zone
$TTL 1D

mydomain.com. IN SOA ns1.mydomain.com. root.mydomain.com. (20190212 1d 1h 1w 3h)
mydomain.com. IN NS ns1.mydomain.com.
ns1.mydomain.com. IN A 127.0.0.1
www.mydomain.com. IN A 127.0.0.127
lwork.mydomain.com. IN A 127.0.0.127

备注:

$TTL 1D,定义每条记录的默认缓存时间。

@,zone name,zone的申明位置有定义。


增加网段区域配置

zone "0.0.127.in-addr.arpa" IN {
    type master;
    file "0.0.127.db";
};


增加网段区域数据配置

vim /var/named/0.0.127.db
$TTL 86400
@ IN SOA ns1.mydomain.com. root.mydomain.com.(20190212 1d 1h 1w 3h)
 NS ns1.mydomain.com.
1 IN PTR ns1.mydomain.com.
127 IN PTR www.mydomain.com.
127 IN PTR lwork.mydomain.com.


DNS服务启动

chown named:named /var/named/ -R

named-checkconf -z
service named restart
vim /etc/resolv.conf
nameserver 127.0.0.1

备注:named-checkconf -z用于测试所有配置文件。

发表评论
评论通过审核之后才会显示。