nDiki : port forwarding

2006年10月1日 (日)

OP25B 回避のために PortForwarder で port fowarding

本日より ISP の OP25B が本格的に開始する。これにより契約しているホスティングサービスの SMTP サーバに自宅から接続できなくなる(このホスティングサービスではサブミッションポート (587 番)の提供は無し)。

自宅の Windows BOX からのメール送信ができなくなると困るので、 PortForwarder を使って SSH port forwarding して対応することにした。

設定

まず PortForwarder 2.7.0 をダウンロードしてきて展開。

次に設定ファイルを作成する。ファイル名 config というテキストファイルを作成し、

 Host mailserver
        User username
        Protocol 1
        HostName ホスティングサーバ名
        LocalForward 8025 メールサーバ名:25
        LocalForward 8110 メールサーバ名:110

と書いて保存。

ホスティングサーバのメールサービスは POP before SMTP なので、25 番ポートと 110 番ポートを両方とも転送して、同じホストから接続しているように見せる必要がある。

次にこのファイルと同じディレクトリに SSH の鍵を置く (PortForwarder 1 時代に作った鍵があるので、今回は Protocol 1 を指定してこれを使うようにした)。

あとは PortForwarder を起動し、この config ファイルを指定して接続。

接続ができたら MUA を起動して POP、SMTP をそれぞれ localhost:8110、localhost:8025 を使うように設定を変更。

これでまずは OP25B を回避。 ちょっと手間が増えたがいたしかないところ。

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

2007年1月6日 (土)

connect.c を使って SOCKS サーバ経由で社内サーバへ SSH 接続

以前社外から社内 Web サイトへのアクセスは autossh + FoxyProxy を使って SOCKS 経由で直接できるように設定した (記事)。 また UnisonSubversion もそれぞれ SSH port forwarding 経由で直接アクセスできるようにしてある (Unison の記事Subversion の記事)。

しかし社外から社内サーバへの SSH 接続(やファイル転送)は、以前として一旦中継ホストに接続(転送)してから再度接続(転送)していて面倒であった。

調べたところ Shun-ichi GOTO氏の SSH プロキシコマンド connect.c を使うと SOCKS サーバ経由で直接接続できるようなので設定してみた。

 [クライアント:8090] -- SOCKS -- [ゲートウェイ] -- [社内サーバ]
                                 gw.example.com    192.168.1.x

インストール

Debian なので apt-get で。

 apt-get install connect-proxy

SSH の設定

~/.ssh/config に以下の行を追加。

 Host 192.168.1.*
   ProxyCommand /usr/bin/connect-proxy -S localhost:8090 %h %p

192.168.1.* に接続する際は、connect-proxy を使ってローカルホストの 8090 ポートの SOCKS を通るようにする設定。

SSHSOCKS サーバにする

autossh を使って SSHSOCKS サーバを立てる

 autossh -N -f -D8090 gw.example.com

これで準備 OK。

使ってみる

SSH 接続
 ssh 192.168.1.x

で接続を確認。

Konqueror (KDE)
 fish://192.168.1.x/

で直接ブラウズ、読み書き可能なことを確認。

Unison

普通に 192.168.1.x と同期できることを確認。

CVS

普通に 192.168.1.x 上のリポジトリに対して cvs update できることを確認

Subversion

普通に 192.168.1.x 上のリポジトリに対して svn update をかけるとアップデートし終わって最後に

 FATAL: output (local) failed, errno=32

というエラーがでる。

便利

Subversion だけちょっと気がかりだれど、その他はうまく行っている感じ。

これでかなり手軽に接続、転送できるようになった。 便利、便利。

追記 (2009年2月23日)

一時的に connect.c を通らないで直接接続する際には 'ssh -o ProxyCommand=none' とする。

 例:
 SVN_SSH='ssh -o ProxyCommand=none' svn update
[ 1月6日全て ]

2013年12月25日 (水)

Android 端末から SSH port forwarding 経由で IRC 接続する

AndroidSSH port forwarding アプリ

