2023/2/10 追記:これ構築して1か月後、VirtualBoxが起動できなくなりました。。
ログ見たらskyseaがうんたら。。新しいIPは割り振ってないですが監視されてて怪しいと判断されアプリケーションの利用をブロックされたのかも?
社内で検証環境建てる場合は、ルール決めてる部門に聞かないとですね。。
やりたいこと
社内で検証用PC上にVirtualBoxでWindowsSever仮想マシン建てて、社内の別PCから自由にリモート接続したい!
環境と設定イメージ
実現方法
ブリッジ設定で仮想マシン建てると社内ネットワークにポっと怪しいPCが出現したみたいに見えるらしい
勝手にやったらネットワーク管理者見つかって怒られそう
じゃあ、NAT+ホストオンリーのポートフォワーディング設定が良さそうかな!
設定の構想
外部PCからRDP接続(宛先/ホストIP:3389)
▶▷▶︎▷ホストOSがゲストOSのIPにフォワーディング▷▶︎▷▶︎
ゲストOS接続
としたい
ただ、この方法だとホストOSがスルーされるので外部からホストOSにRDPしたくても、できない気がする
なので
ポートを変えて、下記3つのケース毎に設定を分けてみた。
接続ケース
宛先のIPは、ホストOSのWiFiアダプタのIPです。ipv6を無効にしたらホスト名(ホストOSのPC名)でも名前解決できました。
①外部PCからRDP(宛先/ホストIP:3389)▶ホストOS
②外部PCからRDP(宛先/ホストIP:重複しなさそうなポート)▶ホストOS経由▶ゲストOS
③ホストOSからRDP(宛先/ホストIP:3389)▶︎ゲストOS
※②のポートは以降53389で設定する。
※③はホストオンリーアダプタで通信できるので、NATの設定不要だが、今後のためにゲストOS側で既存のRDPポート3389で受診出来る設定は残しておく。
手順
1. VirtualBox>NAT設定>ポートフォワーディング設定
先程の接続ケース②用のルール追加
②外部▶ゲストOS用RDP接続
名前:Gaibu-guest_RDP_53389
TCP
ホストポート:53389
ゲストポート:53389
VirtualBox ゲストOSのWebサーバに外部から接続する
https://undersourcecode.hatenablog.com/entry/2013/08/11/212246
2. ゲストOSでRDPのレジストリコピー&ポートを3389以外のポートに変更
1つ目参考ではスクリプトを利用してますが、私は2つ目参考のレジストリエディタから手動で設定しました。
1.regedit起動
2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcpのキーを右クリックエクスポート
3.エクスポートしたファイルをテキストエディタで名前とポート番号を編集、保存
- 編集は、下記ワードを置換する
- RDP-Tcp→RDP-Tcp-53389
- 3389→53389
- 保存時は拡張子が.regになっていることを確認。
4.regeditでファイル>インポートで編集したファイルを指定
5.新しいレジストリが追加されていることを確認
WindowsサーバでRDPを複数ポートで受け付ける
https://qiita.com/malbare932/items/dd8c743306d8747384b0
【Windows 10】レジストリをバックアップ・復元する
https://soma-engineering.com/desktop/windows10/backup-restore-registry/2018/10/28/#st-toc-h-2
3. ゲストOSのファイアウォールで受信ルール作成
接続ケース②③用のルール追加
②外部▶ゲストOS用RDP
ポート53389許可
ネットワーク:ドメインのみ
※今回社内NW内のみのため
③ホストOS▶ゲストOS用RDP
ポート3389許可
ネットワーク:ドメインのみ
※既定で存在する設定なのでネットワーク設定をドメインのみに変えておく
【リモートワーク自由自在】Windowsリモートデスクトップ接続のポート番号を変更してよりセキュアにする
https://atmarkit.itmedia.co.jp/ait/articles/0309/27/news003.html
4.最後にゲストOS再起動
動作確認
接続ケースの①②が実装されているか動作確認
※③はホストオンリーアダプターにより既に接続出来ているので今回は確認無し。
①別PCからゲストOSにRDP接続
1.RDP起動
2.宛先:「ホストOSのIP:53389」or「ホストOSのPC名:53389」
ユーザー情報:ゲストOSのユーザー
3.入った先がゲストOSか確認
②別PCからホストOSにRDP接続
- RDP起動
- 宛先「ホストOSのIP」or「ホストOSのPC名」
ユーザー情報:ホストOSのユーザー - 入った先がホストOSか確認
今度はサービスのポートもフォワーディングさせて、ゲストOS上のサーバーと社内の他のサーバーを連携出来る用にしてみたい。
ここまで見てくれてありがとうございました!