Linux--RH254---unit 3 高速缓存DNS

来源:互联网 发布:淘宝 不经过物流 收货 编辑:程序博客网 时间:2024/06/05 15:46

一、DNS总揽
1.
权威名称服务器
  
存储并提供某区域 (整个 DNS域或 DNS域的一部分 )的实际数据。权威名称服务器的类型包括:
  Master :
包含原始区域数据。有时称作主要名称服务器
  Slave :
备份服务器 ,通过区域传送从 Master服务器获得的区域数据的副本。有时称作次要名称服务器

2.非权威 /递归名称服务器
  
客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括
 
仅缓存名称服务器 :仅用于查找 ,对于非重要数据之外的任何内容都不具有权威性

3.DNS 查找
  
客户端上的 Stub解析器将查询发送至 /etc/resolv.conf中的名称服务器
  
如果名称服务器对于请求的信息具有权威性 ,会将权威答案发送至客户端
  
否则 ,如果名称服务器在其缓存中有请求的信息 ,则会将非权威答案发送至客户端
  
如果缓存只能该没有信息 ,名称服务器将搜索权威名称服务器以查找信息 ,从根区域开始 ,按照DNS层次结构向下搜素 ,直至对于信息具有权威性的名称服务器 ,以此为客户端获得答案。在此情况中, ch称服务器将信息传递至客户端并在自己的缓存中保留一个副本 ,以备以后查找


二、DNS 资源记录
DNS
区域采用资源记录的形式存储信息。每条资源记录均具有一个类型 ,表明其保留的数据类型
– A :
名称至 IPv4地址
– AAAA :
名称至 IPv6地址
– CNAME :
名称至规范名称 “ (包含 A/AAAA记录的另一个名称 )
– PTR : IPv4/IPv6
地址至名称
– MX :
用于名称的邮件交换器 (向何处发送其电子邮件)
– NS :
域名的名称服务器
– SOA :”
授权起始 “ , DNS区域的信息 (管理信息 )


三、DNS 排错
它显示来自 DNS查找的详细信息 ,其中包括为什么查询失败 :
– NOERROR :
查询成功
– NXDOMAIN : DNS
服务器提示不存在这样的名称
– SERVFAIL : DNS
服务器停机或 DNSSEC响应验证失败
– REFUSED : DNS
服务器拒绝回答 (也许是出于访问控制原因 )


四、dig 输出的部分内容
标题指出关于查询和答案的信息 ,其中包括响应状态和设置的任何特殊标记 ( aa表示权威答案 ,等等)
– QUESTION :
提出实际的 DNS查询
– ANSWER :
响应 (如果有 )
– AUTHORITY :
负责域 /区域的名称服务器
– ADDITIONAL :
提供的其他信息 ,通常是关于名称服务器
底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间


五、仅缓存 DNS 服务器
     BIND
是最广泛使用的开源名称服务器。在 RHEL,通过 bind软件包提供。但是,它提供的主服务是 named程序, named服务脚本控制。注:防火墙开启端口 53/TCP53/UDP
     BIND
的主配置文件是 /etc/named.conf/var/named目录包含名称服务器所使用的其他数据文件。

1.安装 bind软件包

– yum install bind.x86_64 -y


2.
编辑 /etc/named.conf
listen-on port 53 { any; };         ##
控制 named侦听的 IPv4地址
allow-query { any; };               ##
控制哪些客户端可以向DNS服务器询问信息
forwarders { 172.25.254.250; };     ##
包含 DNS查询将转发至的名称服务器的列表(而不是直接联系外部名称服务器 ;在设有防火 墙的情况中很有用 )


3.
启动并启用 DNS服务器
systemctl stop firewalld        ##
关闭火墙
systemctl start named          ##开启named
systemctl enable named
cat /etc/rndc.key               ##
开启DNS后生成一个.key文件
netstat -antlpe | grep named    ##
查询端口



4.desktop进行测试
vim /etc/resolv.conf                   ##解析
nameserver 172.25.254.231
dig www.baidu.com



5.结果
1
)不编辑/etc/named.conf
dig www.baidu.com
connection timed out; no servers could be reached


2
)只编辑/etc/named.conflisten-onport 53 { any; };
dig www.baidu.com
status
REFUSED



3)编辑/etc/named.conflisten-onport 53 { any; };allow-query { any; };
dig www.baidu.com
status
SERVFAIL



4)编辑/etc/named.conflisten-onport 53 { any; };allow-query { any; };forwarders { 172.25.254.250; }; 
dig www.baidu.com
status
NOERROR





六、DNS正向解析
1.
配置/etc/named.conf
vim /etc/named.conf
forwarders
那一行去掉


2.
/etc/named.rfc1912.zones文件中添加新的域的相关结构体
vim /etc/named.rfc1912.zones
zone "westos.com" IN {
    type master;
    file"westos.com.zone";
    allow-update { none; };
};


在结构体里面指定这个域的具体的配置文件的名字,这里是westos.com.zone这个只是个文件名,一会儿要在/var/named/下创建这个文件,其他地方都没有用
3.
/var/named/下创建并编辑westos.com.zone文件
cd /var/named/
cp -p named.localhost westos.com.zone
vim westos.com.zone



不写.的时候,会自动补齐/etc/named.rfc1912.zones里面新定义的域名,这里就是westos.com。所以上面图中浅蓝色的部分可以把“.westos.com.”都去掉
systemctl restart named


4.
desktop进行测试
vim /etc/resolv.conf
nameserver 172.25.254.231
dig www.westos.com


七、CNAME更名 和 MX邮件服务器
1.CNAME
更名
vim /var/named/westos.com.zone


systemctl restart named