現時点で最新版が2010年10月7日アップデートの 1.7.1 とちょっと古いんだけれど、過去に使った経験がある SSH クライアントの ConnectBot を使う。

まずは「接続ホスト」の設定で port forwarding するホストへの SSH 接続できるように設定する。またあわせてその接続ホストのメニューから「ポート転送の編集」を選び「ポート転送の追加」で、

  • 鍵の名前: (空)
  • タイプ: ローカル
  • ソースポート: Android 端末上の適当なポート番号 (A)
  • 転送先: <SSH 接続先からみた IRC サーバホスト名>:<IRC サーバのポート番号>

を指定する。あとは ConnectBot で SSH 接続をすれば、別途 IRC クライアントアプリから 127.0.0.1 のポート番号 (A) に接続して IRC が使えるようになる。

AndroidIRC クライアント

とりあえず3つ試してみた。

  • 接続先は Tiarra
  • 40個弱チャネルに join している
  • IRC クライアントを接続すると、各チャネル毎に数十件過去ログを送る設定にしてある

この条件だと、有料だけれど Android IRC が一番良かったのでこれを使うことにする。


[ Android アプリレビュー ]

[ 12月25日全て ]

2013年12月27日 (金)

今日のさえずり: 亭主元気で留守がいい年内最終日を含意

2013年12月27日

[ 12月27日全て ]

2014年2月14日 (金)

KVIrc で IRC over SSH

今日は Android 端末で外出先から IRC over SSH でチェックしていた。去年末にチョイスして設定した ConnectBot + Android IRC で。

でふと家に帰ったら、そういえば Debian GNU/Linux 機からの IRC over SSH する設定作っていなかったので設定しておいた。

最近 Linux BOX で直接 IRC 見ていなかったんだけれど何がいいのかな。とりあえず久しぶりに Riece いれてみたけれど最初うまくつながらなくて(設定の :coding で utf-8 とするところを utf8 としていたのが原因)、つながったらつながったで Emacs がフル回転で重くて駄目だったので別のにすることにした。 Konversation を試してみたけれど、Tiarra に接続した時に Tiarra の Log::Recent が送ってくれる過去ログをうまく処理できないみたいなので自分の場合イマイチだった。別に試してみた KVIrc では大丈夫だったのでしばらくこれを使ってみることにした。

SSH port forwarding 設定の方は ~/.ssh/config で

 Host irc
   HostName <踏み台 SSH サーバ名>
   User <踏み台 SSH ユーザ名>
   Port <踏み台 SSH ポート番号>
   LocalForward 6667 <踏み台の向こうの IRC サーバ名>:6667

と書いておく。

ssh -f -N irc とすれば踏み台の向こうの IRC サーバ(あるいは Tiarra)にトンネルができるので、 127.0.0.1:6667 に KVIrc 他の IRC クライアントから接続すれば OK。

[ 2月14日全て ]

2014年3月1日 (土)

iOS デバイス用 IRC クライアントとして LimeChat をチョイス

お祭り IRC チャネルを家でチェックするのに PC に張りついているのもアレだ。 Xperia GXインストールしてある Android IRC + ConnectBot でもチェックできるのだけれどこちらはバッテリ的に常時つけておくのもアレ。ということで iPod touch 5th にも IRC クライアントを入れておいて、こちらでモニタしておこうかなと。

IRC クライアントアプリは TwitterFacebookLimeChat を薦められたのでこちらをチョイス。Tiarra に接続した時の送られる過去ログもきちんとさばけた。

iOS だと IRC クライアントアプリとは別に SSH アプリを実行し続けておくのが難しいようなので、iOS デバイス上で SSH port forwarding するのはやめておいて、 PC 側で SSH port forwarding をゲートウェイとして立ち上げておいてそこを経由することにした。

PC 側では以下のような設定を ~/.ssh/config に追加。GatewayPorts を yes にしておくことで port forwarding を開いた PC 以外の端末からもポートにつなげられるようになる。

 Host ircgateway
   HostName <踏み台 SSH サーバ名>
   User <踏み台 SSH ユーザ名>
   Port <踏み台 SSH ポート番号>
   LocalForward 6668 <踏み台の向こうの IRC サーバ名>:6667
   GatewayPorts yes

