我正在尝试创建一个公共 DNS 服务器,我的 DNS 服务器仅在我的内部网络上工作,但是当我尝试“nslookup example.com myDNSserverIP(public ip)”时,它失败了
我在 ubuntu 15.10-Server-32bit - dnsmasq 2.76 上运行它
dnsmasq 配置文件:
resolv-file=/etc/resolv.personal
interface=wlan0
listen-address=127.0.0.1
bind-interfaces
log-queries
和 resolv.personal :
nameserver 'MyPublicIP'
nameserver 8.8.4.4
我用 Gufw 防火墙打开了端口,允许进出端口 53 upd 和 tcp,也在我的路由器中打开了它'你可以看到我吗' 表示端口 53 已打开,我允许 IP 转发
注意:我尝试使用bind进行制作,但maraDNS也失败了
那么我应该怎么做才能公开?
答案1
使用bind9并将其配置为不回答递归查询。这可以通过裂脑配置来完成,以一种方式响应互联网,并允许来自网络的递归响应。
dnsmasq
在同一台服务器上运行bind9
需要做一些工作。您可能不希望 bind9 侦听 dnsmasq 所服务的接口。
这是外部用户的bind9 视图定义。
view "external-in" in {
// Our external (untrusted) view. We permit any client to access
// portions of this view. We do not perform recursion or cache
// access for hosts using this view.
match-clients { any; };
allow-query { none; }; // Secure queries
recursion no; // Secure cache
additional-from-auth yes;
additional-from-cache yes;
include "/etc/bind/named.conf.zones";