开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

3-unit3 高速缓存DNS

简介:
+关注继续查看

##高速缓存DNS####

##学习目标

配置高速缓存DNS

1.DNS 总揽

权威名称服务器

– 存储并提供某区域 (整个 DNS 域或 DNS 域的一部分 )的实际数据。权威名称服务器的类型包括

Master : 包含原始区域数据。有时称作“主要”名称服务器

Slave :备份服务器 ,通过区域传送从 Master 服务器获得的区域数据的副本。有时称作“次要”名服务器

非权威 / 递归名称服务器

– 客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括

仅缓存名称服务器: 仅用于查找,对于非重要数据之外的任何内容都不具有权威性

DNS 查找

– 客户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器

– 如果名称服务器对于请求的信息具有权威性, 会将权威答案发送至客户端

– 否则, 如果名称服务器在其缓存中有请求的信息, 则会将非权威答案发送至客户端

– 如果缓存只能该没有信息 , 名称服务器将搜索权威名称服务器以查找信息 ,从根区域开始 , 按照

DNS 层

– 次结构向下搜素, 直至对于信息具有权威性的名称服务器, 以此为客户端获得答案。在此情况中,名ch称服务器将信息传递至客户端并在自己的缓存中保留一个副本, 以备以后查找

2.DNS 资源记录

DNS 区域采用资源记录的形式存储信息。每条资源记录均具有一个类型,表明其保留的数据类型

– A :名称至 IPv4 地址

– AAAA :名称至 IPv6 地址

– CNAME :名称至”规范名称“ (包含 A/AAAA 记录的另一个名称)

– PTR : IPv4/IPv6 地址至名称

– MX :用于名称的邮件交换器(向何处发送其电子邮件)

– NS :域名的名称服务器

– SOA :”授权起始“ , DNS 区域的信息 (管理信息 )

3.DNS排错

它显示来自 DNS 查找的详细信息 ,其中包括为什么查询失败:

– NOERROR :查询成功

– NXDOMAIN : DNS 服务器提示不存在这样的名称

– SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败

– REFUSED : DNS 服务器拒绝回答(也许是出于访问控制原因)

4.dig 输出的部分内容

标题指出关于查询和答案的信息,其中包括响应状态和设置的任何特殊标记( aa 表示权威答案,等等)

– QUESTION :提出实际的 DNS 查询

– ANSWER :响应(如果有)

– AUTHORITY :负责域 / 区域的名称服务器

– ADDITIONAL :提供的其他信息,通常是关于名称服务器

–底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间

5.缓存 DNS 服务器

BIND 是最广泛使用的开源名称服务器

在 RHEL 中 ,通过 bind 软件包提供

防火墙开启端口 53/TCP 和 53/UDP

BIND 的主配置文件是 /etc/named.conf

/var/named 目录包含名称服务器所使用的其他数据文件

6./etc/named.conf 的语法

// 或 # 至行末尾是注释 ; /* 与 */ 之间的文本也是注释(可以跨越多行)

指令以分号结束(;)

许多指令认为地址匹配列表放在大括号中、以CIDR 表示法表示的 IP 地址或子网列表中 ,或者命名的 ACL 中 (例如 any; [ 所有主机 ] 和none; [ 无主机 ] )

文件以 options 块开始 ,其中包含控制 named如何运作的指令

zone 块控制 named 如何查对于其具有权威性的根名称服务器和区域

7.一些重要的 options 指令

listen-on 控制 named 侦听的 IPv4 地址

listen-on-v6 控制 named 侦听的 IPv6 地址

allow-query 控制哪些客户端可以向 DNS 服务器询问信息

forwarders 包含 DNS 查询将转发至的名称服务器的列表(而不是直接联系外部名称服务器 ;在设有防火 墙的情况中很有用)

所有这些指令会将打括号中以分号分隔的元素视为地址匹配列表.如

– listen-on { any; };

– allow-query { 127.0.0.1; 10.0.0.0/8 };

8.配置名称服务器

安装 bind 软件包

– yum install  bind  -y

编辑 /etc/named.conf        ##修改配置文件

– listen-on port 53 { any; };         ##允许任何人打开ipv4端口

– listen-on-v6 port 53 { any; };         ##允许任何人打开ipv6端口

– allow-query { any; };        ##允许任何人dns查询地址

– forwarders { 172.25.254.254; };        ##访问172.25.254.254

启动并启用 DNS 服务器

systemctl start named

systemctl enable named


从 desktopX 进行测试:

– dig classroom.example.com


一.DNS服务
1.yum  install  bind.x86_64  -y
2.vim /etc/named.conf            ##修改配置文件

11         listen-on port 53 { any;};     ##允许任何人打开ipv4端口

