标签:通知 sts client 目标 附加 cond linux options cut
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:
权威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
特别关注;
域名迁移
域名迁移就是修改域名的权威DNS,即将域名ABC.COM的原权威DNS由A迁移到B。实际工作中最常见的形式是将域名转到另一家DNS服务商来解析
正确流程:
过渡期时长的确定:
我们对域名进行trace查询以便了解该域名NS记录的TTL值。如查询CN类域名。
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:
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公布并及时升级软件。一少是尽量少的运行非必要的程序,尽量少的向互联网开放网络端口
标签:通知 sts client 目标 附加 cond linux options cut
原文地址:https://www.cnblogs.com/g2thend/p/11621175.html