サーバー移転に伴ってDNS切替を実施し、各所のDNS切替も確認できている状況で「頑なに」古いサーバーへつなぎに行く現象……
勝手になんとかなればよいのですが、そうはならない「例外」というものはどこでもあるお話だと思います。
今回はそういうトラブルに遭遇した際の、切り分けと対処方法を書いていきます。
前提条件「え、切り替わってるよ?」
以下の状況は確認できているものとして、お話を進めていきます。
- 各種のDNSサーバーで切替完了は確認した
- 特定の「ローカルネットワーク」で何らかのトラブルがあり、どうやら新サーバーへ通信ができていない
ということで「ローカルネットワークがNGであろう」という想定です。
念のため、外部のDNSサーバーで確認する方法は以下のとおりです。
定番のWebサービスを利用する
https://www.cman.jp/network/support/nslookup.html
ド定番の「cman.jp」さんです。
使い方は省略しますが、ドメイン名を入れてくださいね。
DNSサーバーを指定してnslookupコマンドを実行する
通常、nslookupコマンドを利用する場合は、実行した機器のDNSレコードを確認します。
オプションを利用することで、確実に外部サーバーのDNSレコードを参照できるので、意外と便利です。
やっていることは上記のサービスを利用する状況と変わらないのですが……
>nslookup example.com 8.8.8.8
上記のようにコマンドをたたくと、GoogleのDNSサーバーを参照しにいってくれます。
複数のDNSサーバーで確実にレコードが更新されているか確認する際に有効ですので、ぜひご活用ください。
他にも2つほど「Public DNS サービス」が利用できますので、以下に掲載しておきます。
ドメイン名 | IPアドレス |
dns.google.com | 8.8.8.8 |
one.one.one.one | 1.1.1.1 |
resolver1.opendns.com | 208.67.222.222 |
問題発生箇所の切り分け
一番気が重い問題発生箇所の切り分けを実施していきましょう。
パターンとしては以下のいずれかになると思われます。
- クライアントPCのDNSレコードが更新されていない
- ルーターのDNSレコードが更新されていない
- 社内サーバーのDNSレコードが更新されていない
この順番で確認していくのが順当かなと思われます。
クライアントPCのDNSレコードが更新されていない
まずはnslookupですよね。
先に挙げたDNSサーバーを指定する方法ではなく、通常の下記コマンドで実施します。
>nslookup example.com
続いて、DNSレコードを更新するコマンドを実施してみましょう。
>ipconfig /flushdns
flushdnsを実行後に再度nslookupを実施して、以下のいずれかになると思われます。
パターンA:正しいIPアドレスに更新される
パターンB:正しいIPアドレスに更新されない
はい、パターンBですね……チッ(舌打ち)
クライアントPCのDNSレコードが更新されない場合
可能性としては以下のいずれかです。
どの順番で確認すると次の可能性が絞り込めるかを考えましたが、しらみつぶししかないように思われます。
- hostsファイルに指定されている
- 特定のDNSサーバーを参照していて、そちらのレコードが更新されていない
- ルーターのDNSレコードを参照していて、そちらが更新されていない
hostsファイルは下記の場所に格納されています。
C:\Windows\System32\drivers\etc
拡張子のないファイルなので、メモ帳で開く場合はファイルタイプの指定を「すべてのファイル」に変更する必要があります。
コメント以外の行が存在した場合、恐らくそいつが原因です。
メモ帳を管理者権限で開いて、hostsファイルを編集してください。
クライアントPCが原因でない場合
先のnslookupでDNSサーバー名とIPアドレスが明記されている場合は、特定のDNSサーバーを参照、そうでない場合はルーターを参照している可能性が高いです。
特定のDNSサーバーを参照している場合は以下の流れで対応可能だと思われます。
- 参照しているDNSサーバーを利用してnslookup
- NGの場合はネットワークアダプターのプロパティで、DNSサーバーを自動または変更
特定のDNSサーバーを参照していない場合は、ルーターが原因の可能性が高いと思われます。
- ルーターを再起動
- 状況改善しない場合は、静的DNS設定されていないか確認
- 特に設定されていない場合、コマンド等でDNSレコードを強制的に更新
- それでも変更されない場合は、参照するDNSサーバーを指定して再度更新
ここまでやって改善しない場合は、社内サーバーが原因だと思われます。
ヤマハルーターの場合については別記事で解説します。
社内サーバーのDNSレコードが更新されていない
「なんで更新されてないんじゃ!」と、担当者へブチ切れていいと思います。
ご自身だった場合は、猛省しつつDNSレコード更新のコマンドをたたきましょう。
動的に更新されない設定なんかが入っている可能性もありますので、そのあたりが確認ポイントかと思われます。
最後に…
最近の業務内容上、サーバー移転関連の記事が増えております。
何事も起きず、スムーズに移転完了するのが一番良いのですけどね……
2020年11月30日にはCentos6のサポート終了もありますし、ご覧いただいている皆様におかれましても、大変な時期になることが想定されます。
サポート終了してもサービス提供が止まらなければ、しばらくは放置できるので良いのですけども(良くない)。