有时候防攻击,在上游设定了 UDP 过滤导致 dns 无法解析, 这时候需要透过 正常能正常 UDP 通信IP的DNS 转发来解决这个问题。
可能需要在防火墙上对常用的几个 dns server ip 53 端口劫持到我们的转发服务器 53 端口。
yum install unbound -y
cat>/etc/unbound/unbound.conf<<EOF
server:
interface: 0.0.0.0 # 监听所有接口
access-control: 0.0.0.0/0 allow # 允许所有来源的请求
local-data: "a.com. IN A 10.0.0.1" # 自定义解析记录
forward-zone:
name: "."
forward-addr: 1.1.1.1 # 上游 DNS 服务器
forward-addr: 8.8.8.8
EOF
systemctl start unbound
yum install dnsmasq -y
cat>/etc/dnsmasq.conf<<EOF
server=1.1.1.1 # 设置上游 DNS 服务器
server=8.8.8.8
address=/a.com/10.0.0.1 # 将 a.com 指定到 10.0.0.1
EOF
systemctl start dnsmasq
另外还有 bind和Knot DNS, 之前用过 DNSDIST 感觉不太好用。