*BSD に IPv4 と IPv6 の両方のトラフィックを単一のソケットで受け入れるように強制する

*BSD に IPv4 と IPv6 の両方のトラフィックを単一のソケットで受け入れるように強制する

いろいろ試してみましたが、まったく成果がありませんでした。

状況を説明させてください:

私は、Plex Media Server (Plexpass) を実行する FreeNAS に *BSD Jail をセットアップしています。これは IPv6 アクセスを備えており、それを使用するように構成されています。Plex は現在、単一のソケットを使用するように構築されています (この動作をサポートする RFC があるため、標準の範囲内です)。BSD では、セキュリティ上の懸念から、単一のソケットで両方のプロトコルをリッスンすることを許可していないため、IPv4 と IPv6 で異なるソケットを使用するように明示的にプログラムされていないアプリケーションは、ソケットがバインドされていないプロトコルでは通信できないことがわかっています。

Web ブラウザでリテラル IPv6 アドレスを使用して管理ページにアクセスできます。MyPlex はリモート アクセスのためにサーバーにアクセスできません (MyPlex は現在 IPv4 のみをサポートしています)。

追加情報:

root@plexmediaserver_plexpass:/ # netstat -a | grep 32400
tcp6 0 0 *.32400 聞く

私は次のことを試しました:

  • rc.conf で ipv6_ipv4mapping="YES" を設定する
  • sysctl net.inet6.ip6.v6only=0 を設定する
  • socat を使用して、ポート 32400 の TCP4 をアドレス [::1]:32400 の TCP6 にプロキシします。
  • socat を使用して、ポート 32400 の TCP4 をアドレス [Public-IPv6-Address]:32400 の TCP6 にプロキシします。
  • 上記の混合

まったく困惑しています。ISP が一斉に IPv6 に切り替え始めたため、これはヨーロッパの多くの人々にとって大きな問題であることはわかっています。私にとっては限りなくイライラしますが、彼らほど深刻ではありません。この問題に対する Plex の恒久的な修正の状況に関する情報は見つかりませんでした。私が知る限り、最善の修正方法は、複数のポートにバインドし、MyPlex が両方をプルして、トラフィックを通過できるかどうかに基づいて使用するプロトコルを決定することです。ただし、これは彼らのフォーラムの問題です。

ここでの私の質問は、*BSD に IPv6 ソケットに関する RFC 標準を強制的に遵守させる他の方法があるのか​​、それとも IPv6 のサポートが完全に中止されているのかということです。

どのような助けでもいただければ幸いです。

答え1

たぶんこれが役に立つでしょう:

ipv6_ipv4mapping="YES"

しかし、それがあなたが望んでいることかどうかはわかりません。src:https://www.freebsd.org/doc/handbook/network-ipv6.html

関連情報