linux-dns-11

Posted g2thend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux-dns-11相关的知识,希望对你有一定的参考价值。

1网卡设置配置文件里面DNS服务器地址设置,2.系统默认DNS服务器地址设置。3,hosts文件指定
生效顺序是:
1 hosts文件 ---- 2 网卡配置文件DNS服务地址 ---3 /etc/resolv.conf

查询方式
递归 : 客户端和本地DNS服务器的查询就属于递归查询,客户端发出查询请求后处于等待状态,本地DNS以客户端身份询问下一个DNS服务器,直到本地DNS服务器返回确定回复或否定答复
简记:我问你,你问他

迭代 : 根域名服务器提供顶级域名服务器ip ,loacalnmserver 继续向顶级域名查询,直到获取到真实应答。
他不知道,但是提供了知道的C,继续向c询问

主机向本地DNS发出的请求是递归查询
本地DNS向根域名服务器发出的查询通常是迭代查询,

请求流程:

Client -->hosts文件 → > /etc/reslov.conf ----->>DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根
--> 顶级域名DNS-->二级域名DNS…

服务器类型
主名称服务器(primary name server)
从名称服务器(secondary name server)
缓存名称服务器(caching-only serve)

主要配置
name.conf
acl   定义ip地址的访问控制清单
control  定义rndc使用的控制通道
include  把其他的文件包含到配置文件中
key   定义授权的安全密钥
logging  定义日志内容和位置
options  定义全局配置选项和默认值
server   定义远程服务的特征
zone   定义一个区

操作:
yum -y install bind*
rndc:remote name domain controller,默认与bind安装在同一主机,且只能通过127.0.0.1连接named进程提供辅助性的管理功能;953/tcp
用rndc reload也是可以通知从服务器过来同步信息的。
手动通知某一个区域过来同步信息 rndc notify magedu.com
配置文件 /etc/named.conf
解析数据库,即zone 文件存放位置 /var/named/ZONE_NAME.ZONE
复制系统已有文件并修改,注意属主属组权限
cp -p localhost.loopbask
在主配置文件中定义区域
vim /etc/named.conf
zone "example.com" IN
type master ;
file "example.com.zone";
;

vim /var/named/example.com.zone

$TTL 1D
$ORIGIN example.com.
@ IN SOA ns1.example.com. admin.example.com (
# . . 完全写的时候需要带点,
20190419 (序列号【-----更改过文件后一定要在序列号上面加一否则从服务器是没办法同步!!!-----】)
1H ;刷新时间
5M ;重试时间
7D ;过期时间
1D) ;否定答案的TTL值
IN NS ns1
IN NS ns2
IN MX 10 mx1
IN MX 20 mx2
ns1 IN A 192.168.36.73
ns2 IN A 192.168.36.73
mx1 IN A 192.168.36.73
mx2 IN A 192.168.36.73
webser1 IN A 192.168.36.73
webser2 IN A 192.168.36.73
www IN CNAME websrv

资源记录的解释:
区域解析库:由众多RR组成:
资源记录:Resource Record, RR
记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个,必须位于解析库的第一条记录

? SOA(起始授权服务器):SOA?记录指定提供有关一个 Internet 域、域管理员的电子邮件、域序列号以及与刷新区域相关的多个计时器的权威信息的 DNS 服务器。
? NS(名称服务器):NS?记录将一个域名映射到该域的 DNS 服务器权威列表。委托依赖于?NS?记录。

