あらゆる場所から複数のWindowsマシンを操作できるリモートデスクトップはとても便利ですが、標準ポートを変更した途端に接続できなくなるトラブルが起きることもあります。そこで、ポート番号変更時のポイントや設定手順、トラブルシュート方法を詳しく解説します。
リモートデスクトップの基本と複数マシン運用のメリット
リモートデスクトップ(RDP)は、遠隔操作したいPCに接続し、あたかも目の前にあるかのように操作できる便利な機能です。通常はTCP 3389番ポートを使用しますが、複数のPCを遠隔操作する際などにポート番号を変えて運用する場面も少なくありません。例えば以下のケースを想定すると、ポート番号の変更が必要になってきます。
- 1つのグローバルIPアドレスを共有するネットワーク内に複数台のRDP用PCがある
- 複数のサーバーやクライアント機を同時にリモートで管理したい
- ファイアウォールやセキュリティ上の理由で標準ポートを別の番号にしたい
一方で、ポート番号を変更すると設定ミスやポート競合などが原因でRDP接続できなくなるトラブルも発生しがちです。ここでは、想定シナリオとしてA・B・Cの3台のWindowsマシンがあり、A→Cは3389でつながるけれど、BのRDP用ポートを3390に変えたところ接続できない事象を例に、具体的な原因と解決策を掘り下げていきます。
想定ケースと問題点
- A:リモートクライアント(操作元)
- B:リモート接続先(ポート番号を3390に変更)
- C:リモート接続先(標準ポート3389のまま)
AからCへの接続はスムーズにいくが、AからBへの接続は失敗する。このとき、Bのレジストリを編集して3390に設定、Windowsファイアウォールでは3390番ポートを開放、さらにルーター側でもポートフォワードの設定をしたはずなのに接続できない――こうした状況に遭遇することがあります。
主なトラブル要因の一覧
- レジストリ設定の反映不備
- ファイアウォールの受信ルールが機能していない
- 他のアプリケーションが同ポートを使用している
- ルーターやNATのポート転送設定ミス
- RDPの接続先指定形式(「IPアドレス:ポート番号」)のミス
- DHCP環境でローカルIPが変わってしまっている
- OSやサービスの再起動を行っていない
これらを踏まえつつ、以下のステップで原因を一つずつ検証してみると解決の糸口が得られやすくなります。
レジストリのPortNumber設定を確認する
最初に見直すべきは、BのWindows側でリモートデスクトップが使用するポート番号が正しく設定されているかどうかです。RDP用のポート番号は次のレジストリキーで管理されています。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
この中の「PortNumber」値がRDP接続に使用されるポート番号です。以下のPowerShellコマンドで簡単に確認できます。
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber"
もし3389のまま変更されていなかったり、意図しない数字になっている場合は、エディタで修正しなければなりません。レジストリエディタを使って数値を10進数
で3390に変えることを忘れないようにしましょう。16進数と間違いやすいので注意が必要です。
変更後の反映と再起動
PortNumberの値を変更したら、必要に応じてRDPサービスやWindowsを再起動する場合があります。特に、レジストリの更新が即座に反映されず、再起動後に有効になるケースもあるため、設定変更直後に接続テストが失敗する場合は、OSまたはサービスの再起動を試してみるとよいでしょう。
RDPサービスが新しいポートで待ち受けているか確認
次のステップは、Bのマシンが本当に3390番ポートでRDPを受け付けているかを確認することです。コマンドプロンプト、あるいはPowerShellなどからnetstat
コマンドを利用して待ち受け状態を調べられます。
netstat -ano | findstr :3390
このコマンドを実行すると、3390番ポートでLISTENしているプロセスが表示されるはずです。表示されない場合は、RDPがまだ3389番ポートでしか待ち受けていないか、あるいはRDPサービスが何らかの理由で開始していない可能性があります。
- LISTENしていない → レジストリ未設定または設定反映されていない、サービス起動ミス
- 別のPIDが3390番ポートを使用している → 他アプリとの競合の可能性
もし競合が疑われる場合は、Task Manager
(タスクマネージャー)やGet-Process
コマンドを使い、どのプロセスが3390を掴んでいるかをチェックするとよいでしょう。
AからBへ疎通テストを行う
Bのマシンが3390で待ち受けていることを確認したら、次はA側からそのポートに対して通信ができるかをチェックします。もっともシンプルな方法の一つがTelnetコマンドです。ただし、Windows 10や11では標準でTelnetクライアント機能が有効になっていないことが多いので、必要に応じて有効化してください。
telnet 192.168.xxx.xxx 3390
上記コマンドを実行して、真っ黒のウィンドウが立ち上がって何も返さずに接続し続けるようであれば、TCP的には3390番ポートと通信が成立している可能性が高いです。逆に、すぐにエラーが返ってきて接続が切れる場合は、ネットワークルーティングやファイアウォール設定、あるいはポートフォワーディングの問題が疑われます。
Telnetの他にも、Test-NetConnection
コマンド(Windows PowerShell 5.0以降)を使うことで、特定ポートへの疎通テストを行うこともできます。
Test-NetConnection -ComputerName 192.168.xxx.xxx -Port 3390
これにより、該当ホストとポートへの接続が成功するかどうかがわかります。
Windowsファイアウォールの設定を徹底的にチェック
ファイアウォールの受信ルールは、RDP接続を許可するために不可欠です。通常、既定では3389番ポート用に「Remote Desktop – User Mode (TCP-In)」や「リモートデスクトップ」という名前のルールが有効化されていますが、ポート番号を変更した場合は以下の確認・追加が必要です。
受信規則の設定確認
- 「Windows Defender ファイアウォールとセキュリティ」画面を開く
- 「受信の規則」を選択し、リモートデスクトップ関連の規則をダブルクリック
- プロトコルやポートが「TCPの3390」に対応しているか確認
場合によっては、新たに“TCP 3390”向けの受信規則を自作するほうが早いこともあります。余計な競合を避け、確実に3390番ポートを通せる設定にしておきましょう。
グループポリシーやサードパーティ製セキュリティソフトの影響
ドメイン参加PCなどの場合、グループポリシーによってファイアウォールの設定が上書きされるケースもあります。また、ウイルス対策ソフトやサードパーティのセキュリティソフトが独自にポート制限をかけている可能性もあるため、一時的にリアルタイム保護をオフにして接続ができるか試す方法も考慮するとよいでしょう。
リモートデスクトップ接続先の指定方法をチェック
リモートデスクトップ接続のクライアントで、接続先を指定する際に間違った書式を使うと接続エラーにつながります。通常、ポート番号を省略すると自動的に3389が使われます。もしポートを3390に変えているのであれば、
IPアドレス:3390
あるいは
ホスト名:3390
のように、末尾にコロン(:)で区切ってポート番号を書く必要があります。これを失念してただ「ホスト名」や「IPアドレス」だけを入力すると、別のポートに接続しに行ってしまい、結果として失敗する原因となります。
接続時のアカウント情報も改めて要確認
RDP接続には「ユーザー名」と「パスワード」を入力しますが、意外と見落としがちなのがドメイン指定などの形式です。
- 例:ローカルアカウントの場合
PC名\ユーザー名
- 例:Microsoftアカウントの場合
user@example.com
ポート変更と同時にWindowsアカウントの設定を変更した場合、ユーザー情報で躓く可能性もあるため要注意です。
ネットワーク環境を把握してポートフォワーディングを正しく設定する
自宅やオフィスのネットワークで、ルーター配下に複数PCがある場合は、NAT(ネットワークアドレス変換)やポートフォワーディングの設定が絡んできます。外部からBへのリモートデスクトップに接続する場合は、ルーターに「外部ポート 3390 → BのIPアドレス:3390」という転送ルールを追加しなければいけません。
ルーター側の設定例
設定項目 | 設定値 |
---|---|
ポートフォワード(WAN→LAN) | 有効化 |
プロトコル | TCP |
外部ポート番号 | 3390 |
内部IPアドレス | 192.168.xxx.BBB |
内部ポート番号 | 3390 |
上記のように設定することで、インターネット側からルーターのグローバルIPへ3390でアクセスが来たらBに転送されるようになります。ただし、これに加えてWindowsファイアウォールでの許可やBのRDP設定が正しく行われていないと接続は成功しません。
ローカルネットワーク内での接続確認も重要
外部からの接続がうまくいかない場合、まずは同じLAN内、つまりルーターをまたがない状態(AとBが同一サブネット)でRDP接続が成立するか試すとよいでしょう。ローカル内で問題なく接続できるなら、ルーターやISP側の設定に問題がある可能性が高いです。
DHCPでIPアドレスが変わっていないかを確認
BのマシンがDHCP割り当て(動的IP)で運用されている場合、再起動や時間経過によってIPアドレスが変わってしまうことがあります。せっかくポート番号を3390に設定しても、ポートフォワード先に指定しているIPとBの現在のIPが異なれば、当然ながら接続できません。
以下の点をチェックしましょう。
- BのマシンのローカルIPは固定設定か、DHCPリース予約をしているか
- ルーター側のポートフォワード先のIPが最新のBのIPと一致しているか
- AからBのIPアドレスにpingは通るか
DHCPを使っている場合は、ルーターの「DHCP予約」機能を使ってBのMACアドレスとIPアドレスを固定で紐づけるのがおすすめです。
ポート競合やセキュリティ対策ソフトを再確認
RDP以外のサービスやアプリケーションが3390番ポートを使用していると、正しくリモートデスクトップが起動できません。特に、他のリモートツールやVPNツールを導入している環境では、稀にポート競合が起こることがあります。
ポートスキャンを使った競合診断
ネットワーク診断ツール(例えばNmapなど)を使用してBのPCに対してポートスキャンを行うことで、3390がどんな状態かを外部から確認できます。netstat
だけではわからないケースもあるため、複数の観点からポートの状態を調べてみましょう。
OSのバージョンとエディション、RDP機能の制限
リモートデスクトップは、Windowsのエディションやバージョンによって使用可否や機能差が存在します。以下の点にも注意するとよいでしょう。
- Windows Homeエディションでは受信側RDPが公式にはサポートされていない(ただし非公式に有効化する方法も存在)
- Windows Pro/Enterprise/ServerなどはRDPサーバー機能を標準サポート
- 大規模アップデートやセキュリティパッチ適用後に設定がリセットされる場合がある
もしBのWindowsエディションがHomeの場合は、レジストリを編集してRDPを有効化していても、OSアップデートで無効化される可能性も否定できません。
グループポリシーエディタでRDP関連ポリシーを確認
Professional以上のエディションであれば「gpedit.msc」を使い、RDP接続を無効にするポリシーが適用されていないかも確認しておきます。企業ドメイン参加マシンではドメイン管理者が設定している場合もあるため、必要に応じてIT部門に問い合わせが必要です。
その他のヒントとまとめ
もしこれまで紹介した手順を試しても上手くいかない場合、以下のような点も改めてチェックしてみましょう。
- クライアント側のRDPバージョン:古いクライアントから最新WindowsにRDP接続する場合、互換性の問題が起こることがある
- アカウント権限:Bでのリモートデスクトップ接続が許可されているアカウントなのか、グループメンバーシップ(Remote Desktop Usersグループ)を確認
- 複数のネットワークアダプタやVPN接続の影響:Bがマルチホーム状態(複数IPアドレスを持つ)だと接続トラブルが増える
- イベントビューアでエラーログ確認:Windowsログの「システム」や「アプリケーション」にRDP関連のエラーが残っていないか
- セキュリティの暗号化レベル設定:RDP-Tcpプロパティで暗号化レベルが変則的になっている場合、接続失敗の要因になることも
最終的には、標準ポート3389で正常につながるか確認し、そこから少しずつ設定を変更して手順を踏むのが確実です。ポートを変更するなら、一度に複数の設定を変えず、レジストリ変更→ファイアウォール設定→ポートフォワード→接続テストという具合に、一つずつ検証しながら進めるとトラブルを最小限にできます。
総括
- レジストリのPortNumberが正しく3390に設定されていること
- RDPサービスが3390番ポートでLISTENしていること
- ファイアウォールで3390番ポートのTCP通信が許可されていること
- ルーターのポートフォワードが外部3390→Bの3390に正しく設定されていること
- RDPクライアントで「IPアドレス:3390」と正しく指定していること
これらを一つずつ確認すれば、基本的にはリモートデスクトップ接続が成功するはずです。設定が複雑になるほど小さな見落としが生じやすいので、落ち着いて一歩ずつチェックしてください。
コメント