QA@IT

セカンダリDNSで名前解決できない server can't find *** :SERVFAIL

8006 PV

DNSを構築してドメインを公開しようとしているのですが、タイトルの通りできていません。
どうしたら公開できるかどなたか教えて頂けますでしょうか。

[環境]
OS:CentOS6.2
DNS:bind9.7
DNSホスト名:rad-xen-vweb6.integrity.jp.net
セカンダリDNSホスト名(IP):2nd.dnsv.jp(210.172.129.81)

次の通り実施しました。
・レンタルサーバを借りてbind9.7を構築して起動
・/etc/resolve.conf に以下の記載をして、ローカルのDNSにより名前解決できることを確認
 nameserver 127.0.0.1
 nameserver 210.172.129.81
・「お名前.com」でドメインを取得して、ホスト登録、DNS登録、セカンダリDNS申し込み完了
・/etc/named.conf にセカンダリDNSに対してallow-transfer、allow-query 、notify有効
・ゾーンファイルを作成し、named-checkzoneコマンドで文法チェックして問題ないことを確認
・iptablesにTCP:53番ポートを開放する設定を入れる
 iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

上記設定をした後、1週間前後になりますが、お名前.comのセカンダリDNS「2nd.dnsv.jp」に
問い合わせを行っても、情報が伝わっていません。

[セカンダリDNS問い合わせ結果]
[root@rad-xen-vweb6 ~]# nslookup rad-xen-vweb6.integrity.jp.net 2nd.dnsv.jp
Server: 2nd.dnsv.jp
Address: 210.172.129.81#53
** server can't find rad-xen-vweb6.integrity.jp.net: SERVFAIL

お名前.comに問い合わせたところ、お名前.comでの必要な手続きは完了しているので
DNS設定を適切に行ってくださいとのことでした。
お気づきになったことを教えて頂ければ大変助かります。

[netstat,iptables確認結果]
$ netstat -lut
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 :http *: LISTEN
tcp 0 0 localhost:52851 : LISTEN
tcp 0 0 localhost:domain : LISTEN
tcp 0 0 :ssh *: LISTEN
udp 0 0 localhost:domain :
udp 0 0 :mdns *:

$ iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:domain

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

  • iptables設定結果
    [設定結果]
    ACCEPT tcp -- anywhere anywhere tcp dpt:domain
    ACCEPT udp -- anywhere anywhere udp dpt:domain
    -

回答

まだノートで投稿出来ないので、回答で投稿となってしまいますが、設定確認の為に netstat -lut の結果と iptables -L の結果を貼って頂くことは可能ですか?

編集 履歴 (0)
  • 投稿頂きましてありがとうございました。
    質問欄に追記しました。
    ご確認をお願いします。
    -
  • nameserverがlocalhostしかListenしてないようですので、そちらを変更してもらうのと、iptablesの設定がちょっと少ないようですが、まずは疎通確認ということで、53/udpを空けてください。 -
  • ご指摘ありがとうございました。UDP53番ポートを空けて、namedを再起動しました。様子を見てみます。
    -
  • まだ牽けていません。www.google.co.jpなどの他のサーバは名前が牽けるので、ゾーン転送ができていないのではと思いますが・・・。一晩置いてみます。 -
  • 通知が来ないので反応遅くなってすいません。再起動した後、netstat -lut で `tcp 0 0 localhost:domain : LISTEN` のところが `tcp 0 0 :domain : LISTEN` のようになっているでしょうか?ご確認お願いします。
    あと、`rad-xen-vweb6.integrity.jp.net` のIPをお名前.comでホスト登録されてますか?
    -
  • 再起動後も変わらずです。ホスト登録はしております。
    tcp 0 0 localhost:domain *:* LISTEN
    udp 0 0 localhost:domain *:*
    -
  • 解決しました!
    SERVFAILが返される原因は、15:06にご指摘の「nameserverがlocalhostしかListenしてない」からでした。
    -

  • /etc/named.confに「listen-on port 53 { 127.0.0.1; };」の設定があったことが原因でした。。
    -
  • 上記optionを削除してnamed再起動をしたところ、デフォルトの動作に戻したところ、ドメイン名でlistenするようになりました。 -
  • tcp 0 0 rad-xen-vweb6:domain *:* LISTEN
    udp 0 0 rad-xen-vweb6:domain *:*
    -
  • おかげさまで解決できました。本当にありがとうございました。 -
  • tcp 0 0 rad-xen-vweb6:domain *:* LISTEN -
  • 解決されたようで何よりです。 -

DNSは基本的にUDPを使用しますので、53/udpを開けておかないといけないと思いますが、これは大丈夫でしょうか?

編集 履歴 (0)
  • UDP53番ポートを空けて、namedを再起動しました。しばらく様子を見てみます。ありがとうございました。 -
  • ご回答ありがとうございました。設定を見直したところ牽けるようになりました。 -
  • $ nslookup rad-xen-vweb6.integrity.jp.net 2nd.dnsv.jp
    Server: 2nd.dnsv.jp
    Address: 210.172.129.81#53
    Name: rad-xen-vweb6.integrity.jp.net
    Address: 163.43.139.9
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。