17        allow-query     { any; };        ##允许任何人dns查询地址

55zone "westos.com" IN {
56         type hint;
57         file"westos.com.zone";
58};

wKioL1kRmGnCRCGvAAEwp1niDMk822.png
wKioL1kRmGvyIbKnAADmMJEoqMU720.png

3.vim /etc/named.rfc1912.zones
 25 zone "westos.com" IN{
 26          type master;
 27          file"westos.com.zone";
 28          allow-update { none; };
 29 };

wKioL1kRmX_Rc_OfAACfZAasVKY340.png

4.cp -p /var/named/named.localhost /var/named/westos.com.zone
vim /var/named/westos.com.zone
$TTL 1D
@       IN SOA  dns.westos.com.  root.westos.com. (
                                       0       ; serial
                                       1D      ; refresh
                                       1H      ; retry
                                       1W      ; expire
                                        3H )    ; minimum
                NS      dns.westos.com.
dns             A       172.25.254.60
www             A       172.25.254.162
music           CNAME   music.a.westos.com.
music.a         A       172.25.254.111
music.a         A       172.25.254.222
westos.com.     MX 1    172.25.254.60.
wKiom1kRmGuTHicwAAEqd8SbCxg952.png
5.测试

*)vim  /etc/resolv.conf

nameserver  172.25.254.60

wKioL1kRmGijQWY0AABhEV6NqZ0555.png
*)dig www.westos.com
*)dig -t mx westos.com 
*)dig music.westos.com

wKiom1kRmGnxVtehAAIZRgqf-Mk309.png

wKiom1kRmGqwLlrpAAGwJQ8UHHk548.png

wKioL1kRmGrjH7dHAAHu3M5GXAw217.png


二.正向解析
1.cp -p westos.com.zone westos.com.inter
2.vim westos.com.inter
$TTL 1D
@       IN SOA  dns.westos.com.  root.westos.com. (
                                       0       ; serial
                                       1D      ; refresh
                                       1H      ; retry
                                       1W      ; expire
                                        3H )    ; minimum
                NS      dns.westos.com.
dns             A       172.25.62.60
www             A       172.25.62.162
music           CNAME   music.a.westos.com.
music.a         A       172.25.62.111
music.a         A      172.25.62.222
westos.com.     MX 1    172.25.62.60.
wKioL1kRmq3yLcP9AADgjzRDDRQ762.png
3.cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter
4.vim /etc/named.rfc1912.inter
zone "westos.com" IN {
         type master;
         file"westos.com.inter";
         allow-update { none; };
};

wKiom1kRmqvzFxiWAABM5_RozwU749.png5.vim /etc/named.conf

 50 /*
 51 zone "." IN {
 52         type hint;
 53         file "named.ca";
 54 };
 55 
 56 include"/etc/named.rfc1912.zones";
 57 include"/etc/named.root.key";
 58 */
 59 
 60 view localnet {
 61         match-clients { 172.25.254.0/24;};
 62         zone "." IN {
 63                 type hint;
 64                 file"named.ca";
 65 };
 66         include"/etc/named.rfc1912.zones";
 67 };
 68 
 69 view internet {
 70         match-clients { 172.25.62.0/24;};
 71         zone "." IN {
 72                 type hint;
 73                 file"named.ca";
 74 };
 75         include"/etc/named.rfc1912.inter";
 76 };
wKiom1kRmqywIUqHAAEhmjry0sw507.png
6.测试

*)vim  /etc/resolv.conf

nameserver  172.25.62.60

*)[root@dns-client162 ~]# dig www.westos.com
wKiom1kRmq6z_jfRAAGp9lnc-UM994.png

三.反向解析
1.vim /etc/named.rfc1912.zones

zone "254.25.172.in-addr.arpa" IN {
        type master;
        file"westos.com.ptr";
        allow-update { none; };
};
wKiom1kRnHaA99zzAABepf3-kdI597.png
2.cp -p /var/named/named.loopback /var/named/westos.com.ptr

3.vim /var/named/westos.com.ptr

$TTL 1D
@       IN SOA  dns.westos.com. root.westos.com. (
                                       0       ; serial
                                       1D      ; refresh
                                       1H      ; retry
                                       1W      ; expire
                                       3H )    ; minimum
        NS      dns.westos.com.
dns     A       127.25.254.60
111     PTR     www.westos.com.
222     PTR     bbs.westos.com.
wKioL1kRnHaQj6yQAACX85sgWeQ553.png
4.测试

[root@dns-client162 ~]# dig -x 172.25.254.222

wKioL1kRnHeT5hJFAAHJegCzPQY877.png

wKiom1kRnHiSWFwYAAG535Pp8ls686.png


