私は大学のプロジェクトで働いていますが、次の問題が発生します。
プライベートIPv6ネットワークを備えたサーバー[サーバー]を入手しました。一部のセンサー(温度、湿度など)はルーターを介して接続されており、このプライベートネットワーク内に独自のプライベートIPv6アドレスがあります。
サーバーAは大学のイントラネットに接続されています。イントラネットはIPv6をサポートしていませんが、IPv4をサポートしています。
私のコンピューター[クライアント]は、VPNとIPv4を介してサーバーに到達できます。
ここで、クライアントのセンサーのステータスを取得したいと思います。サーバーとクライアントはDebianベースのOSを使用しています。
(インターネット<->)クライアント <IPv6 over)IPv4、VPN-> ---(サーバー <-IPv6-> センサー ==
単純な6to4トンネルを構成することを考えていましたが、インターネットに接続しないと、サーバーは次の6to4ルーター(192.88.99.1)にアクセスできません。
6to4を「ローカル」に構成する可能性はありますか、それともインターネット接続が必要ですか?
接続を機能させるために他に何ができますか?
助けてくれてありがとう! (そしてSanderに特に感謝します。これが私の質問をするのに適切な場所であることを願っています:))
必要なのは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トンネリングメカニズムの概要が含まれています。開示:私は著者の一人です。
あなたは物事を複雑にしすぎているかもしれません。サーバーへの(IPv4)SSHアクセスがある場合は、SSHポート転送を使用できます。たとえば、次のコマンドでサーバーにログインします。
ssh -L 12345:[2001:db8::6]:4321 <server-ip4-address>
sSHセッションが続く限り、ローカルマシンのポート12345でセンサー(IPv6アドレス2001:db8 :: 6)に接続できます。
センサーから結果を取得する方法を指定していません。上記はTCPで機能します。 UDPの場合、ミックスにsocat
を追加するか、必要に応じてnetcat
とmkfifo
を追加する必要があります。 ssh -w
もうまくいくかもしれませんが、まだ試していません。
Netcatまたはsocatは、SSHセッションを開いたままにすることなく、トラフィックを内部IPv6アドレスに転送する、サーバーでソケットを開く代替手段の作成にも役立ちます。