A IPV4地址
AAAA v6地址
PTR IP ---→ FQDN
NS:Name Server,专用于标明当前区域的DNS服务器
CNAME : Canonical Name,别名记录
MX:Mail eXchanger,邮件交换器
TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮件)记录,https验证等
示例:_dnsauth TXT 2012011200000051qgs69bwoh4h6nht4n1h0lr038x

 SOA记录    
  name: 当前区域的名字,例如“magedu.com.”
   value: 有多部分组成
   (1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
   (2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换例如:admin.magedu.com
   (3) 主从服务区域传输相关定义以及否定的答案的统一的TTL
          
   
   
   

注意:

主配置文件语法检查:named-checkconf
解析库文件语法检查:named-checkzone "magedu.com" /var/named/magedu.com.zone
配置生效:rndc reload 或 service named reload

测试命令
dig [-t type] name [@SERVER] [query options]
dig只用于测试dns系统,不会查询hosts文件进行解析
查询选项:

+[no]trace:跟踪解析过程 : dig +trace magedu.com
+[no]recurse:进行递归解析测试
反向解析:dig -x IP = dig –t ptr reverseip.in-addr.arpa
模拟区域传送:
dig -t axfr ZONE_NAME @SERVER
dig -t axfr magedu.com @10.10.10.11
dig –t axfr 100.1.10.in-addr.arpa @172.16.1.1
dig -t NS . @114.114.114.114
dig -t NS . @a.root-servers.net

host [-t type] name [SERVER]
host –t NS magedu.com 172.16.0.1
host –t soa magedu.com
host –t mx magedu.com
host –t axfr magedu.com
host 1.2.3.4

nslookup命令: nslookup [-option] [name | -] [server]

反向解析区域
区域名称:网络地址反写.in-addr.arpa.
172.16.100. --> 100.16.172.in-addr.arpa.

(1) 定义区域
zone "36.168.192.in-addr.arpa"
type master ;
file "36.168.192.zone" ;
;

(2) 定义区域解析库文件注意:不需要MX,以PTR记录为主

区域示例
$TTL 1D
$ORIGIN 100.16.172.in-addr.arpa.
@ IN SOA ns1.magedu.com. admin.magedu.com. (
# ns1 如全名需要注意 .com.
2015042201
1H
5M
7D
1D )
IN NS ns1.magedu.com.
IN NS ns2.magedu.com.
11 IN PTR ns1.magedu.com.
11 IN PTR www.magedu.com.
12 IN PTR mx1.magedu.com.
12 IN PTR www.magedu.com.
13 IN PTR mx2.magedu.com.

缓存服务器

缓存服务器只需要根区域解析库文件,不包含任何其它区域解析库文件,这样的服务器就叫着缓存服务器。这样的服务器只有缓存搜寻结果的功能,也就是说它本身并没有主机名与IP正反解的配置文件,完全是由对外的查询来提供它的数据源。
配置

recursion选项
recursion选项决定服务器是否可以进行递归查询,如果只作为dns缓存服务器,这个选项必须是yes。
bind 安装后 默认为缓存服务,来自客户端的的请求转发至根,
# vi /etc/named.conf
options
listen-in port 53 any; ;
directory "/var/named";
allow-query any; ;
recursion yes;
;
指定转发域

  options???
  ?//省略部分设置????forward only;?
  ???forwarders??????
  ??114.114.114.114;????????8.8.8.8;??
  ?     ?;
  

缓存服务器获取的请求直接向根域查询,获取结果后返回给客户端,并将结果储存一定时间

转发服务器
forwarding dns服务器连根区域解析库都不需要,而是将客户端的查询请求直接转发给上层DNS服务器去处理,也就是说原本要发往根服务器的查询请求直接丢给了上层DNS服务器去处理

DNS转发功能的实现主要是方便优先共享DNS数据库资源,节省查询时间,而不必每次一级一级的递归去询问根,这样节省带宽流量的时间。
first意思是如果请求不能得到响应,则DNS会向根一级级询问,而only如果不能响应就会报无法解析。
vi /etc/named.conf
options
listen-on port 53 any; ;
directory "/var/named";
allow-query any; ;
recursion yes;
forward only;
forwarders 8.8.8.8; 8.8.4.4; ;
;
转发服务器,分为全局转发及目标区域转发,如有指定域的查询,将转发至指定的上层DNS
forward only:
表示这台服务器仅仅作为转发服务器,即使有根区域的设置也不会去找根,只会将查询交给上层DNS去处理。
forwarders 后面的IP表示其上层DNS服务器

从服务器
主从同步方式
推:主 触发条件,我变化了通知你(以版本号作为更新触发条件)
拉:从 触发条件,轮询 以时间间隔询问(比对数据库版本号)
2015042201 版本号
1H 刷新时间 (轮询时间)
5M 重试时间
7D 过期时间
1D ) 否定答案的TTL 值 (不存在记录的时间值
DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向、反向解析了
从服务器向主服务器查询更新数据,保证数据一致性,此为区域传送。
DNS区域传送,就是DNS主从复制的实现方法,DNS主从复制是DNS区域传送的表现形式。
DNS区域传送有两种方式

axfr:完全区域传送

ixfr:增量区域传送

当一个新的DNS服务器添加到区域中并配置为从DNS服务器时,它则会执行完全区域传送,在主DNS服务器上获取完整的资源记录副本;同时,为了保证数据同步,主域名服务器有更新时也会及时通知辅助域名服务器从而进行更新(增量区域传送)。

从服务器只需要定义区域,而无须提供解析库文件;解析库文件应该放置于/var/named/slaves/目录中
主服务器得允许从服务器作区域传送
主域zone需配置
容许进行域传送的 example.com 的辅域名服务器地址
allow-transfer
192.168.4.14; 192.168.5.53;
;

主从服务器时间应该同步,可通过ntp进行;
bind程序的版本应该保持一致;否则,应该从高,主低
定义从区域的方法:

allow-transfer none ;;

zone "ZONE_NAME" IN
type slave;
masters MASTER_IP; ;
file "slaves/ZONE_NAME.zone";
;

全量区域传送配置:
1,主服务器named.conf 配置 :添加 notify yes 通知从服务器

技术图片

2编辑主服务器/etc/named.rfc.1912.zones添加区域定义信息
zone "example.com" IN
type master;
file "example.named.zone" ;
;
zone "1.168.192.in-addr.arpa" IN
type master ;
file "1.168.192.in.addr.zone" ;

3.在/var/named/下添加解析库文件并配置
在修改主服务器的正反解数据库文件时,添加了从域名服务器的NS记录和A记录,在数据库文件中要有记录声明本区域内DNS服务器的数量,否则无法查询到条目记录。
example.named.zone

技术图片

1.168.192.in.addr.zone
4 ,从服务器修改
vim /etc/resolv.conf
nameserver 主服务器的IP
5,复制主服务器的配置文件至本地
#scp 主服务器IP:/etc/named.rfc1912.zones /etc/
  #scp 主服务器ip:/etc/named.conf /etc/
修改复制过来的文件属主属组权限
修改配置文件类型
allow-trans
zone "example.com" IN
type slave;
mastes 主服务器ip; ;
file "slaves/example.named.zone" ;
;
zone "1.168.192.in-addr.arpa" IN
type slave ;
mastes 主服务器ip; ;
file "1.168.192.in.addr.zone" ;

6,重启服务
7.查看从服务器/var/named/slaves/目录下是否有传送成功的区域文件

增量区域传送
1,修改主服务正向解析文件,增加以下一条A记录(测试用) ,将序列号加1后保存退出

技术图片

2,reload主DNS服务器,查看日志
#systemctl reload named
# tail /var/log/messages
3,再查看从服务器的日志,可查看到已经传送成功。
4,查看从服务器的正向解析文件,可看到已经同步了一条数据

子域授权

相当于是划片管理,是由上至下的授权。由根开始"."。

DNS中最重要的就是NS记录,其中每个NS里面的负责人就是SOA,在父域上定义一条NS记录和一条A记录就可以完成子域授权了

类似根域授权tld:
.com. IN NS ns1.com.
.com. IN NS ns2.com.
ns1.com. IN A 2.2.2.1
ns2.com. IN A 2.2.2.2

magedu.com. 在.com的名称服务器上,解析库中添加资源记录
magedu.com. IN NS ns1.magedu.com.
magedu.com. IN NS ns2.magedu.com.
magedu.com. IN NS ns3.magedu.com.
ns1.magedu.com. IN A 3.3.3.1
ns2.magedu.com. IN A 3.3.3.2
ns3.magedu.com. IN A 3.3.3.3

子域里添加从服务器时,外界无法使用,需要在授权服务器里添加NS 记录
tech.magedu.com. IN ?NS?dns.tech.magedu.com.
dns.tech.magedu.com. ?IN A 172.16.17.1
tech.magedu.com.IN ?NS?ns2.tech.magedu.com.
ns2.tech.magedu.com. ?IN A 172.16.17.2

远程的查询时没有主从之分的,主从服务器只是本地管理区域传送的时候有意义,
当用户查询的时候,服务器这里是轮循返回信息,这种方式实现负载均衡。

父域解析库文件配置

 vi /var/named/frank.com.zone
$TTL 1D
frank.com.  IN SOA  master.frank.com.    admin.frank.com. (
        201802002   ;序列号
        3H               ;刷新时间
        10M             ;重试时间间隔
        1W              ;过期时间
        1D               ;无法解析时否定答案的TTL值
        )
frank.com.           IN  NS  master.frank.com.
mf.frank.com.        IN  NS  sub.mf.frank.com.
master.frank.com.    IN  A   192.168.138.200
sub.mf.frank.com.    IN  A   192.168.138.201
frank.com.           IN  MX 10  mx1.frank.com.
                     IN  MX 20  mx2.frank.com.
mx1.frank.com.       IN  A   192.168.138.200
mx2.frank.com.       IN  A   192.168.138.200
www                  IN  A   192.168.138.200
master               IN  CNAME   www.frank.com.
web                  IN  CNAME   www.frank.com.

子域配置(子服务器

子域区域配置
vi /etc/named.conf
...
zone "mf.frank.com" IN
type master;
file "mf.frank.com.zone";

      如有父域请求则转发(此条删去)
          
      zone "frank.com" IN   
         type    forward;   
         forward only;    
          forwarders  192.168.138.200; ;
      
      ;

子域区域解析文件

# vi /var/named/mf.frank.com.zone
$TTL 600
@ IN SOA sub.mf.frank.com. admin.sub.mf.frank.com. (
201802001
2H
15M
1W
1D )
@ IN NS sub.mf.frank.com.
sub IN A 192.168.138.201
www IN A 192.168.138.201
rndc reload

智能dns
创建视图,目标ip段的acl文件,如该ip符合acl范围,则根据区域配置文件进行查询。

https://www.centos.bz/2012/02/cnc-chinanet-bind-intelligent-dns-deploy/

  [ $( rpm -q bind ) ]   && echo  "bind  installed"||   echo "has not installed "
  main () 
    echo "-----------------------------"
    # zone  configure 
    read -t 30  -p "name of main zone like xxxx.com :" zone 
    read -t 30  -p " ip  of main zone" ip
    echo  "   U  should  modfy  it  after  excute  this  "
    sed  -ri.bk   's/(listen-on port 53).*/\\1  any ;  ; / ;s@(allow-query ).*@\\1   any ; ;@ '   /etc/named.conf
    cat  >> /etc/named.conf <<EOF
zone "$zone"  IN 
type  master ;
file  "$zone.zone" ;
 ;
EOF
cat  > /var/named/$zone.zone  <<EOF
\\$TTL  1D
\\$ORIGIN  $zone.
@    IN   SOA    ns1.$zone  admin.$zone ( 
          `date  +%Y%m%d`
          1H
          5M
          7D
          1D )
         IN   NS  ns1
ns1      IN    A  $ip
73       IN    A  $ip
www      IN  CNAME  73

EOF

    
 recuser() 
      echo "should  modfiy   where  like  xxxxxx  "
    cat  >> /etc/named.conf <<EOF
zone "xxxxx.in-addr.arpa" 
type   master ;
file   "xxxxx.zone" ;
;
EOF

cat  > /var/named/xxxx.zoncat  <<EOF
$TTL  1D
$ORIGIN   xxxxxx.in-addr.arpa.
@  IN  SOA   ns1.xxxxxx.com.  admin.xxxxxx.com. (
  20190419
  1H
  5M
  7D
  1D
)
    IN    NS    ns1.xxxxxx.com.
xx  IN   PTR    xxxxxxx.com.
xx  IN   PTR    xxxxxx.com.

EOF

  main

关于域名解析的授权

首先是两个相关的概念:
域名授权: 指定谁是该域名的权威DNS,即由谁负责解析该域名(由NS记录操作完成)。
权威DNS: 特指对特定域名具有权威发布能力的DNS;互联网上域名(域名记录)解析结果的原出处。
目前域名解析授权状况:
目前在互联网上域名解析授权大体上是谁出售域名就把域名的权威DNS授权给谁并由其提供域名的权威DNS来完成域名解析工作,如购买了新网域名默认就是由新网的权威DNS(nsx.xinnetdns.com、nsx.xinnet.cn)负责所售域名解析:

[root@test root]#dig @a.gtld-servers.net xinnet.com ns
;; ANSWER SECTION:
xinnet.com. 172800 IN NS ns.xinnet.cn.
xinnet.com. 172800 IN NS ns.xinnetdns.com.
xinnet.com. 172800 IN NS ns2.xinnet.cn.
xinnet.com. 172800 IN NS ns2.xinnetdns.com.
域名解析授权是怎么实现的:
域名解析授权是个树状的,从上而下的分层体系,简图如下:
xxa.jpg

首先“.”DNS把COM/NET/CN/ORG/TV等等域名按后缀的不同分别授权给不同的DNS,以利于分别管理。如COM/NET域名被授权给了如下几个权威DNS。
这里不难想像要修改COM/NET的授权DNS要到“.”DNS上去操作才能完成。
[root@test root]#dig com. ns
;; ANSWER SECTION:
com. 96045 IN NS d.gtld-servers.net.
com. 96045 IN NS g.gtld-servers.net.
com. 96045 IN NS b.gtld-servers.net.
com. 96045 IN NS k.gtld-servers.net.
com. 96045 IN NS f.gtld-servers.net.
com. 96045 IN NS l.gtld-servers.net.
com. 96045 IN NS j.gtld-servers.net.
com. 96045 IN NS a.gtld-servers.net.
com. 96045 IN NS i.gtld-servers.net.
com. 96045 IN NS m.gtld-servers.net.
com. 96045 IN NS e.gtld-servers.net.
com. 96045 IN NS h.gtld-servers.net.
com. 96045 IN NS c.gtld-servers.net.
同理可知,要指定或修改ABC.COM的权威DNS要去顶级DNS上操作。通常来说一般的域名所有者是无权登录顶级DNS进行操作的。只能通过域名提供商(如新网,万网等)的专用接口(位于域名商的域名管理平台上)来间接操作顶级DNS上的记录。
以ABC.COM为例简要说明怎么指定自己的权威DNS,假设ABC.COM是在新网购买,那么默认该域名的权威DNS就是nsx.xinnetdns.com、nsx.xinnet.cn。这时候要修改默认权威DNS。首先登录新网的域名管理后台,找到修改域名DNS页面即可完成操作(详细过程这里有:http://www.2cto.com/net/201210/161851.html)。操作完成后要验证一下是否修改成功:
[root@test root]#dig @a.gtld-servers.net abc.com ns
;; ANSWER SECTION:
abc.com. 172800 IN NS ns1.ai-dns.com.
abc.com. 172800 IN NS ns2.ai-dns.com.
abc.com. 172800 IN NS ns3.ai-dns.com.
这里我们把ABC.COM授权给了nsx.ai-dns.com了。
关于域名权威DNS的再授权:
以ABC.COM为例,再授权是指在nsx.ai-dns.com上面再次指定该域名的权威DNS,再授权的意义有这么几个:

  1. 扩展现有的权威DNS数量,如现有ns1,ns2,ns3.ai-dns.com共三台DNS,现在要增加到4台,则可以在原3台DNS上abc.com的ZONE文件内增加
    ns4这个NS记录。
    原来的ZONE内容:
    $TTL 2d
    $ORIGIN abc.com.
    @ 3600 IN SOA ns1.ai-dns.com. root.ai-dns.com.(
    2288091841 1h 600 1w 900 )
    @ 2d IN NS ns1.ai-dns.com.
    @ 2d IN NS ns2.ai-dns.com.
    @ 2d IN NS ns3.ai-dns.com.
    增加ns4这个NS记录后为:
    $TTL 2d
    $ORIGIN abc.com.
    @ 3600 IN SOA ns1.ai-dns.com. root.ai-dns.com.(
    2288091841 1h 600 1w 900 )
    @ 2d IN NS ns1.ai-dns.com.
    @ 2d IN NS ns2.ai-dns.com.
    @ 2d IN NS ns3.ai-dns.com.
    @ 2d IN NS ns4.ai-dns.com.
    当然增加NS4的操作也可以在顶级DNS上完成,不再赘述。
  2. 把权威DNS重新授权给其他DNS,如把原来的权威DNS(nsx.ai-dns.com)重新授权给别人(nsx.ddd.com)。操作过程同上,不再赘述。
    再授权可能存在的潜在问题:
    再授权无疑使得域名解析授权变得更灵活,但是存在以下潜在的隐患。当原授权的权威DNS(即在顶级DNS定义的权威DNS)故障时,这时再授权的D
    NS将无法工作,导致域名无法解析(这是由域名解析过程是自上而下的这个特性决定的)。同时也增加了安全隐患。
    附加部分1:慎用WHOIS来查看域名权威DNS。
    对于域名的Whois数据库是由域名销售商控制的,即每个域名销售商都有自己的WHOIS服务器,这些服务器用来存储自身出售的域名信息,如域名所有人,联系方法,到期时间等内容。WHOIS信息中显示的域名当前权威DNS信息很可能没有及时与域名实际的权威DNS信息同步而导致错误的判断。
    附加部分2:“.”根DNS是怎么被授权的?
    由于“.”根DNS所处域名解析体系的顶端,无法按照常规方法对其授权。到目前为止其授权方法是把所有“.”DNS列表存放在一个文本文件内(自己授权给自己),名字通常为root.hint内容如下(部分节选):
    . 3600000 IN NS A.ROOT-SERVERS.NET.
    A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
    . 3600000 NS B.ROOT-SERVERS.NET.
    B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201

其他

1.权威DNS:
权威DNS是经过上一级授权对域名进行解析的服务器,同时它可以把解析授权转授给其他人,如COM顶级服务器可以授权ABC.COM的权威服务器为NS.ABC.COM,同时NS.ABC.COM还可以把授权转授给NS.DDD.COM,这样NS.DDD.COM就成了ABC.COM实际上的权威服务器了。平时我们解析域名的结果都源自权威DNS

2.递归DNS:
负责接受用户对任意域名查询,并返回结果给用户。递归DNS的工作过程参见本文第二节。递归DNS可以缓存结果以避免重复向上查询。我们平时使用最多的就是这类DNS,他对公众开放服务,一般由网络运营商提供,大家都自己可以架递归DNS提供服务。递归DNS一定要有可靠的互联网连接方可使用
3.转发DNS:
负责接受用户查询,并返回结果给用户。但这个结果不是按标准的域名解析过程得到的,而是直接把递归DNS的结果转发给用户。它也具备缓存功能。他主要使用在没有直接的互联网连接,但可以连接到一个递归DNS那里,这时使用转发DNS就比较合适。其缺陷是:直接受递归DNS的影响,服务品质较差。

互联网上域名解析授权大体上是谁出售域名就把域名的权威DNS授权给谁并由其提供域名的权威DNS来完成域名解析工作

域名解析授权是个树状的,从上而下的分层体系,简图如
技术图片

指定或修改ABC.COM的权威DNS要去顶级DNS上操作。通常来说一般的域名所有者是无权登录顶级DNS进行操作的。只能通过域名提供商(如新网,万网等)的专用接口(位于域名商的域名管理平台上)来间接操作顶级DNS上的记录

dig @a.gtld-servers.net abc.com ns
域名权威DNS的再授权
在zone区域再次添加NS记录,此操作在顶级DNS上执行
把权威DNS重新授权给其他DNS,如把原来的权威DNS(nsx.ai-dns.com)重新授权给别人(nsx.ddd.com),即修改顶级域名服务器该域配置文件的SOA记录。(在网络域名服务提供商处修改授权dns,前提是在另一个网络服务提供商处已添加了必须的记录,)

智能dns

  1. 网通用户向本地DNS请求解析WWW.ABC.COM。
  2. 本地DNS向ABC.COM的权威DNS(这里的权威DNS一定是智能DNS)。
  3. 智能DNS根据请求者(这里是本地DNS)的IP地址在自己的ACL里面进行匹配,然后把匹配的结果返回给本地DNS。
  4. 本地DNS把结果告诉用户,并把结果缓存起来。
  5. 用户访问网通线路上的网站服务器

特别关注;

  1. 智能DNS判断用户来源的依据是“本地DNS”而非是用户自身的IP地址。
  2. 由上延伸,如果电信用户使用了网通DNS,通过智能DNS将会匹配到网通的解析结果。
  3. 本地DNS一般情况下不会亲自向智能DNS请求解析,这是由本地DNS的网络拓扑决定的

域名迁移

域名迁移就是修改域名的权威DNS,即将域名ABC.COM的原权威DNS由A迁移到B。实际工作中最常见的形式是将域名转到另一家DNS服务商来解析

正确流程:

  1. 首先到B把你的域名添加上去,包括SOA、NS、A、CNAME、MX记录等。然后用dig/nslookup等工具验证一下是否刚才添加的记录是否生效,如验证A记录WWW.ABC.COM: dig @B WWW.ABC.COM A
  2. 到原域名注册商处修改域名权威DNS为B,即修改域名的NS记录为B。注意,位于域名原权威DNS上的其他各种记录要保留一段时间不要马上删除。然后在该域名的顶级域DNS上验证一下刚才的修改是否生效。如验证ABC.COM现在的权威DNS:dig @a.gtld-servers.net ABC.COM NS
    三、域名迁移的过渡期:
    域名权威DNS由A转移到B的过程中域名解析权发生变化,世界各地的递归DNS要知道这个变化需要一段时间,因为各地DNS都缓存了该域名以前的状态,更新到最新的状态需要时间

过渡期时长的确定:
我们对域名进行trace查询以便了解该域名NS记录的TTL值。如查询CN类域名。

dig xxx.cn ns +trace

xxx.cn. 21600 IN NS ns.xxx.cn.
xxx.cn. 21600 IN NS ns.xxx.com.
;; Received 83 bytes from 203.119.25.1#53(A.DNS.cn) in 46 ms
xxx.cn. 21600 IN NS ns.xxx.cn.
xxx.cn. 21600 IN NS ns.xxx.com.
;; Received 83 bytes from 129.44.79.4#53(ns.xxx.cn) in 78 ms
上面权威DNS与顶级域DNS上NS记录的TTL值相同,则过渡期为21600秒

特殊情况,如果该域名的原权威DNS上定义的该域名NS记录的TTL值与顶级域DNS上定义的值不同。则这个时候原权威DNS上的TTL为有效值。如163.cn:

dig 163.cn ns +trace

163.cn. 21600 IN NS ns1.newfavor.net.

163.cn. 21600 IN NS ns2.newfavor.net.

;; Received 72 bytes from 203.119.28.1#53(D.DNS.cn) in 62 ms

163.cn. 10800 IN NS dns1.amway.com.

163.cn. 10800 IN NS ns2.newfavor.net.

163.cn. 10800 IN NS ns1.newfavor.net.

;; Received 174 bytes from 61.145.126.88#53(ns1.newfavor.net) in 93 ms

可以看到该域名在顶级域上NS记录的TTL为21600,而在权威DNS上有重新定义为10800,则这个时候原权威DNS上的TTL为有效值。

在实际工作中稳妥起见我们取两者中较大的为最后的参考值。
下面列出几种域名NS记录的TTL值:
COM. TTL = 172800 (48小时)
NET. TTL = 172800 (48小时)
ORG. TTL = 86400 (24小时)
CN. TTL = 21600 (6小时)

zone区域,该文件保存在权威DNS上
@ 3600 IN SOA ns1.ddd.com. root.ddd.com.

为该域名的SOA记录部分,这里的@代表域名本身。ns1.ddd.com表示该域名的主权威DNS。root.ddd.com表示该主权威DN

named 启动报错排查

named -gc /var/named/etc/named.conf

配置操作及执行的日志

named.conf配置log:

logging 

channel warning

 file "log/named.log" versions 3 size 2048k;

severity warning;

print-category yes;

print-severity yes;

print-time yes;

;

channel query

 file "log/query.log" versions 3 size 2048k;

severity info;

print-category yes;

print-severity yes;

print-time yes;

;

category default  warning; ;

category queries  query; ;

;

把named运行日志和日常查询日志分别记录到named.log和query.log文件内

服务器安全隐患,包括操作系统、运行的软件及服务器自身的物理安全问题等。提升服务器安全总的原则是“一多一少”,一多是做个勤快的管理员,多多关注软件的BUG公布并及时升级软件。一少是尽量少的运行非必要的程序,尽量少的向互联网开放网络端口

以上是关于linux-dns-11的主要内容,如果未能解决你的问题,请参考以下文章

Linux汇总一——Linux程序管理,Linux终端,Linux命令格式命令类型及Linux命令帮助

Linux学习导航

Linux 文件/目录管理(初级)

Linux 内核Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )

嵌入式linux怎么学

Linux一步一步学Linux——Linux发展史(01)