自宅にある Linux サーバとネットワーク機器に,持ち歩きの Windows PC でアクセスするには,簡単な方法として,ポートフォワーディングと OpenVPN がある。
自宅に Linux サーバと,他にネットワーク機器があるとする。Linux サーバは Dynamic DNS サービスを利用すれば,外部からのアクセスが可能である (例えば nlog(n): ダイナミックDNSに登録)。サーバへのアクセスは問題なくできるので,サーバ以外のネットワーク機器へのアクセス方法について考える。クライアントは Windows XP とする。
一番お手軽なのは,ポートフォワーディングである。Windows XP のローカルのポートを,自宅のネットワーク機器のポートに接続することで可能。試すなら,UTF-8 TeraTerm Pro with TTSSH2 が手軽である (TeraTerm と TTSSH の使い方)。常に使うのであれば,PortForwarder + PortForwarder Config Editor が便利。サーバ側は SSH の通信ができるようにしておけばよい。
この方法はとても柔軟で,IPアドレスの割当の制約がない。外部のネットワークが自宅と同じプライベートIPアドレスでもアクセスが可能である。しかし,自宅内の機器にアクセスするのに,ホスト名を「localhost」にしなければならないという欠点がある。
OpenVPN は,サーバとクライアントの両方にアプリケーションのインストールと設定を行う必要があり,ネットワークの制約が若干あるものの,ポートフォワーディングよりも使い勝手はよい。
ネットワークの構成は上のようになっているとする。今,自分は自宅外にいて PC を使っていて,IP アドレスは 10.10.10.100 が割り当てられている。この PC から自宅ネットワーク内の 192.168.0.3 へアクセスしたいという状況であるとする。
OpenVPN では,上の図の下半分のネットワークで通信するようになる。OpenVPN をクライアントPCとLinuxサーバの両方にインストールすると,PCには「TAP-Win32」,サーバには「tun0」という仮想的なデバイスが作成される。OpenVPN での接続が完了すると,これらのデバイスには IP アドレスがサーバ側から割り当てられ,通信が開始される。
サーバ側のデバイス tun0 には,クライアントPCとの通信用の IP アドレスの他に,自宅内ネットワークと通信するためのゲートウェイ用 IP アドレスが割り当てられるため,これを通じて双方向の通信が可能になる。クライアントPCから,自宅内の機器 192.168.0.3 へは,そのままのIPアドレス 192.168.0.3 でアクセスすることが可能である。
この方式の制約は,外部のネットワークの IP アドレスが,自宅ネットワークや OpenVPN の作る仮想ネットワークの IP と重なってはいけないということである。
上図は VPN 用に別のネットワークを用意する「ルーティング方式」である。この他に,自宅内のネットワークと同一とする「ブリッジ方式」がある (ゼロ円でできるインターネットVPN(2/4))。
次回は,Vine Linux サーバに OpenVPN をインストールする (nlog(n): Vine Linux 4.2 に OpenVPN サーバをインストール)。
Posted by n at 2008-05-20 23:23 | Edit | Comments (0) | Trackback(0)
Master Archive Index
Total Entry Count: 1957