dns基本原理及正反解析

DNS原理及配置

  • 一、DNS原理
  • 二、正向解析
  • 三、反向解析

一、DNS原理

dns基本原理及正反解析_第1张图片
1、dns的定义是将域名和ip地址相互映射的一个分布式数据库,能够使客户端更方便的进行访问。
tcp链接 udp解析 53号端口

2、dns类似为树状结构,最顶层为根域,"."来表示,相应服务器为跟服务器,整个域名空间解析权都归
跟服务器所有。
但跟服务器无法承担庞大的负载,采用“委派”机制,在根域下设置了一些顶级域,然后将不通顶级域
的解析权分别委派给相应的顶级域服务器,同样的道理,为减轻顶级域的压力,又下了若干个二级域,二级域
下面又设置三级域。

3、dns的解析顺序为: 读取本地缓存 etc hosts etc resolv

(1)递归查询
递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。
如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。
(2)迭代查询
DNS 服务器另外一种查询方式为迭代查询,DNS 服务器会向客户机提供其他能够解析查询请求的DNS 服务器地址,
当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS
服务器提交请求,依次循环直到返回查询的结果为止。

二、正向解析

-------------------------------------------DNS正向解析-----------------------------
----准备--
rpm -qc bind                   #查询bind软件配置文件所在路径
/etc/named.conf                #主配置文件
/etc/named/rfc1912.zonrs       #区域配置文件
/var/named/named.localhost     #区域数据配置文件
--------------------------------------------
1、vim /etc/named.conf
options {
  listen-on-v6 poet 53 { 192.168.184.10; };              #监听53端口,IP地址使用提供服务的本地IP,也可用any代表所有
#   listen-on-v6 port 53 { : :1; };                      #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
{ any; };                                                #允许使用本DNS解析服务的网段,也可用any代表所有

zone "." IN {                                            #正向解析“. "根区域
        type hint;                                       #类型为根区域
        file "named.ca";                                 #区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
};
include "/etc/named.rfc1912.zones";
wq保存并退出

2、vim /etc/ named. rfc1912. zone                           #可在文件里有模版,可复制粘贴后修改
zone "lic. com" IN {                                     #正向解析"lic.com"区域
type master;                                             #类型为主区域
 file "lic. com. zone";                                  ●指定区域数据文件为lic. com. zone
allow-update { none; };
};
wq

3、cd /var/named/
cp -p named.localhost lic.com.zone                      #保留源文件的权限和属主的属性复制
vim /var/named/lic.com.zone
$TTL 1D                                                  #设置缓存解析结果的有效时间
@       IN SOA lic.com. admin.lic.com. (
                                           0; serial .
                                           1D; refresh
                                           1H; retry
                                           1W; expire
                                           3H ) ; minimum
         NS    lic.com.                                  #记录当前区域的DNS服务器的名称
         A     192.168.150.100                            #记录主机IP地址
IN   MX  10    mail.lic.com.                             #MX为邮件交换记录,数字越大优先级越低
www  IN  A     192.168.150.100                            #记录正向解析www.benet.com对应的IP
mail IN  A     192.168.150.100
ftp  IN CNAME  www                                       #CNAME使用别名,ftp是www的别名
*    IN   A    192.168.150.100                           #泛域名解析,“*"代表任意主机名


----测试----
systemctl start named
systemctl stop firewalld
setenforce 0        
tail -f /var/log/ messages                               #如果服务启动失败,可以查看日志文件来排查错误
rndc-confgen -r /dev/urandom -
host www.kgc.com                 
nslookup www.kgc.com

三、反向解析

---------------------------------------------DNS反向解析----------------------------------------------
1、vim /etc/named.conf
options {
  listen-on-v6 poet 53 { 192.168.184.10; };              #监听53端口,IP地址使用提供服务的本地IP,也可用any代表所有
#   listen-on-v6 port 53 { : :1; };                      #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       { any; };                            #允许使用本DNS解析服务的网段,也

2、vim /etc/named. rfc1912. zone               #文件里有模版,可复制粘贴后修改
zone "80.168.192. in-addr.arpa" IN {        #反向解析的地址倒过来写,代表解析192.168.80段的地址
         type master;
         file "benet. com. zone. local";    #指定区域数据文件为benet.com.zone.local
         allow-update { none; } ;


3、cd /var/ named/
cp -p named. localhost benet. com. zone. local
vim /var/ named/ benet. com. zone. local
$TTL 1D
@       IN SOA benet. com. admin. benet. com. (      #这里的“@"代表192.168.80段地   
                       0     ; serial
                       1D    ; refresh
                       1H    ; retry
                       1W    ; expi re
                       3H )  ; minimum
         NS   benet. com.
         A    192.168.80.10
200 IN PTR    WWW . benet. com.                       #PTR为反向指针,反向解析192.168.80.200地址结果为www . benet. com.

验证
systemctl restart named
host 192.168.80.200
ns1ookup 192.168.80. 200

你可能感兴趣的:(dns基本原理及正反解析)