portフォワードというかTCPリレーというか(socat)

sshのポート転送をこよなく愛しているのだが、ログインするまでもなくポート転送したい時がある。

単純に、Aサーバのこのポートを、Bサーバのあのポートに接続するって場合。

socatってコマンドがあれば、なんとか出来る。

自分の:8443ポートを、foo.example.com:443に繋ぐ。

forkを付けないと、1回の接続でコマンドが終了してしまう。

これで、自分の8443に接続が来ると、foo.example.com:443に接続されるっていうすぐれもの。

ただ、このsocatって一番困るのが、たぶん大体の環境で入ってない。

netcatのncコマンドなら、たぶん何処の環境でも入ってるので、力技でやると、

以下のような感じ。ただ、fifoを事前に作って上げる必要があります。

標準入出力をfifoで繋いであげる感じ。

この考えはとても素晴らしいのだが、仕様なのかなんなのか、そこそこの頻度でコマンドが終了する。

もー。ようわからんので、whileで回してやる。

かなり強引。動作テスト程度には使えるが、本気運用は無理ですね。