PC 上で ssh -F -N ircgateway とすれば踏み台のむこうの IRC サーバ(あるいは Tiarra)にトンネルができるので、 <PC のアドレス>:6668 に iPod touch 5th 上の LimeChat から接続すれば OK。

今日のさえずり: お祭りにきました。 @ 株式会社ミクシィ

2014年03月01日

naney:12845589463

[ 3月1日全て ]

2014年3月5日 (水)

port forwarding 用に iOSSSH クライアント iSSH 入れたけれど、やはりバックラウンド10分制限の壁あり

この間 iOS デバイス用 IRC クライアントとして LimeChat入れたのだけれど、SSH port forwarding は別のホストに頼っていた(記事)。 でもやっぱり iOS デバイス内で SSH port forwarding もまかないたいと思い iSSH を入れてみた。

結論としては、やはり iOS マルチタスキングの制約によりバックグラウンドから10分でサスペンドになってしまい接続が切れてしまう。むむむ。まあストアで

Multitasking support - can hold connections open for up to 10 minutes

と書いてある通りではあるのだけれど。残り時間が近くなると通知でお知らせしてくれるので、再度フォアグラウンドにもってきて継続させることはできるのだけれど、手間だし、ずっと操作しているときはいいけれどその辺に置いておいてたまにウオッチするというのには向かない。あとアプリのせいではないけれど、メモリを使ような写真系アプリの起動とかしちゃうとあっさり止められちゃうのも悲しい。

あと、ポートフォワードしているローカルポートに LimeChat か接続しても「接続を試みます…」「接続しました」で止まってしまうことが多々ある。ちょっと原因不明だし不便。

SSH クライアントとしても「日本語が表示できない」「Active Connections 画面の Back ボタンが効かなくなることがある」「起動後 ssh-add までに必要なタップ数が多い」「ssh-add の後に落ちやすい」などもうちょっとお願いしますというところ。

緊急時にノート PCAndroid 端末もなくて、これで IRC チェックする必要がある時用ぐらいかなー。

[ 3月5日全て ]

2014年7月16日 (水)

モバイルからの踏み台経由の IRC

IRC 関連で一部ホストが変わったので、モバイルデバイスからの SSH port forwarding 経由での IRC 接続と設定変更と動作確認。

Android デバイスからは「ConnectBot + Android IRC」(記事)。iOS デバイスからは「iSSH + LimeChat」(記事)。移動すると SSH port forwarding 維持できないし、iOS だとマルチタスキングの制約があったりするしで、引き続き緊急用。

[ 7月16日全て ]

2014年8月11日 (月)

iPhone がいいかもとちょっと前から思っている

Textforce いい感じ。自分的に Day One がキラーアプリで、iOS の不便なところもだんだん解消してきているので次は iPhone もありかなと思い始めている。

おサイフケータイできてバッテリ交換できて防水でバックグラウンドで SSH port forwarding し続けられたら、iPhone 確定でもいいんだけれどな。あと Eye-Fi とかあのあたりがもっと便利だとなお可。

[ 8月11日全て ]

2014年12月31日 (水)

大晦日からのあけおめ 2015

NHK紅白歌合戦がそろそろ最後の曲といったところの 11:30 頃ぐらいから、リモート接続 したり ssh -f -N -D で dynamic port forwarding を開いて 負荷グラフ等を確認できるようにしたりして待機。

Slack で状況を確認しつつ、使っている Q4M サーバの負荷グラフを確認したりしている間に生さだスタート。24:53 ぐらいにその Q4M のキュー数がピークを越えて下がり始めたので一安心。ようやく「あけましておめでとうございます」。

25:15 に平常運転宣言も出たので待機完了。おやすみなさい。

[ 12月31日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

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

follow us in feedly

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

月別インデックス
Process Time: 0.241293s / load averages: 0.84, 0.76, 0.80
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker