2つのホスト名が同じIPアドレスを共有することは可能ですか?


35

2つのホスト名が同じIPアドレスを共有できるかどうかを説明できる人はいますか?

また、1つのホスト名が複数のIPアドレスを表す場合はどうでしょうか?どうして?


18
それが起こる実際の世界の例が必要ですか?ping serverfault.comを実行しsuperuser.com、両方に対して返されるIPアドレスを確認します。
スコットチェンバレン

1
すべてのホスト名はすでに127.0.0.1アドレスを共有しています
。...-jlliagre

回答:


45

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サーバーはラウンドロビン構成と呼ばれるものを提供し、サーバーに、一致するレコードが返される順序を変更します。ロードバランサーが一般的になる前は、これはロードバランスを行い、ネットワークシステムにフォールトトレランスを実装する効率的な方法でした。


7
これは逆の質問ではないでしょうか?
mowwwalker

2
2つの質問があります。@Sirchはすでに最初の部分をかなりよくカバーしていた
Mathias R. Jessen

ああ、わかりました、説明を読み飛ばしました。答えてくれてありがとう!
mowwwalker

1
ブラウザ/ネットワークスタックは通常、最初に受信したアドレスを試しますか?それとも、ランダムなものを試してみますか?DNSサーバーからIPが返される順序をランダム化して、負荷のバランスをとることは理にかなっていますか?
トムマーセナル

特定のクライアント実装に依存します。ほとんどのサーバーは、返されるIPアドレスの順序をランダム化します(これは「ラウンドロビン」と呼ばれる動作です)。実際に興味深い質問、私は少し答えを拡大すると思います
マティアスR.ジェッセン

35

はい、複数のホスト名で同じIPアドレスを使用することができます。ベストプラクティスは、CNAMEレコードを使用してAレコードを指すことです

bar.example.com.        CNAME  foo.example.com.
foo.example.com.        A      192.0.2.23

すべてのフルストップに注意してください。

複数のIPアドレスを表す1つのホスト名を持つことは、もう少し複雑です。MXレコードについて話している場合、このソリューションは優先順位番号を使用してDNSに既に存在します。複数のAレコードを表す場合は、ロードバランサー(HAProxyなど)を使用することをお勧めします。


6
注目に値します。実際のインターネットでは、名前リゾルバを壊したCNAMEのチェーンを見てきました。CNAMEは別のCNAMEを指すことができるため。CNAMEループも可能です。
PP。


またA、同じIPを含むレコードが異なるゾーンに表示される可能性があることも指摘しておく価値がx.foo.com. A 1.2.3.4ありy.bar.com. A 1.2.3.4ます。
Blrfl

この答えはA、同じIP上で複数のホスト名につながるワイルドカードレコードについて伝えることを忘れています。
イジー

ねえサーチ、フルストップとの契約は何ですか?
JonoRR 14年

6

他の回答が示唆するように、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サーバーソフトウェアにも同様のものがあると思います。


2

2つのホスト名の意味を明確にする必要があります。同じIPアドレスを持つ2つの物理的なボックスを意味する場合、答えは通常いいえです。たとえば、serverAとserverBがアクティブ/パッシブクラスターとして動作している場合、各サーバーに2つのアドレスが割り当てられます。1つはそのサーバー専用のIPアドレスであり、2つ目のIPアドレスはサーバー間で共有されたものですが、アクティブなサーバーのみがその共有アドレスをリッスンします。パッシブサーバーは、アクティブサーバーがダウンした場合にのみ共有アドレスでリッスンを開始します。


2

また、IPv6では同じIPを2つ以上のホストに割り当てることができ、ネットワークが負荷分散とフェイルオーバーを行うことに注意してください(一方が到達できない場合は、もう一方を試してください)。両方とも1つの論理エンドポイントと見なされ、DNSは一切関与しません。

この機能はAnycastとして知られています。


1

同じドメインの複数のIP:

  • はい、それは可能であり、非常に一般的です:サーバー(IP A)が落ちた場合、DNSレジスタの次のIPに接続し、別のサーバー(IP B)にアクセスしてサービスを取得できます。

同じIPの複数ドメイン:

次の質問に答える必要があります:すべてのドメインは同じサービスを提供していますか?

  • はいの場合:それは非常に一般的な構成でもあります:多くの企業が、異なる国のトップドメイン(xxx.com、xxx.net、xxx.orgなど)で多くのドメインを購入します。そして、それらはすべて同じサービスを指します。 、IPの同じリストに。
  • いいえの場合:可能ですが、一般的ではなく推奨されません。HTTPサービスのみを許可しているホスティング会社の中には、NAT /プロキシを使用してIPを確保するものがあります。しかしもちろん、それはHTTPを「理解」して宛先サービスを識別するプロキシを意味します。

0

テレコムの多くのサーバー(HSSやPCRFなど)はSCTPトランスポートを使用するため、これらのサーバーには複数のIPアドレスがあります。これらのアドレスは、冗長性とフェイルオーバーを備えた接続を提供するマルチホーミング(SCTPがサポート)に使用されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.