【Network】自宅PCにリモート接続できる環境を構築したい! ポートアドレス変換編
外出先でも、家の高性能なPC環境で作業したい! 家のファイルとかにアクセスしたい!
なんて欲望を叶えるためにGMOの固定IPを契約して、自宅PCにリモート接続できる環境を整えました。
(まあ、固定IPじゃなくてもDynamics DNSという手もあるにはあるんですけど)
アプローチとしては、VPNで繋ぐ方法がメジャーかと思うんですが
この時まだ家のBaffalo RouterがIPsecに対応していなかったので、取り急ぎポートアドレス変換でRDPポートを外出しする方法を試してみた時の記録です。
ただ、セキュリティ的にあれだなぁと思ったので、すぐにIPsecに対応したBaffalo Routerを買ってやめてしまったんですが、ネットワーク周りのいいお勉強になったので、記録しておきます。
システム構成
システム構成は以下の感じです。
さすがにRDPポートをそのまま晒すのは気が引けたので、50000番台に変更しています。
その変更したポートをRouterのポートマッピングの設定で、ローカルIPアドレスの特定ポートにリダイレクトさせてあげるような感じです。
環境
・Windows 10 Pro(今更ながらProじゃないと、リモートデスクトップできないんですよね……orz)
・ルーター BUFFALO WXR-1900D(もともとはもうちょっと弱いやつ)
・フレッツ光マンション
・固定IP GMO固定IPプラン 月額1100円
RDPの許可設定
まずはRDPの許可設定をシステムのプロパティから。
RDPのポート番号変更
続いて、RDPのポート番号を変更しておきます。
一応外部に晒すことになるので、default値ではなく、適当な50001とかにしておきます。
その後、レジストリに登録されている、RDPポート番号を変更します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
の「PortNumber」です。
初期状態が16進数になっているので気をつけましょう。10進数にして入力しておきます。
ファイアウォールから受信ポートの開放
次にRDPに関連付け直したポート番号のファイアウォール受信規則を開放してあげます。
「受信の規則」から「新しい規則」を選択
「ポート」を選択して
「TCP」の「特定のローカルポート」でさっきRDPに付け替えたPort Numberを入力します。
「接続を許可する」を選択
規則はプライベートでOKみたいです。
適当に名前をつけて、完了。
ルーターへの設定
ここの設定方法はルーターによってまちまちですが、ポート変換というところがあれば、なんとかなると思います。
以下のような感じで、グローバルIPのポートとローカルIPのポートを紐付けます。
試してみる
せっかくなので(?)iPhoneの Microsoft リモート デスクトップアプリで試してみました。
右上の「+」をクリックして
「PCまたはサーバーの追加」をクリック
ここでPC名に、固定IPアドレスと、先程指定した外向けのポートを設定します。
123.456.789.000:50000という感じですね。
設定は以上で完了。あとは接続する時にユーザー情報を入力すればー
以下のように接続できました!! いえい!
所感
そういえば、このときは内部用のPort Number と外部向けのPort Numberを別にしているんですが、
今思えば、別にする必要もなかったかなぁと。
むしろRDPのPort Numberをそのままにして、ポートアドレス変換のほうだけ、50000番とかでよかったんでは? と思ったり。
そうすれば、レジストリの変更から、ファイアウォールの開放まえ、必要なくない? とかゴニョゴニョ。
まあ、今はVPNで繋がるからいいんですけどね!
参考
以下の記事を大変参考にさせていただきました!