画面共有とVPNを用意して、会社にいなくてもいいように
緊急対応などで、家や外出先にいても何か作業しなきゃいけないことがあったりする。そのための環境をがんばって考えて構築してみた。
やりたいこと
以下を実現したい。
- 別な場所から、会社の社内LANに入りたい(社内の開発用サーバーにアクセスしたり、NASにアクセスしたりしたい)
- 別な場所から、会社の固定IPアドレスからしか接続できないように制限してある外部のサーバーに接続したい(家のIPアドレスはたまに変わるし、別な場所がいつも家とは限らないのでいちいち許可を出しにくいというのもある)
- 別な場所から、いつも会社で使ってるMacの開発環境をそのまま使いたい
- 会社のMacを毎日持ち歩くのはイヤだけど、たまに持ち出すこともあり、そのどちらの場合も問題ないようにしたい
- 新たなソフトウェアを購入したりするのはイヤだし、無料だとしてもインストールするのがいやなので、OSの標準機能だけでやりたい
要は、どこにいても、普段の仕事環境と同じ感じでやりたいということ。
画面共有とVPN
まず考えたのが画面共有。会社のMacを会社に置いておいて、別な場所から遠隔操作する。Macには画面共有という機能が最初から入っていて、設定するだけで使える。
これは単なる遠隔操作なので、実際に動作しているのは会社のMacということになる。だから社内LANもIP制限も開発環境も問題ない。
ただ、絶対にMacを会社から持ち出すことができない。持ち出してしまうと、そのときは遠隔操作する対象がなくなってしまう(手元にはあるけど、それは社内のLANに入ってない)。
そこでVPNも用意しておく。持ち出した場合は、その持ち出した会社MacからVPNで社内LANに入るわけだ。これで社内の機器にはアクセスできるし、外部へのアクセスも社内LANを経由させることで、IPアドレス制限も大丈夫。そして開発環境は、まさにそのMacを持ち出して手元にあるわけで問題ない。
まとめると以下。
非常にシンプル。
勘違いしてはいけないのは、画面共有とVPNの両方を同時に使うわけではなくて、会社のMacを持って出たかどうか(手元にあるのか会社に置いてあるのか)によって使い分けるわけだ。
画面共有のやりかた
面倒だからスクリーンショット貼らないけど。
簡単。社内にこれをやりたい人が複数いるなら、みんなでポート5900を使うわけにはいかないので、各自でポートを変更しなければいけない。ただ、Macの画面共有はポートを簡単には変更できないようなので、ルータ側でポート変換をするといい。
- WAN側の59001番をLAN側192.168.0.1の5900へ
- WAN側の59002番をLAN側192.168.0.2の5900へ
みたいな感じ。それで、外から接続するときはポート番号を変えることでどのマシンに接続するかを選ぶ感じ。
あと、外から接続するときにポート番号ではなくディスプレイ番号を入れるようなタイプの場合は、ポート番号から5900を引いた値を指定する。ポートが59001ならディスプレイ番号は53101。
VPNのやりかた
うちの場合は、社内にWindows 7 Home Premiumの常時稼働マシンがあったので、これをVPNサーバーにすることにした。PPTP。
ポイントは「サービスの順序を設定」。これでVPN接続を一番上に持ってくることで、優先的にこのネットワークが使われる。外部サーバーに会社のIPアドレスから接続にいく場合などに重要。
あと、外部のネット環境(例えば自宅のルータだったり)が、VPNパススルーに対応してる必要があるらしい。うちの場合、特に設定は不要だった(VPNパススルーのON/OFFが切り替えられるなら、ONにする必要はあると思うけど、特にIPアドレスやポートがどうのという設定を自宅のルータに対してやる必要はなさそう)。
Windowsなら
会社のマシンがMacではなくWindowsなら、画面共有の代わりにリモートデスクトップを使えばいい。Professional版なら標準で入ってる。Homeの人はいないと信じたい。
そしてVPN(PPTP)はWindowsでも普通にできる。というか今回もサーバーは(たまたま別な用途で常時稼働だった)Windowsだし、当然クライアントもWindowsに標準で入ってる。
終わり
画面共有はカンタンだったけど、VPNはほとんどやったことなかったので、わからないことがいくつかあって大変だった。
でも、できれば会社以外で仕事しなきゃいけないような状況は避けなければならない。避けなければならないけど、避けられなかったときの対策が何もないのは良くないので、今回うまく設定できてよかった。