本文简要介绍一下自建递归解析服务以打破阿里DNS等提供公共DNS服务的请求频率限制:
sudo dnf -y install bind bind-utils
打开配置文件:
vim /etc/named.conf
这里我们只需要简单的对默认的配置进行一下修改即可,按下i进入编辑模式:
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
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; };
allow-recursion { any; };
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;
dnssec-validation yes;
managed-keys-directory "/var/named/dynamic";
geoip-directory "/usr/share/GeoIP";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
/* https://fedoraproject.org/wiki/Changes/CryptoPolicy */
include "/etc/crypto-policies/back-ends/bind.config";
};
按下ESC,输入 :wq
退出并保存,在这里我们主要修改的是以下的部分:
在这里,listen-on port 53 { any; }; 以及 listen-on-v6 port 53 { any; };表示监听所有IPV4和IPV6,因为在家庭网络中普遍存在的NAT,这里不需要进行限制。allow-query { any; };表示允许所有地址向该递归服务器发起请求。allow-recursion { any; };表示允许所有地址向该服务器发起递归请求。可以根据自己实际的情况来进行调整。
保持其他的配置部分不要变更。
named-checkconf /etc/named.conf
systemctl enable --now named
在options { }块之前添加一个部分以配置证书,记得给这里的路径换成你证书所在的路径:
tls local-tls {
key-file "/ssl/domain.pem";
cert-file "/ssl/domain.key";
};
为证书路径配置权限:
chown -R named:named ssl
在options { } 块中添加以下内容以启用=
listen-on port 443 tls local-tls http default {any;};
listen-on port 853 tls local-tls {any;};
使用命令检查配置文件是否存在错误:
named-checkconf /etc/named.conf
重新启动解析服务:
systemctl restart named
打开防火墙:
firewall-cmd --add-port=53/udp --permanent
firewall-cmd --add-port=53/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --add-port=853/tcp --permanent
firewall-cmd --reload
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。