nDiki : remote port forwarding

2004年2月2日 (月)

[ Linux ] SSH remote port forwarding

Web カメラ*1画像ファイルとか、ノート PC から cron で定期的にサーバへ送信している。しかしPUSHじゃなくてPULLも活用したい。

それから Web サーバはホスティングサーバなのであまりヘビーな事はできないし、ツールのビルドに必要なライブラリとかを一般ユーザで用意するのもいろいろ面倒ということで、一部の処理は手元のホストでやらせてもいいかなと。

だいたいいつもIPマスカレード下にいるので、トンネルを用意しないと。 SSHがやはりお手軽かな。 例えば、

 ssh -R XXXX:127.0.0.1:80 www.naney.org

しておけば www.naney.org 上からそのホストに

 wget http://localhost:XXXX/service.cgi?foo=1234

などとしてPULLできるようになる。 ...はずだがうまくいかないや。何故?

プライベートネットワーク同士ではうまくいったので「ルータがらみ?」かと思ったが、別の外部ホストに対して実験してみたところそっちではうまくいったので、そうでもない様子。

でいろいろチェックしてみたところ www.naney.org

 Feb  2 12:08:41 yyyy sshd[61628]: error: Hm, dispatch protocol error: type 80 plen 33

エラー吐いてた。 もしやと思って ssh 実行時に -1 したら成功。 通常の SSH接続だと ssh -2 でもつながるし、LocalForward でもプロトコル2でつながっているんだけどなぁ。

そういえば ssh -4 は 'Use IPv4 only.' (OpenSSH_3.6.1p2)。 'Force protocol version 4' が必要な時代がきたらどうするのかな?

*1休止中

スポンサード リンク
[ 2月2日全て ]

2005年1月21日 (金)

リモートポートフォワーディングライブカメラを晒す

プライベートネットワーク上に設置したBL-C10を外部からアクセスできるようにする時の方法を確認。

  • カメラはプライベートネットワーク上にあり、外からは直接アクセスできない
  • プライベートネットワーク(ルータ)の IP アドレスは秘密のままにしておきたい

ということで、公開しているサーバでHTTPを中継するという方向で。 となると SSHremote port forwarding か。

  • 公開サーバ: www.example.com
  • BL-C10: 192.168.0.X

として192.168.0.0/24 にいる自分のPCから

 ssh -R 3000:192.168.0.X:80 www.example.com

で www.example.com:3000 にアクセスするとライブカメラが見られるようになる。 ただし www.example.com の sshd の設定で

 GatewayPorts yes

になっていないと、他のホストからアクセスできない。 www.example.com 上の stone で外部からアクセスできるようにさらに転送用のポートを作る。

自分のPCから

 ssh -R 3000:192.168.0.X:80 www.example.com stone 127.0.0.1:3000 30001

で、

www.example.com:3001 -> www.example.com:3000 -> 192.168.0.X:80

と転送されるようになる。 実験も成功 (実験環境では ssh を実行する時に -1 オプションをつけないと -R がうまく動かない事を忘れていてちょっとはまった)。

自宅(ADSL接続)上の BL-C10 を上の方法で晒してアクセスしてみる。 ADSL回線を上って下る事になるが、ちょっと覗くにはそれなりの描画更新ができている様子。 BL-C10 の内蔵 Web サーバ動画を見ながらカメラを操作した時のレスポンスが悪かったのだが、これは stone の -f オプションで子プロセスを数個上げておくようにすることで改善された。

上の方法だと ssh を止めてもリモートホストの stone のプロセスが残ってしまい、別途 kill しないといけないのでちょっと面倒。 何かうまい方法はないかな。

[ 1月21日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.185472s / load averages: 0.33, 0.66, 0.57
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker