IPv6のみのネットワークからIPv4アドレスに到達するにはどうすればよいですか?


11

IPv6アドレスを介してこのアドレスに到達したい:http :
//downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/

私たちのFreifunkルーターでは利用可能なDNSがないため、名前downloads.openwrt.orgを解決できません。インターネット内のすべてのサーバーは、ipv6アドレスを介してのみ到達可能です。これで、ルータの内側からこのパッケージミラーに到達できず、を介してパッケージをインストールできませんopkg install

たとえば、これを構成に追加できれば、それは解決策になります。

http://[2001:db8::1]/attitude_adjustment/12.09/ar71xx/generic/packages/

私たちのルーターはOpenWRTを実行しており、IPv6のみであり/etc/hosts、ドメイン名downloads.openwrt.orgが適切なIPv6アドレスに解決されるようにエントリを追加したいと思います

IPv6をドメインにリダイレクトすることは可能ですか?


2
そのサイトは何らかの理由でIPv6アドレスを持っていません。多分あなたはあなたが解決策が何であると思うのではなく、あなたの実際の問題が何であるかを説明すべきですか
マイケルハンプトン

なぜIPv6を使用するのですか?どのオペレーティングシステムを使用していますか。
JakeGould、2014年

@MichaelHampton:私は私の質問に理由を追加しました
rubo77 '16

質問の本文では見落としがちなので、実際の質問を説明するためにタイトルを編集しました。
マイケルハンプトン

回答:


12

IPv6アドレスを単に「追加」して、IPv4経由でのみ利用可能なホストに到達することはできません。これらは、完全に異なる2つの互換性のないプロトコルです。

IPv6 のみのネットワークがIPv4アドレスに到達できるようにするには、IPv4にアクセスできるゲートウェイが必要です。これは通常、NAT64 / DNS64ゲートウェイで行われ、IPv4アドレスを「偽の」IPv6アドレスに変換し、それらの「偽の」IPv6アドレスへの接続を受け入れ、IPv4ネットワークへの接続を変換します。これらのIPv6アドレスは64:ff9b::/96範囲内になります。

OpenWrtでは、NAT64はTaygaで、DNS64はバインドで行われます。それらを設定する方法の詳細については、OpenWrt wikiを参照してください。姿勢調整またはバリアブレーカーが必要です。OpenWrtの以前のバージョンでは、IPv6およびその他のテクノロジーを完全にサポートしていませんでした。

/etc/resolv.confにパブリックDNS64 / NAT64-resolversを追加できます。

nameserver 2001:67c:2b0::4
nameserver 2001:67c:2b0::6

464xlatを使用して、クライアントサイトで翻訳を「元に戻す」こともできます。464xlatも同じツールを使用します。(上記に記載されているが、異なる方法でのみ)。464xlatを使用すると、リテラルIPを使用してURLに到達することもできます。


2

ドメインdownloads.openwrt.orgにIPv4アドレスがありますが、IPv6アドレスがありません。したがって、変換メカニズムを使用しない限り、IPv6経由で到達することはできません。NAT64を使用すると、IPv6専用クライアントからそのIPv4専用サーバーへのTCP接続を作成できます。

しかし、なぜIPv6のみのクライアントを使用するのでしょうか。デュアルスタックを使用することは良い考えですが、現時点では、IPv6のみが実際に役立つのは、IPv4のみのホストが多すぎる世界で生じる制限を知っている人のためのテストだけです。

サーバーへのTCP接続を開くことができた場合、別の課題に直面することになります。HTTPバージョン1.1では、クライアントはHTTP接続を介して接続しているサーバーの名前を送信する必要があります。そして、多くのサイトではdownloads.openwrt.org、このヘッダーを送信する必要があります。

HTTPクライアントは、送信するドメイン名がわかっている場合にのみ、そのヘッダーを送信できます。したがって、クライアントに元のURLを知らせて、なんとかしてその名前をIPアドレスに解決するためのアクセス権をクライアントに与えるほうがよいでしょう。IPv6にする必要がある場合でも、NAT64が必要になります。ただし、ドメイン名からNAT64 IPアドレスへのマッピングはに入れることができ/etc/hosts、問題なく機能するはずです。

個々のドメイン名では問題なく機能する可能性があります。ただし、IPv6のみのホスト/etc/hostsが、NAT64アドレスを使用してすべてのドメインに参加する必要なく、複数のドメインに到達できるようにするには、アドレスの動的変換が必要です。それがDNS64の目的です。

これで、クライアントにIPv4アクセスがあり、DNSがない場合、答えははるかに簡単になります。/etc/hostsdavidgoが提案するようにIPv4アドレスを入力するだけです。もちろん、サーバーのIPアドレスが変更されるたびにそのファイルを更新する必要があります。


確かに、「デュアルスタックに移行するのは良い考えです」が、誰もが単に「デュアルスタックに移行する」ことができるわけではありません。私のプロバイダーがどちらか一方しか提供しない場合、それについて私ができることはあまりありません。
paolo

@paoloサーバーについて話している場合は、デュアルスタックをサポートするホスティングプロバイダーを選択できます。非常に多くの競合するプロバイダーがあり、デュアルスタックのサポートを主張することで、選択するプロバイダーのリストを削減することで、選択が少し簡単になります。エンドユーザーとのネットワークについて話している場合は、地理的領域のISPに制限されているため、競争は少なくなります。その場合、ISPが提供するものでうまくいくのは、依存するサービスが本来のデュアルスタックである限り機能します。
kasperd

@paoloユーザーが開発者、システム管理者、またはデュアルスタックインフラストラクチャを開発/サポートするためにデュアルスタックを必要とする他のユーザーであるネットワークについて話している場合、ISPがサポートしていない場合は、デュアルスタックに移動してトンネルを使用する必要があります。 IPv6をサポートします。NAT64またはその他の移行メカニズムを介して、ISPがIPv4のみのサービスに到達するための何らかの方法を提供していることはほぼ確実です。
kasperd

どうやらそのサイトはIPv6対応になっているようです(私のブラウザは標準の6to4接続ではなく実際のIPに接続しています)
Paul Stelian

1

私はあなたが間違った質問をしているのではないかと思います-プロセスは逆方向に動作するため、つまりドメインが[または複数の]ホストに解決されるため、IPv6アドレスをドメインにリダイレクトできません。

ルーターに関する情報は見つかりませんでしたが、OpenWRTを実行している場合は、ドメイン名が適切なIPアドレスに解決されるように/ etc / hostsにエントリを追加できます。


それが私が考えていたものです。しかし、「適切な」ip6アドレスがないので、どうにかリダイレクトできると思いました。質問に追加しました
rubo77
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.