11-12-29(木)記述
前編で同一ネットワーク(家庭内ネットワーク)でのリモートデスクトップが可能になったため,
次はインターネット経由でのリモートデスクトップを行います.
参考 :
UltraVNCでのリモートデスクトップ -前編- (同一ネットワーク内での設定)
目的
インターネット経由でのリモートデスクトップ
実現方法
IPアドレスの固定(
前編で完了済み)
ルータのポートマッピング
ダイナミックDNSの設定
UltraVNC サーバ側インストール&設定(前編で完了済み)
Androidケータイ VPNクライアントソフトのインストール&設定
ネットワーク構成のイメージ
クライアント(Androidケータイ)→<インターネット:DDNSで自宅ネットワークの特定&アクセス>→ルータ→<家庭内ネットワーク:ポートマッピングでサーバPCに繋がる>→サーバPC
今回の内容
・グローバルIPアドレスとは
・ルータのポートマッピング設定
・ダイナミックDNSとは
・ダイナミックDNSの設定
・ファイヤーウォールの設定
・Androidケータイ VPNクライアントソフトのインストール&設定
環境
サーバ側
PC Windows7 Ultimate 32bit
クライアント側
Androidケータイ docomo SH-12C
VNCクライアントアプリ : RemoteVNC Pro w/Ad 1.8.4
■□■グローバルIPアドレスとは■□■
あまり詳しくないので適当です.
IPアドレスにはグローバルIPアドレスと,プライベートIPアドレスと言うものがあります(IPv4の場合).
プライベートIPアドレスは,前編で調べたIPアドレスです.同一ネットワーク上でのみ使用できるIPアドレスです.
グローバルIPアドレスは,インターネット上でのIPアドレスです.
家庭内ネットワーク(同一ネットワーク)からインターネットにアクセスする場合は,どのPCからアクセスしても,
すべて同じグローバルIPアドレスでインターネットに接続することになります.
つまり,ネット上での住所:グローバルIPアドレスと,家庭内での住所:プライベートIPアドレスが別々に存在します.
ルータのIPマスカレードと言う機能で,グローバルとプライベートIPアドレスを関連付けることで,ネットにアクセスできる訳です.
一般的なネットワーク構成
インターネット--<グローバルIP>--ルータ--<プライベートIP>--PC1,PC2,PC3…
こんな感じ
PC1,2,3は別々のプライベートIPアドレスを持つ
PC1,2,3はすべて同じグローバルIPアドレスでネットに繋がる
問題点
1.ネット側から見ると,グローバルIPは同じ値なので,どのPCからアクセスしているのかわまりません.
(プライペートIPアドレスはネット上からはわからないため)
2.グローバルIPアドレスも動的にアドレスが割り振られる.(つまり住所が勝手に変わる可能性あり)
解決策
1.ルータのポートマッピング機能を使う.
ネット側からアクセスがあったとき,どのPCに繋ぐかを予め決めておく
2.ダイナミックDNSサービスを使う
ドメイン名を取得して,グローバルIPが変わっても解かるようにする
(プロバイダ側のサービスでグローバルIPアドレスを固定することもできるが,お金を払う必要があるので今回はやりません)
■□■ルータのポートマッピング設定■□■
「グローバルIPアドレスとは」で書いたように,ネット側からアクセスがあったとき(ネット経由でリモート操作しようとしたとき),
どのPCに繋ぐかを予め決めておきます.
前編でプライベートIPアドレスの固定を行ったため,「どのPCに繋ぐかわからないよ」という問題は起こりません.
1.ルータの設定画面にアクセスします.
ブラウザ(Internet Exprorerなど)を起動→アドレスバーに前編で調べたデフォルトゲートウェイのIPアドレス(おそらく192.168.0.1)を入力
2.ポートマッピング機能の設定
※この設定はルータによって設定が異なるので,各自ルータの説明書を参考
ポート番号:5900に対して,TCPでのアクセスがあった場合には,サーバPCのIPアドレスに繋ぐように設定します.
私の環境では,ルータはNECAtermを使用しています.
↓これはその設定画面です.
TCPでポート5900に接続があったとき,サーバPCのプライベートIPアドレスに接続します.
■□■ダイナミックDNS(DDNS)とは■□■
動的に割り当てられるIPアドレスと、そのホスト名の対応を、動的に登録・管理する仕組み(
Wikipediaより)
分かりにくいので,
グローバルIPアドレスは,プライベートIPアドレスと同様に動的に変化します(つまり住所が勝手に変わります).
プライベートIPアドレスの固定は前編でやった通りですが,グローバルIPアドレスの場合は,
プロバイダにお金を払う必要があります.
お金は払いたくないので,「自宅ネットワークのネット上での住所:グローバルIPアドレスがネット経由でわかるといいなぁ」
ってことで,それをわかるようにするサービスです.
それにはDDNSサービスを使います.
DDNSサービスでドメイン名と言うものを取得し,自宅ネットワークのグローバルIPアドレスと関連付けます.
グローバルIPアドレスが変わった場合,ルータの機能や特定のソフトを使うことで,
サービス側の情報を更新して,自宅ネットワークの住所がわかるようにしてくれます.
■□■ダイナミックDNSの設定■□■
DDNSサービスには有料・無料のものがあります.
私は無料の「
CyberGateのDDNSサービス」を使っています.
http://cybergate.planex.co.jp/ddns/
ググれば他にもいくつかあります.
1.無料会員登録すると,ドメイン名を取得できます.
2.取得したドメイン名と自宅ネットワークのグローバルIPアドレスを関連付けます.
これでグローバルIPアドレスが変わっても,ネット経由で自宅ネットワークにアクセスできます.
やり方は主に2つ
・ルータの機能で関連付け
・サーバPCを使って関連付け(私はこっち)
・ルータの機能で関連付け
最近のルータにはDDNSの更新機能がついているものがあり,グローバルIPアドレスが変わると,
自動的にDDNSサービスにアクセスして,情報を更新してくれます.
家のルータはBIGLOBEの有料DDNSサービスしか対応していないので却下
・サーバPCを使って関連付け
「
DiCE」というソフトを使います.
入手先 :
http://www.hi-ho.ne.jp/yoshihiro_e/dice/
設定方法
ダウンロードしてインストール(やり方は割愛)
スタートメニューから「 DiCE DynamicDNS Client 」を起動
メニューバーの[イベント]→[追加]で以下のような画面が表示されます.
DDNSサービスの情報を記入(赤枠部分)→[保存]
説明 : 自分がわかるような名前を付ける
ホスト名,ドメイン名 : DDNSサービスから与えられたもの
パスワード : DDNSサービスへのログインパスワード
頻度 : DDNSサービスにグローバルIPアドレスの情報を送る頻度
ウィンドウに今入力した情報が追加されるので右クリック→[今すぐ実行]してDDNSサービスの情報を更新しておく
メニューバーの[オプション]→[環境設定]→「最小化で起動する」にチェック→[OK]
[スタートメニュー]→[すべてのプログラム]→[スタートアップ]を右クリックして[開く]
スタートアップフォルダにDiCEのショートカットを作成しておきます.(これでPC起動時にDiCEも起動する)
■□■ファイヤーウォールの設定■□■
サーバPC側での設定です.
受信設定で5900ポートからのtcpでの通信を許可します.
※実は不要かも
「UltraVNC」をインストールすると自動で設定されるみたい
※Windowsファイアウォールを使用していることを前提としています.
他のファイアウォールソフトを使っている人は各自で設定して下さい.
念のために確認
1.コントロールパネル]→[すべてのコントロールパネル項目]→[Windowsファイアウォール]→画面左の[詳細設定]
2.画面左の[受信の規則]をクリック→中央に表示されるリストに「vnc5900」があることを確認
「vnc5900」がない場合
3.画面右の[新しい規則...]をクリック→5900ポートからのtcpでの通信を許可して下さい
■□■Androidケータイ VPNクライアントソフトのインストール&設定■□■
今回はAndroidケータイで試しました.
もちろんWiMAXやモバイルルータなどがある人なら,
前編のようにPCから接続もできるはずです.
試したアプリ
・アンドロイド-のvnc - viewer(android-vnc-viewer) ver.0.5.0 (失敗)
コネクション名 :適当に名前を付けて下さい
パスワード : サーバPCのUltraVNCで設定したパスワードを入力
アドレス : DDNSサービスのドメイン名を入力(同一ネットワーク内ならプライベートIPアドレス)
DDNSサービスでグローバルIPアドレスとドメイン名を関連付けしているので,
グローバルIPアドレスでも行けます.ただし,IPアドレスが変わる可能性があるため,
同じ名前でアクセスできるドメイン名のほうが便利です.
ポート : UltraVNCは5900ポートを使用するので「5900」で固定です.
Username : 適当で
情報を入力して[接続]をタップすれば,リモートできるはずです.(私は失敗しましたが)
wifi接続(同一ネットワーク内)ではできたけど,3G回線からだと失敗しました.
サーバPC側はリモート画面になるけど,Android側が表示されなかったorz
画面が横向きでしか使えない
文字入力はキーボード入力しかできない(フリック入力は不可)
・RemoteVNC Pro w/Ad 1.8.4 (成功)(少しだけ英語力が必要ですかね)
Host : DDNSサービスのドメイン名を入力(同一ネットワーク内ならプライベートIPアドレス)
Port : 使用するポート番号「5900」で固定
Password : サーバPCのUltraVNCで設定したパスワードを入力
それ以降は,画質の設定とかみたいです.
[戻るボタン]を押すと今入力したドメイン名が表示されているので,タップするとリモート開始です.
マウスポインタの操作が難しいかも
とりあえず3G回線から,ネット経由でのリモートはできました.
操作性がいまいちなのでVNCクライアントアプリは,もう何種類か試さないといけませんね.
■□■参考■□■
PR