web-dev-qa-db-ja.com

LANからのBind9タイムアウト、ポート53でリッスンしているサーバー

私はUbuntuXenialのBind9で非常に奇妙な状況にあります。サーバーはポート53でリッスンしています(ローカルDNSサーバーとして使用しようとしているWindowsboxenからportqryでテストされています)が、次のような要求でタイムアウトになります。

> Dig @192.168.1.6 YYY +search

; <<>> Dig 9.11.0-P3 <<>> @192.168.1.6 YYY +search
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

Search-domainはwindwosで適切に設定されています(ISC DHCPがそれを確認します)。ただし、私が言ったように、portqryプローブポート53はリッスンしていると言っています。

> portqry -n 192.168.1.6 -o 53

Querying target system called:

192.168.1.6

Attempting to resolve IP address to a name...

Failed to resolve IP address to name

querying...

TCP port 53 (domain service): LISTENING

それでも奇妙なことに、サーバーは(サーバー自体からの)ローカルホスト上のクエリに応答します。

; <<>> Dig 9.10.3-P4-Ubuntu <<>> @192.168.1.6 YYY +search
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23454
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;YYY.mydomain.tld.      IN      A

;; ANSWER SECTION:
YYY.mydomain.tld. 3600  IN      A       192.168.1.11

;; AUTHORITY SECTION:
mydomain.tld.    3600    IN      NS      DNS-SERVER.mydomain.tld.

;; ADDITIONAL SECTION:
DNS-SERVER.mydomain.tld. 3600  IN      A       192.168.1.6

;; Query time: 0 msec
;; SERVER: 192.168.1.6#53(192.168.1.6)
;; WHEN: Thu Feb 23 03:59:37 CST 2017
;; MSG SIZE  rcvd: 104

Netstatは、namedがすべての通常のポート/アドレスをリッスンしていると主張しています。

~# netstat -tanpl | grep named
tcp        0      0 10.8.0.1:53             0.0.0.0:*               LISTEN      4074/named
tcp        0      0 192.168.1.6:53          0.0.0.0:*               LISTEN      4074/named
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      4074/named
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      4074/named

何か案は?

編集:人気のリクエストによるとここに/etc/bind/named.conf.options

options {
    directory "/var/cache/bind";

    // If there is a firewall between you and nameservers you want
    // to talk to, you might need to uncomment the query-source
    // directive below.  Previous versions of BIND always asked
    // questions using port 53, but BIND 8.1 and later use an unprivileged
    // port by default.

    // query-source address * port 53;

    // If your ISP provided one or more IP addresses for stable
    // nameservers, you probably want to use them as forwarders.
    // Uncomment the following block, and insert the addresses replacing
    // the all-0's placeholder.

    // forwarders {
    //      0.0.0.0;
    // };
    query-source address * port 53;
    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { none; };
    forwarders {
            8.8.8.8;
            8.8.4.4;
            };
    forward first;
};
3
Bojan Markovic

さて、 jscottstoned のおかげで、後世のために、他の誰かがこのような状況をトラブルシューティングする必要がある場合は、ここに提案された手順があります:

  1. TCPとUDPの両方でポート53を開いていることを確認してください。UDPポートのポートスキャンには注意が必要です。doubleplusを作成してください。 UDP53が実際に合格することを確認してください。
  2. 名前付き構成ファイルのグローバルセクションにallow-query { any; };が必要です(Debian/Ubuntuでは/etc/bind/named.conf.options
  3. 構成構文を確認します。systemdマシンではsystemctl status bind9を使用でき、バインドのロギングの設定方法に応じて、journalctl -xe -u bind9でdaemnonが開始されたかどうかを確認します。
  4. バインドホストと複数のマシンの両方からの解決をテストします。
1
Bojan Markovic