socatでエラーが発生しました(読み取り(6、0xf97acc0、8192):権限が拒否されました)

socatでエラーが発生しました(読み取り(6、0xf97acc0、8192):権限が拒否されました)

socatDS-Lite IPv6ケーブル接続の背後で実行されているOpenVPNサーバーにIPv4接続をマッピングするためにportmapperを使用しようとしています。

// EDIT root以外のユーザーとを使用してみましたrootが、両方のユーザーが同じ結果を得ました。 //編集する

目標は、OpenVPNを介して携帯電話から(IPv4)スマートホームデバイスに接続できることです。

実行中のサーバーで自宅のルーターを使用socatできます。ping6IPv6ポート転送も有効になり、OpenVPNサーバーを実行している自宅からRaspberry Piに1194 / udpを転送します。

socatこれで問題は、携帯電話からOpenVPNに接続しようとするとエラーが表示されることです。

root@scw-31f6c8:~/bin# socat -d -d UDP4-LISTEN:63530,fork UDP6:xxx.dynv6.net:1194
2017/12/27 13:53:01 socat[15428] N listening on UDP AF=2 0.0.0.0:63530
2017/12/27 13:53:07 socat[15428] N accepting UDP connection from AF=2 xx.xxx.xxx.xx:1319
2017/12/27 13:53:07 socat[15428] N forked off child process 15429
2017/12/27 13:53:07 socat[15428] N listening on UDP AF=2 0.0.0.0:63530
2017/12/27 13:53:07 socat[15429] N opening connection to AF=10 [2a02:810c:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]:1194
2017/12/27 13:53:07 socat[15429] N successfully connected from local address AF=10 [2001:0bc8:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]:41641
2017/12/27 13:53:07 socat[15429] N starting data transfer loop with FDs [5,5] and [6,6]
2017/12/27 13:53:07 socat[15429] E read(6, 0xf97acc0, 8192): Permission denied
2017/12/27 13:53:07 socat[15429] N exit(1)
2017/12/27 13:53:07 socat[15428] N childdied(): handling signal 17
2017/12/27 13:53:07 socat[15428] W waitpid(): child 15429 exited with status 1

一見すると、すべてが表示されるまで大丈夫ですread(6, 0xf97acc0, 8192): Permission denied

現時点では、これが実行されているサーバーのバグなのか、それともsocat自宅のIPv6エンドポイントとの通信問題に関連しているのかはわかりません。socat

問題が何であるかを調べる方法についてのアドバイスはありますか?

//編集する

また、誤ったサーバー側の構成に関連していないことを確認するために、他のコンピューター(uberspace、scaleway)でも試してみました。私の側で何かが間違っていることを示すかもしれません。しかし、まだ見たことがありません。

ベストアンサー1

同じ問題があります。何らかの理由で、Fritzboxのポートマッピングに無効な(または古い)IPv6アドレスが追加され、そのアドレスがVPNサーバーのポートマッピングではないことがわかりました。修正後に動作しました。

編集:fritzboxのポートマッピングで、IPv6アドレスをxx8dから無効なxxd8に変更してログを再現できました。

$ socat -d -d UDP4-LISTEN:2194,fork UDP6:xxxxx.dynv6.net:2194
2021/07/14 22:30:14 socat[] N listening on UDP AF=2 0.0.0.0:2194
2021/07/14 22:30:28 socat[] N accepting UDP connection from AF=2 109.42.112.115:59217
2021/07/14 22:30:28 socat[] N forked off child process 10569
2021/07/14 22:30:28 socat[] N listening on UDP AF=2 0.0.0.0:2194
2021/07/14 22:30:28 socat[] N opening connection to AF=10 [2a00:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xx8d]:2194
2021/07/14 22:30:28 socat[] N successfully connected from local address AF=10 [2a03:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxbf]:50334
2021/07/14 22:30:28 socat[] N starting data transfer loop with FDs [5,5] and [6,6]
2021/07/14 22:30:28 socat[] E read(6, 0x55d9a7c15da0, 8192): Permission denied
2021/07/14 22:30:28 socat[] N exit(1)
2021/07/14 22:30:28 socat[] N childdied(): handling signal 17 here

正しい値xx8dに変更してから再び機能しました。

おすすめ記事