質問: CentOS5.6でBIND(bind-chroot)で構築されたDNSサーバーの移行作業をしているのですが、移行先サーバーによるDNS名前解決ができません。解決方法のアドバイスをいただきたいです。 BINDに関しては、Aレコードの変更等しかしたことがありません。 移行は、仮想サーバー上のサーバーAから、そのコピーで作成されたサーバーBへの移行で、AとBはグローバルIP/ローカルIPが異なります。 また、サーバーAはMIPでグローバルIPを仮想サーバーのプライベートIPに紐づけていましたが、サーバーBはグローバルIPを直接仮想サーバーに割り当てています。 IP変更の影響を受けそうな設定については変更しました。 具体的には、named.confの下記旧サーバーIP「aaa.aaa.aaa」の部分と、対応するzoneファイルのファイル名とファイル内の「aaa.aaa.aaa」を新IP「bbb.bbb.bbb」に変更しました。 ``` zone "aaa.aaa.aaa.in-addr.arpa" { type master; file "aaa.aaa.aaa.rev"; }; ``` resolve.confは以下のようになっています。 ``` nameserver 127.0.0.1 nameserver xxx.xxx.xxx.xxx nameserver xxx.xxx.xxx.xxx domain xxxxx.co.jp search xxxxx.co.jp ``` この状態で、digでDNSの動作確認をしましたが、エラーが発生します。 ``` # dig @<サーバーBのIP> <検証対象ドメイン> ; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> @<サーバーBのIP> <検証対象ドメイン> ; (1 server found) ;; global options: printcmd ;; connection timed out; no servers could be reached ``` ただし、digのオプション「+tcp」を付けると正常に応答が返ってきます。 サーバーA上では「+tcp」なしでも正常に応答が返ってきます。 考えられる原因・不足している変更点等、何が考えられるでしょうか。 「+tcp」を付けると問題ないということは、udpがファイアウォール等で遮断されているのかと思いましたが、外部からport scanのWebサービスで確認した限りでは問題ありませんでした(tcp/udpともにポート番号53は疎通OK)。 ファイアウォールの設定はサーバー業者しか変更できません。 設定に違いがないか確認してもらいましたが、違いはないとのことでした。 iptablesの停止や、named.confへの「query-source address * port 53;」追加も試しましたが、問題解消できませんでした。
回答: 釈迦に説法ですが、基本確認をもう一度と言う事で... 質問者の方が仰る「MIP」の説明が下記URL通りなら、新旧サーバ間でNW接続方式が異なるので、通信時のFW装置ログを確認して、成功・失敗時の挙動確認が一つ。 SSG - VIP / MIP ⇒上記URL最下行付近の「VIP/MIP機能比較」など。 もう一つは、(おそらくEOL対応などで)CentOS5.6という古いOSからCentOS7あたりに乗り換えという想定で、CentOS5.6には無かった「Firewalld」と「SE-Linux」辺りの設定確認をしつつ、DNS提供側サーバ通信時の「/var/log」周りのログ確認でしょうか? TCP/UDP通信時のFW装置側/DNS提供側サーバ側ログの同時確認で、被疑個所を搾れる可能性もあると思われます。 参考にならなかったら、ごめんなさい。