Linux

如何使我的 dns 伺服器公開?

  • July 19, 2016

我正在嘗試創建一個公共 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,也在我的路由器中打開它’ canyouseeme ‘說埠 53 是打開的,我允許 IP 轉發

注意:我嘗試使用 bind 和 maraDNS 也失敗了

那我應該怎麼做才能公開呢?!

使用 bind9 並將其配置為不回答遞歸查詢。這可以作為響應 Internet 的一種方式的裂腦配置來完成,並允許來自您的網路的遞歸響應。

在同一台伺服器上執行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";

引用自:https://unix.stackexchange.com/questions/296867