私はsocat
着信tcp6をtcp4にルーティングするために使用します。ターゲット(tcp4)は、Podサービスexternal-ipを持つPod /コンテナです。コンテナ内では、ncat
ポート5555をリッスンするために使用されます。
# socat TCP6-LISTEN:5555,reuseaddr,fork,bind=[fe80::250:56ff:fe91:bd5c%ens192] TCP4:10.40.5.125:5555 (Update)
socatが接続を拒否しました(更新済み)。
2018/07/27 01:15:41 socat[26914] E connect(5, AF=2 10.40.5.125:5555, 16): Connection refused
コンテナ内でいかなる承認も受けられませんでした(# ncat -4 -vv --exec cat -l -p 5555
)。
tcp6 トラフィックに関する詳細情報を取得するためにコマンドで & を使用しようとしましたが、-vv
ログ・ファイルに重要なログが記録されませんでした。-lf
socat
tcp6フォーマットを試みる前に、.tcp4トラフィックを使用して上記のものと同じtcp4宛先にtcp4トラフィックをルーティングすることができましたsocat
。コマンドは次のとおりです。
# socat TCP-LISTEN:5555,fork TCP:10.101.74.206:5555
誰かが私がtcp6について欠けていることを指摘できますか?
オペレーティングシステム:CentOS 7.5
答え1
$ ncat -4 -vv --exec cat -l -p 5555
nmap
ncat
そのパラメータのフルパスが必要です--exec
。/bin/cat
代わりに使用してくださいcat
。
tcp6トラフィックに関する詳細情報を取得するために、socatコマンドで-vvと-lfを試しましたが、ログファイルに重要なログは記録されませんでした。
詳細な出力を得るには、スイッチを複数回socat
指定してください。-d
上記の問題に加えて、あなたの設定を正常に再現し、期待どおりに機能しているようです。問題の範囲を絞り込むには、デバッグ出力を確認してください。
答え2
socat
IPv4 ホストへの接続が拒否される理由はいくつかあります。時間を節約するには、stone
リピータをインストールする代わりに使用することをお勧めしますsocat
(このパッケージがCentOSにすでに含まれていることを願っています)。
yum install stone
デバッグレベル5(詳細モード)を使用して実行します。
stone -ddddd 110.101.74.206:5555 5555/v6
接続テストを使用しtelnet
、すべてが正常な場合はオプションを-ddddd
削除し、本番stone
モードで必要な方法で実行します。たとえば、stone
デーモンとして実行して20個のサブプロセスを作成する場合:
stone -D -f 20 110.101.74.206:5555 5555/v6
次に、実行中のstone
プロセスを確認します。
ps aux | grep stone
追加情報: