先日、切り替えられたプロバイダーは、DSlite接続のみを割り当てます。私は元気だと思った。ネットワークの外部から自分のものにアクセスしたいのですが、ネイティブIPv6を入手したので、それほど面倒ではないはずです。
私の新しい主な問題は、ローミングするすべての場所にそれがあるとは想定できないことでした。そのため、ほとんどの場合、IPv4のみのエントリポイントからアクセスしようとします。真のデュアルスタック接続で1つのボックスにアクセスできるため、$ socat
が私の友人であることがわかりました。したがって、IPv4のみの接続からIPv6にアクセスするのは、デュアルスタックマシンで$ socat UDP4-LISTEN:sourceport,fork,su=nobody UDP6:my-ipv6-hostname-behind.cgn:targetport
を実行し、その後、外部からmy-dualstack-hostna.me:sourceport
に接続するのと同じくらい簡単です。
さて、デュアルスタックマシンの$ netstat -tulpen | grep sourceport
はUDP4リスナーのみを明らかにします-したがって、私の現在の問題は次のとおりです。
my-ipv6-hostname-behind.cgn:targetport
に接続する必要がありますmy-dualstack-hostna.me:sourceport
に接続する必要がありますしたがって、IPv4接続とIPv6接続の両方にmy-dualstack-hostna.me:sourceport
を使用でき、ラップトップまたは電話を移動するたびに構成をルート更新しないようにすると便利です。 socat
に両方をリッスンさせる方法は?方法がなければなりません! DSマシンの$ netstat -tulpen | grep ":22"
はこれらを示しています:
tcp 0 0 0.0.0.0:22 […]
tcp6 0 0 :::22 […]
私は同じ問題を抱えていました-socatの2つのインスタンスを実行することで解決できます.1つはipv4でリッスンし、もう1つは同じipv6ポートでリッスンしますそれぞれをそれぞれのアドレスにバインド次のように:
socat UDP4-LISTEN:sourceport,bind=<ipv4-addr>,fork,su=nobody UDP6:my-ipv6-hostname-behind.cgn:targetport
socat UDP6-LISTEN:sourceport,bind=<ipv6-addr>,fork,su=nobody UDP6:my-ipv6-hostname-behind.cgn:targetport