SOCKSとSSHポートフォワーディングで柔軟なVPN接続
ダイナミックなソフト連携の考察
 

トップに戻る

はじめに
プライベートネットワークであるからこそつきものの障害と問題点
外部リモートPCからプライベートなネットワーク内に自由にアクセスしたいけれども、プライベートだからこそ何かと制約に縛られてしまいます。

VPNソフト ソフトインストールからセッティングがいろいろ面倒だったり、PC全体が接続先のネットワークに属する為、接続元のネットワークが利用できない。
SSHポートフォワーディング 対1ポート・PCに対して設定が必要な為、接続対象が多数存在すると設定が面倒になる。

上記のとおり、何かと接続に手間がかかったり、融通が利かない場合もあります。
そこで提案できるのがこういうものです。

SSHダイナミックポートフォワーディング+FreeCapでプロセス毎でSOCKS通信

これによって、プロセス(プログラム)毎でプライベートネットワークへの接続を実現することができます。

概念図
Crystal Clear(LGPLライセンス)を利用して、やりたいことを図にしてみました。
図は左上から右下へ通信しているイメージで捉えてください。(方向描くの忘れてました・・すんません)
ミッションは、「プライベートネットワークの各PCやネットワークドライブの共有フォルダにアクセスせよ」です。
必要なもの
これさえ用意すれば、簡単に接続できます。
実際に必要なものは以下のとおりでシンプルです。

・必要な環境

外部から接続できるSSHサーバー・または同様の役割を持ったパソコン

・必要なソフト

PuTTY SSHのクライアントソフトです。
日本語版はこちらよりダウンロードできます。
FreeCap . プロセス毎にSOCKSを利用した通信を行うソフトウェアです。
こちらよりダウンロードできます。(拠点が遠いせいか、ちょっと重いです)
各種インストールは、各ソフトウェアのマニュアルに任せます。

接続手順
では、実際につなげてみましょう。
1.PuTTYを起動します。


「設定」の「接続」-「トンネル」メニューを選択し、任意のポート(例は1080番)にを指定し、 [ダイナミック]を選択し、追加ボタンをクリックします。「フォワードされたポート」に「D(ポート番号)」と表記が出テいることを確認してください。
あとは、「セッション」メニューを選択し、「ホスト名」に接続先SSHサーバーを指定して「開く」をクリックしてログインすると、ダイナミックフォワーディングが設定されました。

2.FreeCapを起動します。


起動後、「File」-「Settings」メニューを開くと、以下の設定画面が開かれます。



「Default proxy」欄の「Server」は[localhost]、「Port」は[1080]を設定します。設定が完了したら、「OK」ボタンをクリックします。



中央のペインに接続したいプログラムをドラッグアンドドロップし、アイコンを追加していきます。

3.FreeCap中のアイコンをダブルクリックし、プログラムを起動します。
起動したプログラムは既に、プライベートネットワーク通信下となっています。
活用方法
利点を生かして、利用してみましょう。
SSH+FreeCap接続の利点は、プロセス(プログラム)毎に利用ネットワークを切り分けることができることです。


▲インターネット環境検査「ntkensa」

上記イメージの様に、例え同一のアプリケーションを起動して並べても、FreeCap上で起動したものと、そうでないものでそれぞれ、IPチェックツールにアクセスすると、 接続元IPが異なって表示されます。この要領で、FTP,SFTP,SSH,各種DB(MySQL,Postgres,MSSQL)等、何でも柔軟にアクセスすることができます。

しかし、Windowsで利用できる「共有」に関しては、便利である反面、シェルがWindows内部にある為、用意にポート変換できません。
そこで、別のプログラム「muCommander」を利用します。



Macの環境で作成されたファイラーですが、オープンソースの上に独自でWindows共有「SMB」に接続できる点を利用し、FreeCap上で開くと、すんなり接続ができました。

どうでしたか?今回は、フリーでオープンソースなソフトをダイナミックに活用してみました。 皆さんも、いろいろ活用してはいかがでしょうか。


また、上記言動により万一、障害が発生しても、作者は一切責任を負わないことをご了承くださいませ。

 

Copyright by TACHY/RAWSEQ