DNS高速缓存
什么是DNS高速缓存?
DNS 服务器可以高速缓存从其他 DNS 服务器收到的 DNS 记录。 也可以在 DNS 客户服务中使用高速缓
存,将其作为 DNS 客户端保存在最近的查询过程中得到的信息高速缓存的方法。 总的来说就是提高解
析速度。
我们需要两台虚拟机,一台服务端,一台客户端
服务端:
安装DNS服务
yum install bind -y
运行DNS服务
systemctl start named
在火墙中添加DNS服务
firewall-cmd --list-all (列出火墙允许的服务名称)
firewall-cmd --permanent --add-service=dns (添加DNS为火墙允许的服务)
firewall-cmd --reload (刷新火墙)
然后开始进行DNS配置
首先配置/etc/named.conf文件
vim /etc/named.conf
第11到17行如下,
options {
11 listen-on port 53 { 127.0.0.1; };
12 listen-on-v6 port 53 { ::1; };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 allow-query { localhost; };
将其进行更改为:
options {
11 listen-on port 53 { any; };
12 listen-on-v6 port 53 { ::1; };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 allow-query { any; };
再将第32行进行修改
32 dnssec-validation yes; --> 32 dnssec-validation no;
客户端:
从服务端主机读取域名解析
vim /etc/resolv.conf
nameserver 172.25.254.101 (服务端主机IP)
DNS服务器的配置(正向解析)
做完上述步骤后
然后开始配置/etc/named.rfc1912.zones
vim /etc/named.rfc1912.zones
将第19到第23行复制到第25行,对粘贴的内容进行修改
jpg
设置A记录
进入/var/named,将named.localhost完全复制为你刚才所写的文件名
cd /var/named
cp -p named.localhost lcdqqq.com.zone
vim lcdqqq.com.zone进行修改,改为如下所示
jpg
都更改后重启DNS服务
systemctl restart named
此时在客户端dig www.lcdqqq.com即可将域名转化为IP地址
3.jpg
DNS服务器的配置(反向解析)
服务端:
vim /etc/named.rfc1912.zones
把第37到42行复制粘贴到43行,修改成:
zone "254.25.172" IN {
44 type master;
45 file "lcdqqq.loopback";
46 allow-update { none; };
47 };
vim /var/named
ll
把named.loopback复制为lcdqqq.loopback
cp -p named.loopback lcdqqq.loopback (-p:完全复制,连权限也复制)
进入文件进行修改:(在这个配置文件里都要以.结尾,不然自动补齐lcdqqq.com)
@ IN SOA dns.lcdqqq.com. root.lcdqqq.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.lcdqqq.com.
A 172.25.254.201
1 PTR www.lcdqqq.com.
101 PTR www.hello.com.
此时再在客户端dig -x 172.25.254.1就会连接到
DNS的内外网区分检测
修改etc/name.conf为:
view localnet {
match-clients { 172.25.254.101; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
};
view internet {
match-clients {any;};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones.inter";
};
把/etc/named.rfc1912.zones复制一份命名为name.rfc1912.zones.inter
在/var/named下把lcdqqq.com.zone复制为lcdqqq.com.inter
把所有254改为0
在/var/named下把lcdqqq.loopback复制为lcdqqq.loopback.inter
把所有254改为0
用172.25.254.101和172.25.254.1分别做测试
DNS主从服务器
如果DNS服务器负载过高,则需要多个DNS服务器,一个master服务器,多个slaves服务器
做法:
再另一台服务器上安装bind
把他的nameserver改成自己
vim /etc/named.conf
更改4个配置
vim /etc/named.rfc1912.zones
把第19到24行复制并粘贴在25行,进行修改
25 zone "lcdqqq.com" IN {
26 type slave;
masters { 172.25.254.100; };
27 file "lcdqqq.com.zone";
28 allow-update { none; };
29 };
再把主服务器的 vim /etc/named.rfc1912.zones
进行修改
25 zone "lcdqqq.com" IN {
26 type master;
27 file "lcdqqq.com.zone";
28 allow-update { 172.25.254.1; };
allow-transfer { 172.25.254.1; };
also-notify { 172.25.254.1; };
29 };
chmod 770 /var/named
在主服务器更改A记录时,将 0 ; serial进行修改,把0改为2016112601(2016年11月26日第一次修改)
这样从服务器就会自动同步
有权限的 从服务器也可以更新主服务器的A记录
nsupload
server 172.25.254.101 (主服务器的IP)
upload delete
send
KEY
可是这样一来有个问题,那就是所有IP为172.25.254.1的用户都可以更改主服务器的A记录,如果别人通过
手动方式更改自己的IP,那么就获得了权限,这样是不安全的
所以我们引入了key
在主服务器上生成公私钥
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST lcdqqq
通过ls查看生成的公钥私钥的文件名,通过cat来查看密钥里的内容
在/etc/named.conf中logging上面一行写入include "/etc/lcdqqq.key"
于是我们需要在/etc下有这个lcdqqq.key文件
cp -p /etc/rndc.key /etc/lcdqqq.key
vim /etc/lcdqq.key进行修改
将引号内的内容修改为你的钥匙名字
将下面的密钥内容换成自己刚才生成的
vim /etc/named.rfc1912.zones
将allow-update中的参数由IP改为key lcdqqq
然后将密钥通过scp发送给从服务器
进入从服务器有密钥的目录
nsupdate -k 私钥名字
server 172.25.254.101
update add 86400 A 172.252.54.101
send原文地址:http://12110509.blog.51cto.com/12100509/1877893