2つのホスト名が同じIPアドレスを共有することが可能かどうかを誰かが説明できますか?
また、1つのホスト名が複数のIPアドレスを表す場合はどうでしょうか。どうして?
1つのホスト名に複数のIPアドレスを割り当てることも可能です。
rr.example.com. A 192.0.2.12
rr.example.com. A 192.0.2.23
rr.example.com. A 192.0.2.34
rr.example.com. A 192.0.2.45
DNSサーバーにrr.example.com
を照会すると、IPアドレスのリストが返されます。その後、それらのいずれかに接続することを選択できます。最初の接続試行が積極的に拒否された場合は、次の試行を試みてください。
エンドポイントがアクティブに拒否する限り、ほとんどのブラウザーはこのフローに従いますTCP接続。エンドポイントがタイムアウトすると、すべてのIPが試行されたわけではないにもかかわらず、リソースは到達不能として扱われます
ほとんどのアプリケーション(ブラウザーを含む)は、一度に1つのIPエンドポイントにのみ関心があり、利用可能な最初の回答を選択するだけであるため、他のサーバーがアイドル状態のときに最初のサーバーがすべてのトラフィックを取得するように、ターゲットサーバー間の負荷を偏らせるリスクがあります。 。
これを回避するために、ほとんどのDNSサーバーは、ラウンドロビン構成と呼ばれるものを提供し、サーバーは等しく一致するレコードが返される順序を交互にします。ロードバランサーが一般的になる前は、これはネットワークシステムで負荷分散を行い、フォールトトレランスをある程度実装する効率的な方法でした。
はい、複数のホスト名が同じIPアドレスを使用する可能性があります。ベストプラクティスは、CNAMEレコードを使用してAレコードをポイントすることです
bar.example.com. CNAME foo.example.com.
foo.example.com. A 192.0.2.23
すべての停車地に注意してください。
1つのホスト名で複数のIPアドレスを表すのは少し複雑です。 MXレコードについて話している場合、このソリューションは優先順位番号を使用してDNSにすでに存在しています。複数のAレコードを表す場合は、HAProxyなどのロードバランサーを使用することをお勧めします。
他の回答が示唆するCNAMEの変更に加えて、ホスティングサーバーのロジックも処理する必要があります。私はApacheを使用し、次のように構成しました。
<VirtualHost 1.2.3.4:80>
ServerName www.abc.com
ServerAlias abc.com
...
</VirtualHost>
<VirtualHost 1.2.3.4:80>
ServerName www.xyz.com
ServerAlias xyz.com
...
</VirtualHost>
他のhttpサーバーソフトウェアにも同様の機能があると思います。
IPv6では、同じIPを2つ以上のホストに割り当てることができ、ネットワークが負荷分散とフェイルオーバーを実行することにも注意してください(1つに到達できない場合は、もう1つを試してください)。どちらも1つの論理エンドポイントと見なされ、DNSは一切関与しません。
この機能は エニーキャスト として知られています。
2つのホスト名の意味を明確にする必要があります。同じIPアドレスを持つ2つの物理ボックスを意味する場合、答えは通常「いいえ」です。 serverAとserverBがアクティブ/パッシブクラスターとして機能している場合は、各サーバーに2つのアドレスが割り当てられます。 1つはそのサーバー専用のIPアドレスで、2つ目のIPアドレスはサーバー間で共有されるものですが、アクティブなサーバーのみがその共有アドレスをリッスンします。パッシブサーバーは、アクティブサーバーがダウンしたときにのみ共有アドレスでリッスンを開始します。
同じドメインの複数のIP:
同じIPの複数のドメイン:
次の質問に答える必要があります:すべてのドメインが同じサービスを提供していますか?
テレコム内の多くのサーバー(HSSやPCRFなど)はSCTPトランスポートを使用しているため、これらのサーバーには複数のIPアドレスがあります。これらのアドレスは、SCTPがサポートするマルチホーミングに使用され、接続に冗長性とフェイルオーバーを提供します。