同じ IP を使用してアップグレードされた CentOS の新しいボックスへの DNS 伝播

同じ IP を使用してアップグレードされた CentOS の新しいボックスへの DNS 伝播

DNS 構成で問題があります。数年前から CentOS 6 サーバーを 5 つのサイトに使用しています。PCI コンプライアンスのために CentOS 7 にアップグレードする必要があります。新しいボックスを購入し、新しいボックスを構築する間、古いボックスはオンラインのままにしました。切り替え時にネーム サーバーの設定を切り替えなくても済むように、構築中に古いボックスで別の IP を使用して、古いボックスと同じ名前で新しいボックスを構築できると考えました。構築したら、古いボックスをオフにし、新しいボックスの IP を元の IP に切り替えると、すべてうまくいきます。両方のボックスで ISPConfig (コントロール パネル) を使用しました。

しかし、切り替えると、Firefox からは「サーバーが見つかりません」、ping からは「ping 要求でホストが見つかりません」というメッセージが表示されました (Firefox と ping は別のコンピューターから実行されています)。Firefox の URL に IP アドレスを入力すると、5 つのサイト (アルファベット順) のうち最初のサイトは Firefox で正常に表示されますが、サイトの名前では表示されません。両方のボックスの ISPConfig の DNS 設定ですべての文字とドットが同じであることを確認するために、慎重に検索しました。奇妙なことに、昨夜、pri* および named.local ファイルを新しい場所にコピーした後、5 つのサイトのうち 2 つが Firefox と ping の両方で接続されました (ISPConfig は新しいボックスの /var/named/chroot/var/named/ にそれらを配置しましたが、古いボックスの場合と同様に、それらを /var/named にコピーしました)。他の 3 つのサイトが表示されなかったため、古いボックスに戻しました。 (ここでの「切り替え」とは、イーサネット ケーブルを 1 つのボックスから取り外し、イーサネット ケーブルを別のボックスに差し込むことを意味します。) 今朝、新しいボックスに切り替えたときに 5 つのいずれも Firefox に表示されず、ping で見つけることができません。IP が同じでボックス名も同じなので、DNS 接続が切り替わるだけだと思っていました。しかし、どうやら他に何かが起こっているようです。これは MAC アドレスと関係があるのでしょうか? TTL が期限切れになるのを待つ必要があるのでしょうか? (私の TTL は 3600 で、今朝 1 時間以上待ってもまだ機能しませんでした。) 他に何か問題があるのでしょうか? これをデバッグするにはどうすればよいでしょうか?

答え1

上記の問題は、新しいボックスの /etc/named.conf.local が空のファイルであったために発生しました。/etc/named.conf は新しいボックスと古いボックスの両方で同一であり、それぞれに named.conf.local を含める指示が含まれていました。古い動作中のボックスでは、named.conf.local に次のようないくつかのスタンザが含まれていました。

zone "larsonism.com" {
    type master;
    allow-transfer {none;};
    file "/var/named/pri.larsonism.com";
}

named.conf.local ファイルを古いボックスから新しいボックスにコピーし、named を再起動すると (「systemctl restart named」を使用)、DNS は完璧に機能しました。サイトは起動し、電子メールは機能しています。

コントロール パネルを使用して設定する場合、さまざまなエラーが発生する可能性があります。named の設定が特定の指示に従って行われていない可能性があります (たとえば、ディレクトリ パスが間違っている可能性があります)。また、コントロール パネルの設定が正しくない可能性があります。また、コントロール パネル自体にエラーがある可能性もあります。デバッグを行うには、named.conf ファイルと、それに含まれるファイルをチェックするのが良い方法です。named.conf 内または含まれるファイル内に、ロードする pri ファイルを示す行があるはずです。次に、それらの pri ファイルの構文をチェックします。それでも問題が解決しない場合は、bind の新規インストールを試すこともできます。

結局、アップグレードしたボックスで同一のボックス名と IP アドレスを使用するというアイデアはうまく機能します。DNS が機能していれば、どちらかのボックスにイーサネット ケーブルを差し込めば、ドメイン レジストラに問い合わせることなく、どちらかをサーバーとして機能させることができます。次に、イーサネット ケーブルを古いボックスから取り外し、データベースとメール データのバックアップを行い、データベースとメール データをインポートして新しいボックスに適用し、最後にイーサネット ケーブルを新しいボックスに差し込んで、サイトをアップグレードしたサーバーに切り替えることができます。この手法により、2 つのボックスが同時にオンラインになるという懸念がなくなります。その場合、DNS によってサーバーが切り替わったという事実が伝えられる間に、一部のデータが一方に、一部のデータが他方に送られる可能性が生じます。また、ドメイン レジストラを関与させる必要もありません。

関連情報