CentOSでDNSサーバーを構築したのですが、外部のマシンから名前解決ができない事象が発生しました。
外部マシン(Windows)から「test.local」を引くと以下のように名前解決ができない事象が発生します。
※DNSサーバーでは名前解決はできる
C:>\nslookup vcsa.test.local 10.0.0.1 サーバー: UnKnown Address: 10.0.0.1 *** UnKnown が vcsa.test.local を見つけられません: Query refused
この事象についての解決方法を以下でメモしておきます。
外部マシンからDNS宛に名前解決ができない原因は「allow-query」で許可されてないため
DNSサーバーに名前解決を実施しても上記のようにうまく名前解決ができないので、DNSサーバで以下のコマンドでステータスを確認します。
ステータスは「running」となっていますが、以下のようなメッセージが発生していました。
[root@dns ~]# systemctl status named ------中略------ 4月 06 05:07:31 dns.fko.local named[65715]: client @0x7fd9f715e650 192.168.0.1#50985 (sls.update.microsoft.com): query (cache) 'sls.update.microsoft.com/A/IN' denied 4月 06 05:07:33 dns.fko.local named[65715]: client @0x7fd9de9835d0 192.168.0.1#62272 (sls.update.microsoft.com): query (cache) 'sls.update.microsoft.com/A/IN' denied
外部のマシンからの問い合わせは拒否しているようです。
DNS(named.conf)allow-queryに「any;」を追加
今回の事象の解決方法は「named.conf」で「allow-query」で「any」を追加することで、どこからの問い合わせも受け付けるようにします。
# vi /etc/named.conf options { allow-query { localhost; network; any;};
設定を追記した後はnamedサービスを再起動します。
[root@dns ~]# systemctl restart named
namedサービス再起動後、再度外部マシンから名前解決実施
named.conf変更後、再度DNSに問合せすると正常に名前解決ができたことを確認できます。
C:\>nslookup vcsa.test.local 10.0.0.1 サーバー: dns.test.local Address: 10.0.0.1 名前: vcsa.test.local Address: 10.0.0.100
「query (cache) ‘xxxxxxx.com/A/IN’ denied」による名前解決ができない事象の解決方法は以上となります。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す