iPhoneからVPNでVNCを利用
こんな夢を見た。
- XPにはPPTPサーバ機能が備わっている
- うちのルータはPPTPパススルーに対応している
- ルータはFQDNで参照可能(Dynamic DNSを利用)
- iPhoneはPPTP接続に対応している
…というところで目が覚めたんだけど、あれ?ってことはiPhoneからPPTPを使ったVPNで自宅のXP Boxに接続出来るじゃん。冴えてるなぁ寝てるときのオレ。
というわけで、まずはPPTPサーバのセットアップ。うちのネットワーク構成は、グローバルなIPアドレスが動的に割り当てられるルータと、プライベートIPで構成されたLANを、ルータのNATでつないでいるので、グローバルIPをもつPCは一切ありません。当然PPTPサーバを動かしたいXP BoxもローカルIPしか持っていないので(そのかわりにIPアドレスは固定)、まずはルータのグローバルIPの1723番へのアクセスを、PPTPサーバを動かすXP BoxのローカルIPの1723番へポート転送するよう設定します。
続いてPPTPサーバの設定。XPの「ネットワーク接続」から「新しい接続ウィザード」を開いて「詳細接続をセットアップする」を選択。
「着信接続を受け付ける」を選択して「接続デバイス」は特に何も選択せず、
「仮想プライベート接続を許可する」を選択。接続可能なユーザを選択して、
TCP/IPのプロパティで「TCP/IP アドレスを指定する」を選択して、クライアントに割り振りたいIPの範囲を指定。LAN上で既にDHCPサーバが動いているなら「DHCP を使って自動的に TCP/IP アドレスを割り当てる」でいけるのかも(未確認)。ちなみにPPTPサーバを動かすPC上でパーソナルファイアウォール(Norton Internet Securityなど)を動かしている場合は、ポート番号1723へのインバウンド接続を許可する必要があります(NISの場合は更にファイアウォールの拡張設定で「遮断ポートの隠蔽」をオフにする必要もあるようです)。以上でサーバ側の設定は終了。
ちなみにXP ProfessionalのPPTPサーバは同時接続数に制限があるので(たしか3つまで?)多人数で使いたい場合は注意してください。あと1アカウントにつき同時に1回線しかログイン出来ないっぽい?私が試した限りでは同時に1セッションしか接続出来ないんですが、これはもしかするとNATを経由しているせい?この辺りも含めて、可能であるならPPTPサーバは極力ルータ等に任せてしまった方が何かと無難かも。
iPhone側の設定は至って簡単。まず設定→一般→ネットワーク→VPNで構成を追加します。
プロトコルからPPTPを選択して、以下の要領で必要事項を入力。
- 説明→この接続設定の名前
- サーバ→PPTPサーバのグローバルIPまたはホスト名
- アカウント→PPTPサーバで設定した、アクセス可能なユーザ名
- RSA SecurID→オフ(デフォルト)
- パスワード→毎回確認(デフォルト)
- 暗号化レベル→自動(デフォルト)
- すべての信号を送信→オン(デフォルト)
あとはVPNを有効にするだけ。VPN接続時は画面左上に「VPN」と表示されます。
試しにMocha VNC Liteで自宅PCを参照してみましたが、3G回線の帯域幅でも意外と操作出来るもんですね。
んで、せっかくVPNを使えるようにしたので、iPhoneだけでなくPCやMacもPPTP経由でつないでみましたが、VNCやファイルコピー等は問題ないものの、残念ながらVPN越しではiTunesの共有ライブラリが参照出来ないようです。クライアント側でRendezvousProxy等を動かせばなんとかなりそうですが、私の場合、クライアント側がMac OS(Leopard)で、残念ながらRendezvousProxyはLeopard上で動作せず。これ(ライブラリ共有)が出来ればHamachiをリプレース出来たんだけどなぁ。
折角なのでファイルの転送速度も測ってみましたが、BフレッツとBフレッツ(マンションタイプ・上下共に25Mbps最大程度)の環境で1GBと11GBのファイルをWindowsファイル共有経由でコピーしてみたところ、平均10Mbps程度でした。PPTPサーバを介してLAN上の別のマシンからもコピーしてみましたが(こういうことが出来るのは便利ですね)こちらも概ね同じスピードでした。