Linux:建立高速缓存DNS服务器
本篇文章建立在已经建立完毕DNS服务器之后,属于对DNS服务器的优化工作,如需要完整建立DNS服务器的帮助,可以去查看我前面博客里面的内容
修改主配置文件
[root@server100 /]# vim /etc/named.conf
# 修改内容如下
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
allow-query { any; };
forwarders { 114.114.114.114; }; # 主要是对这一行的修改
重启服务
[root@server100 /]# systemctl restart naemd
测试
在测试时,需要把两台机器的DNS服务器都设置为100端的
# 100端 测试
[root@server100 ~]# dig -t A www.csdn.com
; <<>> DiG 9.16.23-RH <<>> -t A www.csdn.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62660
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.csdn.com. IN A
;; ANSWER SECTION:
www.csdn.com. 35 IN A 117.149.203.32
;; Query time: 157 msec
;; SERVER: 172.25.254.100#53(172.25.254.100)
;; WHEN: Mon May 06 18:46:35 CST 2024
;; MSG SIZE rcvd: 57
# 200端 测试
[root@server200 ~]# dig -t A www.csdn.com
; <<>> DiG 9.16.23-RH <<>> -t A www.csdn.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41854
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.csdn.com. IN A
;; ANSWER SECTION:
www.csdn.com. 35 IN A 117.149.203.32
# 因为是从本地缓存去访问的,所以延迟很低
;; Query time: 0 msec
;; SERVER: 172.25.254.100#53(172.25.254.100)
;; WHEN: Mon May 06 18:49:34 CST 2024
;; MSG SIZE rcvd: 57
常见报错处理
# 修改主配置文件
[root@server100 /]# vim /etc/named.conf
# 修改内容如下
recursion yes;
# 将这一行改为no,关闭DNS安全检查
dnssec-validation no;
managed-keys-directory "/var/named/dynamic";
geoip-directory "/usr/share/GeoIP";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
高速缓存dns是一个非权威的dns,在dns服务器中本身并没有数据
当客户需要解析域名时首先查询缓存中是否有数据,如果没有就会从指定的dns服务器中缓存
高速缓存dns可以大大节省内网在做地址解析上所需要花费的时间