画面共有とVPNを用意して、会社にいなくてもいいように

緊急対応などで、家や外出先にいても何か作業しなきゃいけないことがあったりする。そのための環境をがんばって考えて構築してみた。

やりたいこと

以下を実現したい。

  • 別な場所から、会社の社内LANに入りたい(社内の開発用サーバーにアクセスしたり、NASにアクセスしたりしたい)
  • 別な場所から、会社の固定IPアドレスからしか接続できないように制限してある外部のサーバーに接続したい(家のIPアドレスはたまに変わるし、別な場所がいつも家とは限らないのでいちいち許可を出しにくいというのもある)
  • 別な場所から、いつも会社で使ってるMacの開発環境をそのまま使いたい
  • 会社のMacを毎日持ち歩くのはイヤだけど、たまに持ち出すこともあり、そのどちらの場合も問題ないようにしたい
  • 新たなソフトウェアを購入したりするのはイヤだし、無料だとしてもインストールするのがいやなので、OSの標準機能だけでやりたい

要は、どこにいても、普段の仕事環境と同じ感じでやりたいということ。

画面共有とVPN

まず考えたのが画面共有。会社のMacを会社に置いておいて、別な場所から遠隔操作する。Macには画面共有という機能が最初から入っていて、設定するだけで使える。

これは単なる遠隔操作なので、実際に動作しているのは会社のMacということになる。だから社内LANもIP制限も開発環境も問題ない。

ただ、絶対にMacを会社から持ち出すことができない。持ち出してしまうと、そのときは遠隔操作する対象がなくなってしまう(手元にはあるけど、それは社内のLANに入ってない)。

そこでVPNも用意しておく。持ち出した場合は、その持ち出した会社MacからVPNで社内LANに入るわけだ。これで社内の機器にはアクセスできるし、外部へのアクセスも社内LANを経由させることで、IPアドレス制限も大丈夫。そして開発環境は、まさにそのMacを持ち出して手元にあるわけで問題ない。

まとめると以下。

  • 会社にMac置いたままの日→画面共有で遠隔操作!
  • 会社のMacを持ち出してる日→VPNで社内LANに入る!

非常にシンプル。

勘違いしてはいけないのは、画面共有とVPNの両方を同時に使うわけではなくて、会社のMacを持って出たかどうか(手元にあるのか会社に置いてあるのか)によって使い分けるわけだ。

画面共有のやりかた

面倒だからスクリーンショット貼らないけど。

  1. 会社のMacで、画面共有を受け入れる準備
    1. IPアドレスを固定しておく
    2. システム環境設定>共有>画面共有にチェックを入れて、必要なら細かい設定もする
  2. 会社のルーターで、ポート解放の設定
    1. 5900番を、会社のMacIPアドレスに向けるようにする
  3. 外部からつなぐ
    1. 外部のマシンがMacならFinderの移動>サーバへ接続>vnc://会社のIPアドレス/
    2. 外部のマシンがWindowsiPhone/iPadなら、適当なVNCクライアントで会社のIPアドレスにつなぐ

簡単。社内にこれをやりたい人が複数いるなら、みんなでポート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

  1. 社内にVPNサーバーをたてる
    1. VPNサーバーマシンのIPアドレスを固定しておく
    2. コントロールパネル>ネットワークと共有センター>アダプターの設定変更
    3. altキーを押してメニューを出し、ファイル>新しい着信接続
    4. もろもろ設定
  2. 会社のルーターで、ポート解放の設定
    1. 1723番を、VPNサーバーマシンのIPに向けるようにする
  3. 外部に持ち出した会社のMacからつなぐ
    1. システム環境設定>ネットワーク
    2. 右下の「+」を押す
      1. インターフェイス : VPN
      2. VPNタイプ : PPTP
      3. サービス名 : お好きな名前
    3. 右下の歯車のボタンを押し、「サービスの順序を設定」
      1. 今作ったVPNの設定をドラッグして一番上に持ってきて「OK」
    4. 左のリストから今作ったVPNの設定をクリックし、詳細な設定をする
      1. サーバアドレス : 会社のIP
      2. アカウント名 : VPNサーバーマシンのWindowsのアカウント
      3. 暗号化 : 自動(128ビットまたは40ビット)
      4. 認証設定
        1. パスワード : VPNサーバーマシンのWindowsのパスワード
      5. あとは「接続」を押す

ポイントは「サービスの順序を設定」。これでVPN接続を一番上に持ってくることで、優先的にこのネットワークが使われる。外部サーバーに会社のIPアドレスから接続にいく場合などに重要。

あと、外部のネット環境(例えば自宅のルータだったり)が、VPNパススルーに対応してる必要があるらしい。うちの場合、特に設定は不要だった(VPNパススルーのON/OFFが切り替えられるなら、ONにする必要はあると思うけど、特にIPアドレスやポートがどうのという設定を自宅のルータに対してやる必要はなさそう)。

Windowsなら

会社のマシンがMacではなくWindowsなら、画面共有の代わりにリモートデスクトップを使えばいい。Professional版なら標準で入ってる。Homeの人はいないと信じたい。

そしてVPN(PPTP)はWindowsでも普通にできる。というか今回もサーバーは(たまたま別な用途で常時稼働だった)Windowsだし、当然クライアントもWindowsに標準で入ってる。

終わり

画面共有はカンタンだったけど、VPNはほとんどやったことなかったので、わからないことがいくつかあって大変だった。

でも、できれば会社以外で仕事しなきゃいけないような状況は避けなければならない。避けなければならないけど、避けられなかったときの対策が何もないのは良くないので、今回うまく設定できてよかった。