最近まで、ケーブルルーター/モデムの背後でサーバーをDMZ(すべての外部トラフィックがルーティングされた)として自宅で実行していました。これはうまく機能しました。接続できなくなりました。
以前はIPv4やネットワークセグメントなどを理解していましたが、IPv6を同じように「読み取る」ことができないため、今ではssh
ができないのに理由がわかりません。おそらく、私が信じているのは外部IPではないかもしれないからです...
whatismyip.org
に移動して外部IPアドレスを取得したところ、画面に2a01:79c:cebd:5bc:b0cc:d7d2:22d0:3369
が表示されました。これはサーバー(ヘッドレス)ではなく、同じネットワーク上の別のマシンで実行されました。 NATの背後にあるマシンに転送せずに直接接続できるようにするIPv6について何か聞いたので、これは私が見ているIPv6アドレスがルーターのIPではないことを疑わせます(通常はIPv4の世界にあります)が、ローカルネットワーク上のコンピューターのIPv6アドレスです。おそらくここから離れていますが、言及する価値があると思いました。
とにかく、サーバー上で実行されているWebサーバーに接続しようとすると、次のように試行されました:curl http://[2a01:79c:cebd:5bc:b0cc:d7d2:22d0:3369]
。接続できませんでした。
IPv6について聞いたところ、転送せずにNAT)の背後にあるマシンに直接接続できるようになりました
ああ、そんなに不必要な混乱。申し訳ありません。
IPv6は、基本的にIPv4と同じように機能します。明らかに、アドレスごとにより多くのビットを使用するIPv6など、いくつかの違いがあります。
しばらくの間、DHCPv6はDHCP/IPv4ほど開発されていませんでした。代わりに、Router Solicitation/RouterAdvertisementsプロトコルを使用することをお勧めしました。 (これはRSとRAの両方と呼ばれています。)RS/RAはIPv4であまり人気がありませんでした。おそらく、主にDHCP/IPv4がすでにかなり人気があったためです。 IPv6では、SLAACと呼ばれるプロセスがRSとRAを使用します。
SLAACを使用する場合、一部の実装では/ 64サブネットサイズを使用する必要があります。これは、多数のサブネットサイズがサポートされ、さまざまなサブネットサイズがかなり一般的に使用されていたDHCP/IPv4からの注目すべき変更です。
IPv6では、初期の標準では、ISPが少なくとも/ 48ブロックを提供する必要があると指定されていました。 (各/ 48ブロックには2 ^ 16/64サブネット、別名16,384/64サブネットがありました。)これにより、人々はサブネット化できます。これにより、人々は非常に多くのアドレスを取得していたため、アドレスの使用を最小限に抑えるためにNATを使用する必要がなくなりました。これにより、多くの人々がNAT =必要ありませんでした。
「NATを使用する要件を回避する」方法は、IPv6サブネット化を設定することでした。ただし、「NAT要件の回避」は「NATの回避」とは大きく異なります。IPv6でNATを使用して、技術的に使用することは可能です。 NAT IPv4で機能するのとまったく同じ方法で機能しますが、一般的にサブネットサイズが大きくなるなどの明らかな違いがあります。ただし、原則は同じように機能します。
これにより、私が見ているIPv6アドレスがルーターのIP(通常はIPv4の世界にある)ではなく、ローカルネットワーク上のコンピューターのIPv6アドレスであることが疑われます。
ええ、それは可能です。 IPv4を使用すると、パブリックIPアドレスを内部マシンに割り当てることができます。これは、使用可能なパブリックIPv4アドレスがないため、通常は実行されませんが、設定することはできます。 IPv6の場合、一般的なシナリオでは、使用可能なパブリックアドレスが不足しないことが一般的であるため、このタイプのセットアップはIPv6でより一般的です。
それでも、内部マシンにはデフォルトゲートウェイがあり、これはおそらくルーターです。そのルーターにログインすると、ルーティングテーブルが表示されます。
パブリックIPv6アドレスを使用しています。プライベート使用のIPv6アドレスは「fd」で始まります(プライベート使用のIPv4アドレスが「192.168。」または「172.16。」から「172.31。」または「10.」で始まるのと同じです)「fe80:」で始まるアドレスは「リンク」です。 -ローカル」アドレス。IPv4の「169.254」に似ています。アドレスがいくつかの違いがあります。 (IPv6では、「fe80:」を表示することが要件です。表示されないことは問題です。対照的に、IPv4「169.254。」を表示することはしばしば問題になります。)
NDPを使用してサーバーのアドレスを見つけることができる場合があります。例:Microsoft Windowsの場合:
netsh interface ipv6 show neighbor
他のオペレーティングシステムは、IPv6ネイバーを表示するためにndp
やip -6
などのコマンドを使用する場合があります。
通常、IPv6を有効にするだけではIPv4には影響しません。つまり、ISPが実際に無効のネイティブIPv4接続を持っている(そしてCGNATを使用している)ということだと思いますか?
いずれにせよ、最初にIPv6の違いを明確にしましょう。
NATの背後にあるマシンに転送せずに直接接続できるようにするIPv6について何か聞いたので、これは私が見ているIPv6アドレスがルーターのIPではないことを疑わせます(通常はIPv4の世界にあります)が、ローカルネットワーク上のコンピューターのIPv6アドレス。
ポートフォワーディングが必要ない理由は、遅れていないNATもう)代わりに、ルーターは独自のグローバルアドレスに加えて、 LANで使用するための完全なrange(/ 64プレフィックス)、および各デバイスには独自のグローバルアドレスがありますそのプレフィックスから。LAN範囲は2a01:79c:cebd:5bc::/64
であり、そこからのすべてのアドレスは外部から到達可能です。
したがって、コンピュータの「whatismyip」で示されているアドレスに接続しようとしている場合は、実際には同じコンピュータに接続しています。サーバーのアドレスを確認する場合は、確認する必要があります。それfromそのサーバー。実際にサイトにアクセスする必要はありません。アドレスはすでにグローバルであるため、Linuxの場合はip addr
、BSDの場合はifconfig
、またはipconfig
から取得できます。 Windowsの場合。
(実際、多くのホストが複数のアドレスを自己構成するため、さらに優れています–永続的なアドレスと、毎日変更される一時的なアドレス。Webサイトに一時的なアドレスが表示されます、ただし、着信接続の場合は、永続的な接続が必要です。前述のコマンドで両方が表示されます。)
ただし、「ポートフォワーディング」がないからといって、必ずしもルーター構成が不要になるとは限りません。
IPv4では、「ポート転送」ルールを追加すると、単にNAT変換が設定されるだけでなく、その特定のポートのファイアウォールも開かれます。一方NAT IPv6ではもはや問題ではなく、ファイアウォールがあります。ISPにセキュリティの感覚がある場合、そのファイアウォールstillは次の方法で着信接続をブロックします。デフォルト。
したがって、正しいアドレスを持っていても接続できない場合は、まだルーターの構成にアクセスし、ファイアウォール設定を見つけて、 server_ip
への着信トラフィックを許可するルール。
IPv4とIPv6は、実際にはほとんど同じ概念を共有しています。ルーティングは同じで、サブネットは同じです。NATは、TOOGAMが述べたように、プライベートアドレスはまだ存在します。後者の2つは単純です。 IPv4よりもIPv6の方がはるかに普及していません(アドレスが不足しているために使用されています)。