私の意図を明らかにしましょう。
私のホストは何百もの IPv6 アドレスを無料で提供していますが、 IPv4 アドレスには料金がかかります。 1 つのサーバーに複数のサイトがあり、各サイト/ドメインに独自の IPv6 アドレスを割り当てることができるかどうか疑問に思っています。
それは本当に可能なのでしょうか? もし可能ならば、どのように?
私は IPv6 についてかなり読んできましたが、思ったほど明確に理解できていません。
私の主な目標は、各ドメイン/サイトに独自の IP を持たせ、誰かが逆 IP 検索を行ってそのサーバー上にどんなサイトがあるか確認できないようにすることです。
しばらくお待ちいただきありがとうございます。
答え1
まず、アドレス プランが必要です。まだ持っていない場合は、/48 ネットワークを割り当ててください。次に、現在の主要ネットワークとして /64 を 1 つ選択します。ビジネスが大幅に拡大した場合 (そうなることを心から願っています) に備えて、残りのアドレス空間を節約できます。
注記: /64 を超えるドメインが必要になることは決してありませんが、規模が大きくなると、大口顧客を異なる /64 に分割して、各顧客を視覚的に認識しやすくすることが合理的になる場合があります。
/64 を取得したら、それを連続して割り当てる (最初の IP を最初のサイトに割り当てるなど) か、組織のサブグループを選択してサブネットを割り当てる (例: 顧客 X には 200 のサイトがあり、独自の小さなサブネットが割り当てられる) ことができます。2 番目のアプローチをお勧めします。ルーティングに役立ち、ネットワーク担当者の頭を悩ませることはありません。複数のサーバーがあり、おそらく地理的に異なる場所に配置されていると想定します。
割り当てられた /64 を適切にルーティングする必要があるため、サービス プロバイダーによって適切に割り当てられていることを確認してください。独自のコア ルーターを用意すると便利です (必須ではありません)。
その後、次のようなインターフェース エイリアスを作成して、それらのサイトにサービスを提供するサーバーのインターフェースに IP を追加し始めます。
$: ifconfig eth0:0 2001:470:1f0a:314::1 up
アドレスの追加が完了し、ルーティング可能であることを確認したら、その IP/ドメインでのみ応答する VirtualHost を Apache に作成します。
<VirtualHost [2001:470:1f0a:314::1]:80>
ServerName newhost.ipv6domain.com
その後、適切な DNS レコード (newhost.ipv6domain.com -> 2001:470:1f0a:314::1) を追加すれば、問題は解決するはずです。
当然ながら、Apache に関係のない設定はすべて省略しました。これは完全な VirtualHost ステートメントではありません。
編集: 適切な DNS レコードに関する行にポート番号を誤って追加しました。仕事の 10 分前にコーヒーを片手にこの回答を入力したために発生したタイプミスです :P
答え2
これは完全に可能であり、実際に IPv6 はこのように動作することを意図しています。
今のところ、問題はクライアントの接続性にあります。 IPv6 は現時点では普遍的に接続可能ではなく、おそらく今後数年は接続できないでしょう。 IPv6 のみのサイトは、v4 アドレスを持つサイトほどアクセス可能ではありません。
ただし、v4 と v6 の両方のアドレスをサポートできるはずです。これらのサイトはすべて 1 つの v4 アドレスを共有しますが、クライアントが v6 でアクセスすると、別の IP が割り当てられます。このデュアル スタック アプローチは、v6 への移行を進める中で、ほとんどのユーザーが近い将来に実行する必要があるものです。
答え3
しばらくしてから、プログラムifconfig
に置き換えられましたip
。たとえば、追加のIP6アドレスを追加できます。
sudo ip addr add 2001:470:1f0a:314::1/64 dev eth0