四.dns更新
1.备份westos.com.zone
 cp -p /var/named/westos.com.zone  /mnt
2.允许172.25.254.162更新
vim /etc/named.rfc1912.zones
25 zone "westos.com" IN {
26          type master;
27          file"westos.com.zone";
28          allow-update {172.25.254.162; };
29 };
wKiom1kRnSqzWnB4AACN4BTr9k0310.png
3.修改权限
chmod 770 /var/named/
4.打开named_write_master_zones 服务
setsebool -P named_write_master_zones 1

wKiom1kRnSyj_yW0AACcC_NCzew421.png
5.测试
[root@dns-client162 ~]# nsupdate 
> server 172.25.254.60
> update add haha.westos.com 86400 A 172.25.254.222
> send

wKioL1kRnS3BAL0UAABcv24ZHtk019.png


五.dns加密更新
1.加密
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westoskey    ##名字westoskey


2.密钥
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key

key "westoskey" {
    algorithm hmac-md5;
    secret"cO4YCYcToTDA7mWqZSRRtA==";
};
wKiom1kRnmaBlSPFAAGcxgY3QIY642.png
3.配置dns服务
*)vim /etc/named.conf
43 include "/etc/westos.key";
wKioL1kRnmeRzLueAABcmWrLucA714.png
*)vim /etc/named.rfc1912.zones
 25 zone "westos.com" IN{
 26          type master;
 27          file"westos.com.zone";
 28          allow-update { key westoskey;};
 29 };
wKioL1kRnmfjsNe_AABGfufAE7I838.png
4.测试
*)scp /mnt/Kwestoskey.+157+37962.*  root@172.25.254.162:/mnt
*)在172.25.254.162主机
[root@dns-client162 ~]# nsupdate -k /mnt/Kwestoskey.+157+37962.private 
> server 172.25.254.60
> update add haha.westos.com 86400 A 172.25.254.222
> send

wKiom1kRnmaA-EanAAB6i_11AZE398.png

wKiom1kRnmiCZ4cJAADMNwe5QJ0820.png


六.通过主机名访问查询
1.安装dhcp服务
yum install dhcp -y

2.建立dhcp服务配置
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

3.修改配置文件
vim /etc/dhcp/dhcpd.conf 

 7 option domain-name"westos.com";
 8 option domain-name-servers172.25.254.60;
14 ddns-update-style interim;
 30 subnet 172.25.254.0 netmask255.255.255.0 {
 31  range 172.25.254.46 172.25.254.55;
 32  option routers 172.25.254.250;
 33 }
 34 
 35 key "westoskey" {
 36         algorithm hmac-md5;
 37         secret "cO4YCYcToTDA7mWqZSRRtA==";
 38 };
 39 
 40 zone westos.com {
 41         primary 127.0.0.1;
 42         key westoskey;
 43 }

wKioL1kRn4Dj3UOUAADQYF9xSBo044.png
wKioL1kRn4Dht0ySAAD_2afFP7o678.png
*)vim /etc/named.conf        ##修改主配置文件

wKioL1kRoIXS5Z8bAACyYteU56o259.png

4.测试
*)拔掉网线
*)在客户端主机中
hostnamectl set-hostname haha.westos.com    ##修改主机名
*)vim /etc/sysconfig//network-scripts/ifcfg-eth0    ##更改网络为动态
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
:wq

wKiom1kRn4HBfDpIAABlENFSLG4805.png
*)重启网络
systemctl restart network

wKiom1kRn4Sxx3B2AAFm32GRzUQ667.png
*)查询

*)hostnamectl set-hostname   haha.westos.com  ##更改主机名haha.westos.com

*)dig haha.westos.com

wKioL1kRn4LzyZ5CAAJiCziNu_o882.png

*)hostnamectl set-hostname   test.westos.com      ##更改主机名为test.westos.com
*)dig test.westos.com

wKioL1kRn4OjtBTYAAKuUDLDpy4457.png


本文转自cuijb0221 51CTO博客,原文链接:http://blog.51cto.com/cuijb/1923839


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
理解 DNS 缓存
当我第一次学习 DNS 解析 时,我被这个漫长和复杂的过程惊到了。想象一下你每天要访问多少网站,再想一下你每天要访问多少次。现在想象一下你每次访问时,在另一端的 ISP DNS 服务器必须重复整个递归过程,并查询递归链中的所有域名服务器。
0 0
转载:x86的cpu_relax解析
原文:http://blog.liuw.name/1024 内核执行的任务在很多情况下是不加锁的,只是poll某个公有变量去保证同步。再深一步,即使是使用锁,本质上也是一个poll某个公有变量的过程。
639 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载