IPv4とIPv6の両方を使用する

IPv4とIPv6の両方を使用する

私の Web サーバー (Ubuntu、Nginx) には、ホストによって割り当てられた IPv4 アドレスと IPv6 アドレスの両方があります。私の Web サイトでは、IPv6 アドレスのみにバインドする必要がありますか? これは標準の推奨方法ですか? それとも、IPv4 アドレスと IPv6 アドレスの両方を使用する必要がありますか?

答え1

IPv4とIPv6の両方を使用する

IPv4 アドレスと IPv6 アドレスの両方を使用する必要があります。

現在、インターネット上のほぼすべての人が IPv4 アドレスを持っているか、何らかの NAT の背後にいて、IPv4 リソースにアクセスできます。

しかし、この記事を書いている時点ではインターネットの約0.7% 2.3% 3.8% 6.5% 9% 12% 19% 22% 26% 32% 37% 43%のみがIPv6に対応していますしかし、IPv6 が世界中で導入され始めるにつれて、その数は着実に増加しています。

ごく一部の地域ではISPが提供している主にIPv6またはのみ住宅顧客への IPv6 と、IPv4 接続用の大規模 NAT、NAT64 またはその他のソリューションの使用。IPv4 アドレス空間が最終的に枯渇するにつれて、この数は増加すると予想されます。これらのユーザーは通常、IPv6 よりも優れたパフォーマンスが得られます。

ISPがIPv4枯渇の解決のために大規模なNATを導入した場合、ユーザーは大規模なNATゲートウェイに固有の接続制限により、インターネット接続の信頼性が低下することになります。たとえば、Webページはリソースのすべてをロードするのではなく、一部をロードする、画像があるべき場所に壊れたアイコンが残っていたり、スタイルやスクリプトが欠落していたり​​します。これは、家庭用ルーターの接続制限の枯渇に似ていますが、ISP のすべてのユーザーに断続的に、一見ランダムに影響を及ぼします。これらのユーザーに対してサイトの信頼性を確保したい場合は、IPv6 経由でサイトを提供する必要があります (ISP が IPv6 を導入している必要があります)。

インターネットは IPv6 に向かっているため、Web サイトで IPv6 を有効にすると、有利な立場に立つことができ、問題が深刻になる前に解決できるようになります。

nginxの設定

Linuxとnginxのデフォルトでは、次のようにしてIPv4とIPv6の両方に同時にバインドできます。listen指示を変更するに:

listen [::]:80;
listen 80;

または、SSL サイトの場合:

listen [::]:443 ssl;
listen 443 ssl;

答え2

両方にバインドします!

クライアントが使用した DNS 名を使用して、コードが自分自身への内部参照を実行する IIS Web サイトがありました。このプロセスは常に失敗していました。

もう 1 つの症状は、サーバー上でローカルに実行されているブラウザーが、サーバー名では Web サイトを見つけられず、IPv4 アドレスでしか見つけられないというものでした。つまり、はhttp://192.168.55.139動作しますが、http://myhost失敗します。を使用するとping myhost、デフォルトで IPv6 アドレスが返されます (ping myhost -4は IPv4 アドレスを返します)。

修正方法は、IIS を開いて、Web サイトのバインドを変更し、IPv4 アドレスだけでなく IPv6 アドレスにもバインドすることです。

ここに画像の説明を入力してください

関連情報