web-dev-qa-db-ja.com

インターネット接続なしのIPv4ネットワークを介したIPv6接続

私は大学のプロジェクトで働いていますが、次の問題が発生します。

プライベートIPv6ネットワークを備えたサーバー[サーバー]を入手しました。一部のセンサー(温度、湿度など)はルーターを介して接続されており、このプライベートネットワーク内に独自のプライベートIPv6アドレスがあります。

サーバーAは大学のイントラネットに接続されています。イントラネットはIPv6をサポートしていませんが、IPv4をサポートしています。

私のコンピューター[クライアント]は、VPNとIPv4を介してサーバーに到達できます。

ここで、クライアントのセンサーのステータスを取得したいと思います。サーバーとクライアントはDebianベースのOSを使用しています。

(インターネット<->)クライアント <IPv6 over)IPv4、VPN-> ---(サーバー <-IPv6-> センサー ==

単純な6to4トンネルを構成することを考えていましたが、インターネットに接続しないと、サーバーは次の6to4ルーター(192.88.99.1)にアクセスできません。

6to4を「ローカル」に構成する可能性はありますか、それともインターネット接続が必要ですか?

接続を機能させるために他に何ができますか?

助けてくれてありがとう! (そしてSanderに特に感謝します。これが私の質問をするのに適切な場所であることを願っています:))

1
Bohne

必要なのは6to4ではなく6in4で、protocol-41としても知られています。 6to4は、パブリックIPv4アドレスを使用してインターネットに接続しているデバイスがIPv6アクセスを取得できるようにするためのものです。これは深刻な安定性の問題があるプロトコルであり、もう使用しないでください。 6in4を使用すると、IPv6-in-IPv4トンネルを手動で構成できます。

Debian/Ubuntuで6in4トンネルを次のように構成できます。

auto ipv6tun
iface ipv6tun inet6 v4tunnel
    address 2001:db8::1
    netmask 64
    endpoint 192.0.2.111
    gateway 2001:db8:0f10:99d::1

最後に、IPv6インターネット接続がない場合は、次のようなゲートウェイ回線を追加することもできます。

auto ipv6tun
iface ipv6tun inet6 v4tunnel
    address 2001:db8::2
    netmask 64
    endpoint 192.0.2.222
    gateway 2001:db8::1

IPv4およびIPv6アドレスを、ネットワークに適したアドレスに置き換える必要があります。

PS:RFC7059が公開されようとしています。これには、IPv6-in-IPv4トンネリングメカニズムの概要が含まれています。開示:私は著者の一人です。

2
Sander Steffann

あなたは物事を複雑にしすぎているかもしれません。サーバーへの(IPv4)SSHアクセスがある場合は、SSHポート転送を使用できます。たとえば、次のコマンドでサーバーにログインします。

ssh -L 12345:[2001:db8::6]:4321 <server-ip4-address>

sSHセッションが続く限り、ローカルマシンのポート12345でセンサー(IPv6アドレス2001:db8 :: 6)に接続できます。

センサーから結果を取得する方法を指定していません。上記はTCPで機能します。 UDPの場合、ミックスにsocatを追加するか、必要に応じてnetcatmkfifoを追加する必要があります。 ssh -wもうまくいくかもしれませんが、まだ試していません。

Netcatまたはsocatは、SSHセッションを開いたままにすることなく、トラフィックを内部IPv6アドレスに転送する、サーバーでソケットを開く代替手段の作成にも役立ちます。

0
Gerben