DNS-学习目录
1、递归查询【优先级高于forwarders】
1.1、基础知识
1.1.1、什么是递归查询
如果你要建立一个【授权域名】服务器,仅提供本地已存在域名解析即可;那么不要开启 recursion 功能。
如果你要建立一个递归 DNS 服务器, 那么需要开启 recursion 功能。
如果你的递归DNS服务器有公网IP地址, 你必须开启访问控制功能,只有合法用户才可以发询问。
1.1.2、递归查询配置参数
参数 选项 作用
recurison yes/no 是否开启递归查询请求
allow-recursion {address_match_list | any | none }; 限制客户端递归请求的范围
1.1.3、配置流程
BIND默认配置中的 recurison 参数是启用的;
1、配置仅允许 192.168.10.0 网段用户可以查询(可选);
2、使用客户端查询系统中存在的域名;
3、使用客户端查询系统中不存在的域名(让 BIND 进行递归查询);
1.2、配置递归查询
1.2.1、/etc/named.conf的配置
]# vi /etc/resolv.conf
...
recursion yes;
allow-recursion { 192.168.10.0/24; };
recursing-file "/var/named/data/named.recursing";
...
1.2.2、增加递归IP地址
# 增加进行递归的服务器IP地址
echo "192.168.10.2" >/var/named/data/named.recursing
1.2.3、语法检查且重新加载named
named-checkconf
rndc reload
1.3、测试DNS解析
1.3.1、显示完整解析
]# dig www.qq.com @192.168.10.19
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.13 <<>> www.qq.com @192.168.10.19
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20924
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 3, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.qq.com. IN A
;; ANSWER SECTION:
www.qq.com. 300 IN CNAME ins-r23tsuuf.ias.tencent-cloud.net.
ins-r23tsuuf.ias.tencent-cloud.net. 120 IN A 112.53.42.52
ins-r23tsuuf.ias.tencent-cloud.net. 120 IN A 112.53.42.114
;; AUTHORITY SECTION:
tencent-cloud.net. 172390 IN NS ns-open1.qq.com.
tencent-cloud.net. 172390 IN NS ns-open3.qq.com.
tencent-cloud.net. 172390 IN NS ns-open2.qq.com.
;; Query time: 940 msec
;; SERVER: 192.168.10.19#53(192.168.10.19)
;; WHEN: Mon May 08 10:54:24 CST 2023
;; MSG SIZE rcvd: 188
1.3.2、显示解析IP地址
]# dig www.qq.com @192.168.10.19 +short
ins-r23tsuuf.ias.tencent-cloud.net.
112.53.42.52
112.53.42.114
]# dig www.test.com @192.168.10.19 +short
www.example.com.
1.1.1.1
]# dig www.example.com @192.168.10.19 +short
1.1.1.1
2、forwarders【DNS转发模式】
2.1、什么是DNS转发
转发指的是将域名查询请求,转至某一台服务器解析(被转发的服务器必须允许为当前服务器做递归)
转发分为两类;
区域转发:仅转发对某特定区域的解析请求;
全局转发:针对本地没有通过 zone 定义的区域查询请求,统统转发;
2.2、DNS转发语法
2.2.1、区域转发
zone "ZONE_NAME" IN {
type forward;
forward first|only ;
forwarders { SERVER_IP; };
};
属性解析:
forwarder only :仅转发
forwarder first :优先转发给对应的服务器查询,如转发器未响应,则自行迭代查询
2.2.2、全局转发
options {
...
forward { first | only };
forwarders { SERVER_IP; };
...
}
属性解析:
forwarders :转发给哪台服务器;可以多台;
2.3、实战
2.3.1、/etc/named.conf的配置
]# vi /etc/named.conf
...
//需要注释掉如下
//recursion yes;
//recursing-file "/var/named/data/named.recursing";
//allow-recursion { 192.168.10.0/24; }; # 需要注释掉
forwarders { 192.168.10.2;8.8.8.8; };
...
2.3.2、检查语法并且重新加载named
named-checkconf &&rndc reload
2.3.3、解析外网域名【测试解析】
]# dig www.baidu.com @192.168.10.19 +short
www.a.shifen.com.
120.232.145.144
120.232.145.185
2.3.4、解析自定义域名【测试解析】
]# dig www.test.com @192.168.10.19 +short
www.example.com.
1.1.1.1