Windows7: 出先から自宅のPCにリモートデスクトップ接続する

外出先から自宅のPCにリモートデスクトップ接続できるようにしたので、そのときの設定をメモ。

ウチの環境はこんなかんじ。

PCは有線接続の静的アドレス(IP固定)で運用。
無線接続やDHCPの場合は勝手が違ってくると思うけど、ここでは説明しない。

初期設定

WOL(Wake on LAN)の設定

LAN経由でPCの電源を上げられるよう、BIOSの設定を変更する。
DELL Optiplex 7010 の場合は以下の3つ。

  • System Configuration → Integrated NIC を Enabaled
  • Power Management → Wake on LAN を LAN only
  • Power Management → Deep Sleep Control を Disabled

最後の「Deep Sleep Control」がくせ者で、最初はこれに気付かず「何故起動しない……!?」とさんざん悩んだ。

Windowsの設定

作業は全部管理者アカウントでやること。そのほうが面倒がない。

リモートデスクトップ接続を許可

  1. Windowsのスタートボタンを押して、すぐ上の検索ボックスに sysdm.cpl と入力してEnter。
    rd_01
  2. 「システムのプロパティ」が開くので「リモート」タブを開き「リモートデスクトップを実行しているコンピュータからの接続を許可する」を選択して閉じる。
    rd_02

デフォルトポートの変更

リモートデスクトップはデフォルトで3389番ポートを使うが、何かと攻撃の対象になるので変更しておく。

  1. レジストリエディタを起動し、以下の場所を開く。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    右側のリストから PortNumber という項目をダブルクリックして開く。
    rd_03
  2. 表記を10進数に切り替え、数値を適当なポートナンバーに変更。
    50000~65000ぐらいの間で適当に選ぶ。ここでは例として「54321」を設定する。
    rd_04
  3. 設定を変更したらPCを再起動する。
    再起動後、コマンドプロンプトで netstat -an を実行し、
    「TCP 0.0.0.0:54321 0.0.0.0:0 LISTENING」という行があればOK。
    もし「TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING」があるようなら、設定変更がうまく行ってないので、もういちどレジストリをチェック。
    rd_cmd

Firewallの設定変更

さっき変更したポートの通信を許可する。

  1. Windowsのスタートボタンを押して、すぐ上の検索ボックスに firewall.cpl と入力してEnter。Firewall設定が開くので、ウインドウ左側の「詳細設定」を開く。
    rd_05
  2. 左側のリストから「受信の規則」を選択し、右側の「新しい規則...」をクリック。
    rd_06
  3. 「新規の受信のウイザード」が開くので、まず「ポート」を選択して次へボタンをクリック。
    rd_07
  4. 「TCP」を選択し、「特定のローカルポート」にさっき変更したポート番号を入れる。次へをクリック。
    rd_08
  5. 「接続を許可する」を選択して次へ。
    rd_09
  6. 「プライベート」のみチェックが入ってればOKだと思う。繋がらなかった場合は、他の項目を適宜オンにしてください。 次へをクリック。
    rd_10
  7. 適当に名前を付けて「完了」をクリック。
    rd_11

ルータの設定

Aterm WR8700N でのやり方です。

PCリモート起動(WOL)の設定

  1. ルータにログインし、「詳細設定」→「端末名設定」を開き、「追加」ボタンを押す。
    rd_19
  2. 「MACアドレス」にリモートで接続したいPCのMACアドレスを入力、「端末名」は適当に付けて「設定」をクリック。
    rd_20
  3. 「詳細設定」→「PCリモート起動設定」を開き、以下のように設定。
    入力が終わったら「設定」を押して、忘れずに「保存」をクリック。
    PCリモート起動機能 チェックを入れる
    アカウント 「専用アカウント」にしておいた方がいいと思う
    ユーザー名 / パスワード 両方とも推測しにくいものを設定すべし
    アクセスポート番号 50000~65000の間で適当に設定
    リモートデスクトップ用のポートとはかぶらないように
    ここでは 56789 にした
    rd_21

NATの設定

WAN側に届いたリモートデスクトップ接続の要求を、LANのPCに転送する設定。

  1. 「詳細設定」→「ポートマッピング設定」を開き、「追加」をクリック。
    rd_22
  2. 以下のように設定。
    その後「設定」を押して、「保存」をクリック。
    LAN側ホスト リモート接続したいPCのIPを入力
    ex) 192.168.0.5 など
    プロトコル TCP
    ポート番号 any のチェックを外す
    左側のボックスにだけリモートデスクトップ接続用のポート番号を入れる
    PCリモート起動のポート番号と間違えないように
    優先度 1
    rd_23

以上で初期設定終了。

接続してみる

PCリモート起動機能で電源を入れる

  1. 自宅以外のネットワークから、ブラウザでリモート起動のページへアクセスする。
    URLは http://自宅のグローバルアドレス:PCリモート起動用のポート番号/
    たとえば、
    • グローバルIP:11.22.33.44
    • リモート起動ポート:56789
    ならば、http://11.22.33.44:56789/ となる。
  2. ルータのPCリモート起動機能で設定したIDとパスワードでログインして、「端末選択」で、起動するパソコンを選択し[起動]をクリック。
    rdp_24

IDとパスワードを入力するのがめんどくさい場合は、こんな方法もある。

リモートデスクトップで接続する

電源が入ってOSが起動したと思われる頃に接続する。

  1. リモートデスクトップ接続を起動して、コンピュータ名の部分に
    自宅のグローバルアドレス:リモートデスクトップ用のポート番号」と入力して接続。
    rd_13
  2. 自宅PCのIDとパスワードでログイン。
    rd_14
  3. 以下の様な警告が出る場合があるが、そのまま「はい」で続行してOK。
    rd_15

電源を切る

リモートデスクトップ接続した場合、シャットダウンボタンが表示されず、ログオフしかできない。
そんな場合はこっちを参照。