DTが死んだときにメールを失わない方法、またはDNSの信頼性について

最近、多数のサーバーが数千台のサーバーが同時に倒れ、最初にhosting.uaで火災が発生し、次にMcHostで切断されたことがありました。 私も夢中になりました。 私は故人のサイトでお金を稼ぐことはしませんでしたが、メールはビジネス通信に常に必要です。 メールがGoogle(またはYandex)に転送されたという事実にもかかわらず、1通の手紙しか届きませんでした。 サーバーとともに、両方のネームサーバーが停止し、送信者はドメインのMXレコードを読み取ることができませんでした。 合計で、私は仕事をしているすべての人々にすべての手紙を別のメールボックスに複製する必要があることを説明するメールなしで26時間座った-非常に屈辱的でプロフェッショナルではない



すべてのホストサーバーがダウンしている場合でもメールを機能させる方法



そのため、DNSの信頼性を扱います。 原則として、ここには神秘主義はありません-DNSはもともと信頼できると考えられていたため、一部のゾーンにドメインを登録する場合、2つのNSサーバーを指定する必要があります。



用語について



微妙なことをすることなく、誰もが理解できるように:

DNS-ドメインネームシステム-サイトのシンボル名によって、IPまたは特別なレコードの値を取得できます。 DNSを介して、メールサーバーはこのドメインのメールを送信するサーバーを見つけます(これはMXレコードに示されています)。

NS-ネームサーバー。 このドメインのリクエストに応答するサーバー。 NSはプライマリ-構成ファイル(マスター)が存在し、送信するデータを記述します。セカンダリ(通常はスレーブ)-プライマリから情報を定期的にコピーし、「バックアップ」として機能します。 セカンダリサーバーは複数の場合があります。 両方(すべて)のサーバーが実行されている場合、負荷はすべてに均等に分散されます。

AXFR -DNSサーバーへのクエリの一種で、要求されたドメインが知っているすべての情報を提供します。 いわゆる「ゾーン転送」。 この要求を通じて、セカンダリNSは目的のドメインのプライマリNSからすべての情報を受け取ります。 通常、AXFR要求は、許可されていない人に不要な情報を表示しないように、小さなIPグループに対してのみ許可されます(たとえば、「秘密」サブドメインの存在)。



すべてが頻繁に行われるため:



サイトxyz.ruがあり、NSサーバーがプロバイダー(プライマリとセカンダリの両方)でよく使用されているとします。 プライマリとセカンダリは、通常、同じサーバー上で、異なるIP上でのみ動作する場合があります。 したがって、これらのNSサーバーには、メールがGoogleまたはYandexから使用されている場合でも、メールを送信する必要があるたびに使用されるMXレコードが含まれています。



ある時点で、DC全体が燃え尽きる、またはフィッターがナイフスイッチで70 Gbの光ファイバーを切断すると、サイトは自然に落下し、外部からアクセスできなくなります。 ただし、Google / Yandexサーバーで処理されたメールも機能しません。 送信者は、あなたにメールを送信するサーバーを知りません。 このような問題は、接続が5分間中断しても発生する可能性があります。 もちろん、送信サーバーはメッセージをキューに入れ、それでも後で送信しようとしますが、これにはメッセージの受信に何時間もかかる可能性があります。



ホスティング事業者はどのようにこれを正しく行うことができますか?



理論的には、NSサーバーを互いに接続されていない異なるDCに保持する必要があります。 実際には、誰も余分なお金を使いたくありません。また、両方のサーバーが同じ「DC」になっていることがよくあります。 さらに、両方のNSサーバーが同じ会社に属している場合、いくつかのリスクがあり(たとえば、すべてのDCからすべてのサーバーを削除するとマスクが表示されます)、以下に提案する方法は依然として有効です。



あなたは自分で何ができますか?



独立したセカンダリサーバーを使用します。 たとえば、 xname.org上 。 セカンダリ/スレーブサーバーを無料で作成できます(レコードはプライマリNSからコピーされます。このため、プライマリNSは195.234.42.1、87.98.164.164、および88.191.64.64からのAXFR要求を許可する必要があります)。 サーバーまたはデータセンター全体がクラッシュしても、メールは引き続き適切に機能します。 MXレコードはセカンダリサーバーから受信されます。 AXFRを解決できない場合は、マスターサーバーを作成し、DNSレコードを手でコピーできます。



更新: Xnameが唯一のオプションではなく、バグがあると言う人もいます。 他にも無料のDNSホスティングサービスがあり、nic.uaから年間1ドルから支払われています。



さらにいくつかのトリック



おそらく、スタブをユーザーに表示するか、バックアップから別のサーバーにサイトを展開する必要があります。 ただし、プライマリDNSが嘘をついているため、そこでは何も変更できず、ドメインを新しいNSサーバーに移行する必要があります。これには時間がかかる場合があります(+すべてを返却する場合は同額)。 この問題を解決するには、XName.orgでプライマリDNSを実行し、サーバーでbind9をセカンダリDNSサーバーとして実行します。 この場合、XName.orgがクラッシュした場合、個人のセカンダリNSのキャッシュからすべてが正常に機能し、DCが落ちた場合、XName.orgの新しいサーバーにユーザーをすばやくリダイレ​​クトできます。



この記事が、次回の壮大なサーバークラッシュの準備、そしておそらく核戦争の準備に役立つことを願っています。

PS。 そして、物理的に離れた場所で毎日バックアップを行います。今日は明日、あなたと一緒に起こりました。



ミニスタディの結果によると、ホストの約半数がプライマリNSサーバーとセカンダリNSサーバーの両方を1か所に保持しており、DCに問題がある場合は両方が同時に落ちます。



コメント/コメント/エラーを歓迎します。



All Articles