カーネルオプションで起動されたLinux(Ubuntu Groovy)サーバーがあるため、ipv6.disable=1
IPv6を使用できません。
また、IPv4専用システムで動作すると主張するいくつかのデュアルスタックソフトウェアがありますが、それを変更することはできません。今ソフトウェアはにバインドしようとします::
が、当然失敗します。このサーバーをIPv4にバインドして使用するようにオペレーティングシステムを何らかの方法で設定できますか0.0.0.0
?
編集:またはバインディングの前、名前解決中にこれを実行できますか?ソフトウェアは解析を試み::
、応答としてIPv4アドレスを取得した場合は127.0.0.1
IPv4を使用すると仮定します。
ベストアンサー1
可能であっても、あなたが求めるものはうまくいきません。ソフトウェアが::にバインドされている場合、アドレスがIPv6形式で表示されると仮定できます。許可されるソケットはIPv6で、IPv4アドレスはカプセル化されます。
したがって、192.168.1.1 は::FFFF:192.168.1.1 になります。
つまり、どういうわけか別のIPにバインドできるとしても、それをIPv4ソケットに設定し、ソフトウェアはそれを処理するようにコンパイルされません。ソフトウェアではIPv6ソケットが必要ですが、IPv6が無効になっているため、これを行うことはできません。
IPv6を無効にすると、互換性コードはありません。結論は、IPv6が無効になっていて、使用しているソフトウェアでそれを有効にする必要があることです。
ここで唯一のオプションは、IPv6を有効にするか(なぜ無効にする必要があるのか質問からはわかりません)、ソースから直接IPv6ソフトウェアを再コンパイルし、問題を「修正」するためにソースコードをパッチすることです。