Snap.Shot.cx

トップページへ戻る

[Article] opensshのforwarded socketを外部から使う
02/13/2001 23:25 (投稿者:たかの)

今更ながら、sshのport forwardingを覚えた。qmailと組み合わせてSMTPの転送をしたり、太い線のところにhttp proxyを置いて圧縮して持ってきたり、やりたい放題。
しかしOpenSSHだと、forwardしたportをlocalhost以外から利用できないので、ちょっと不便だなぁ、と思っていた。
ところがなんのことはない、デフォルトがそうなっているだけのことだった。

ちなみに、qmailでドメイン全体を転送するには、control/smtproutesをいじればヨイ。

たとえばsnap.shot.cxのメールを手元に持ってくるには、外側サーバのsmtproutesに

snap.shot.cx:127.0.0.1:8025

なんて書いてqmailを再起動。もちろん、ローカル側のrcpthostsにも

snap.shot.cx

と書いて再起動。
続いてsshのport forwardの設定。
こんなん書いたシェルスクリプトを作る。

ssh -R8025:localhost:25 [target_host] ping -i 300 localhost > /dev/null &

リモート側でpingを動かすのは、masqueradeやNAT経由でタイムアウトを防止するためのおまじないだ。
これをローカル側のメールサーバで起動しておけば、リモート側の8025番からローカルの25番へのホットラインが一丁あがり。あとはメールが来るたびに、このホットラインを使ってメールが届くというわけ。

これでフレッツと組み合わせれば、もうfetchmailいらずでバンバン届く…はずなんだけど、これだけだと不慮の回線切断時に復旧する方法がないんだよなぁ。監視プログラムで自動的に再接続させるか?検討中。

メールでコメント


(Powered by Zope)
リンクはご自由にどうぞ。各記事には記事番号がついていますので、URLは変わりません。
© 2000-2013 Yukimasa TAKANO, all RIGHTs reserved.