desktop进行测试:

dig music.westos.com


2.
邮件服务器MX
vim /var/named/westos.com.zone


systemctl restart named


desktop进行测试:
dig -t mx westos.com
mail root@westos.com
mailq




八、DNS反向解析
1.
/etc/named.rfc1912.zones里面定义方向解析的域的结构体
vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN {
    type master;
    file "westos.com.ptr";
    allow-update { none; };
};


我现在的局域网是172.25.254.x要把地址的前3段反着写。file是这个域的方向解析的具体参考文件。名字可以随便取。
2.
/var/named/下创建并编辑刚才定义的文件
cd /var/named/
cp -p named.empty westos.com.ptr
vim westos.com.ptr


橙色和浅蓝色部分加不加点的规则和前面一样。加点就代表输入结束,不自动补齐。不加点会自动补齐。正向解析用A反向解析用 PTR
systemctl restart named


3.
desktop进行测试
dig -x 172.25.254.123



九、DNS多向解析
添加网卡:
add hardware



cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth1


vim ifcfg-eth1


systemctl restart network
systemctl restart named
netstat -antlpe | grep named



1./var/named/下创建并编辑westos.com.inter文件
cd /var/named/
cp -p westos.com.zone westos.com.inter
vim westos.com.inter



2./etc/named.rfc1912.inter里再添加一个结构体
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter
vim /etc/named.rfc1912.inter
zone "westos.com" IN {
    type master;
    file"westos.com.inter";
    allow-update { none; };
};



3./etc/named.conf里再添加一个结构体,来定义其他主机的解析流程
vim /etc/named.conf
1)
注释掉后几行
/*
zone "." IN {
    type hint;
    file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
*/


2
)添加视图
view localnet {
    match-clients { 172.25.254.0/24;};
    zone "." IN {
        type hint;
        file "named.ca";
    };
    include"/etc/named.rfc1912.zones";
};

view internet {
    match-clients { 172.25.31.0/24;};
    zone "." IN {
        type hint;
        file "named.ca";
    };
    include"/etc/named.rfc1912.inter";
};


systemctl restart named


4.
验证

desktop进行测试:
vim /etc/resolv.conf
nameserver 172.25.254.231
dig www.westos.com


foundation进行测试:
vim /etc/resolv.conf
nameserver 172.25.31.231

dig www.westos.com



十、客户端对DNS更新
服务端:
cp -p /etc/named/westos.com.zone /mnt/


vim /etc/named.rfc1912.zones
zone "westos.com" IN {
    type master;
    file"westos.com.zone";
    allow-update { 172.25.254.131;};
};


chmod 770 /var/named/
setsebool -P named_write_master_zones 1
systemctl restart named


测试:
客户端:
nsupdate
> server 172.25.254.231
> update add hello.westos.com 86400 A 172.25.254.111
> send


服务端:dig hello.westos.com


恢复:
vim westos.com.zone


rm -fr westos.com.zone wesstos.com.zone.jnl
cp -p /mnt/westos.com.zone /var/named/
systemctl restart named



十一、DNS密钥
1.
生成key
cat /etc/rndc.key
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westoskey
ls
cat Kwestoskey.+157+53312.key
cat Kwestoskey.+157+53312.private


cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key



2.编辑/etc/named.conf文件
vim /etc/named.conf
include "/etc/westos.key";



3.编辑/etc/named.rfc1912.zones文件
vim /etc/named.rfc1912.zones
zone "westos.com" IN {
    type master;
    file"westos.com.zone";
    allow-update { key westoskey; };
};


systemctl restart named
4.
发放钥匙
scp Kwestoskey.+157+53312.* root@172.25.254.131:/mnt/


测试:
客户端:
nsupdate -k Kwestoskey.+157+53312.private
> server 172.25.254.231
> update add hello.westos.com 86400 A 172.25.254.111
> send


服务端:dig hello.westos.com




十二、DNS动态解析
1.
安装dhcp
yum install dhcp -y


2.
编辑/etc/dhcp/dhcpd.conf文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
  cp: overwrite ‘/etc/dhcp/dhcpd.conf’?y


vim /etc/dhcp/dhcpd.conf
  7 option domain-name"westos.com";
  8 option domain-name-servers172.25.254.231;
 14 ddns-update-style interim;
 30 subnet 172.25.254.0 netmask255.255.255.0 {
 31  range 172.25.254.120 172.25.254.130;
 32  option routers 172.25.254.250;
 33 }
 34 key westoskey {
 35         algorithm hmac-md5;
 36         secret P/2hKg+8U7tyTvmx9jrGVg==;
 37 };
 38 zone westos.com. {
 39         primary 127.0.0.1;
 40         key westoskey;
 41 }



3.编辑/etc/named.conf
vim /etc/named.conf
1)zone "."
注释去掉
zone "." IN {
    type hint;
    file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
2
)注释视图
/*
view localnet {
    match-clients { 172.25.254.0/24;};
    zone "." IN {
        type hint;
        file "named.ca";
    };
    include"/etc/named.rfc1912.zones";
};

view internet {
    match-clients { 172.25.31.0/24;};
    zone "." IN {
        type hint;
        file "named.ca";
    };
    include"/etc/named.rfc1912.inter";
};
*/
4.
systemctl restart dhcpd
cd /var/named
rm -fr westos.com.zone westos.com.zone.jnl
cp -p /mnt/westos.com.zone /var/named/


5.
将与客户端域名相同的dns删去
vim /var/named/westos.com.zone


6.
客户端:
hostnamectl set-hostname test.westos.com
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes


测试:
systemctl restart network
dig test.westos.com

 

0 0
原创粉丝点击