rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

VMware Workstation 17 Player : NATネットワークアダプタでのLAN内リモートデバイスからゲストOSへのSSH接続

2024 Jan. 21.
2023 Aug. 12.
2023 Jul. 07.
2023 Jul. 06.

概要

SSHクライアント : LAN内のリモートデバイス
SSHサーバー : ゲストOS
LAN内の別デバイスからホストOSに入ってきたSSHパケットをゲストOSに転送する。
VMware WorkstationのネットワークアダプタはNAT機構を有するVMnet8を利用する。
ホストOSの、VMwareインストール前から存在するネットワークアダプタに入ってきたSSHパケットをVMwareのVMnet8ネットワークアダプタに転送する。
転送設定はVMware Workstationの設定ファイルに書き込む。
ホストOSとゲストOSの当該SSHポートを開放する。

環境

VMware Workstation 17 Player
ホストOS : Windows 11 Home Edition
ゲストOS : Xubuntu 22.04
LAN : 192.168.1.0/24
ゲストOSのSSHポート : 49202(ホストOSのSSHポートとは異なる任意のプライベートポート)

ホストOSのネットワーク構成

Wireless LAN adapter Wi-FiVMwareインストール前からのネットワーク)
   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 192.168.1.150(LAN内の任意の固定アドレス)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.1.1


Ethernet adapter VMware Network Adapter VMnet1(VMwareインストールにより設置されるもの)
   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 192.168.193.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :


Ethernet adapter VMware Network Adapter VMnet8(VMwareインストールにより設置されるNAT機能を有するアダプタ)
   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 192.168.85.1(85はVMwareインストール毎に異なる)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :


ゲストOSのネットワーク構成

次の記事を参考にしてVMnet8ネットワークアダプタ固定IPアドレスにする。
VMware Workstation 17 Player : ネットワーク構成 - rokkonet

ゲストOSの固定IPアドレス設定状況

ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    altname enp2s1
    inet 192.168.85.15/24 brd 192.168.85.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever


SSH設定手順

鍵の作成と設定

参考 : OpenSSH SSHサーバー、SSHクライアント インストール、鍵生成・配置 - rokkonet

ゲストOS上でSSHキーペア(公開鍵と秘密鍵)を作成する。
公開鍵をゲストOSの ${HOME}/.ssh/authorized_keysに追記する。
クライアントとなるLAN内の別デバイスの${HOME}/.ssh/等の適当なディレクトリに秘密鍵を転送する。

ホストOSが受信したSSHパケットをゲストOSに転送するポートフォワード設定

(出典 : 【2021 最新版】VMwareのサーバーをホストネットワークに公開する方法(意外と簡単) - トウフ.log

"C:\ProgramData\VMware\vmnetnat.conf"を編集する。

[incomingtcp]セクションに転送設定を記述する。

[incomingtcp]
# SSH
#      ssh -p 8889 root@localhost
# ホストに入ってきたパケットのポート番号 = VMのアドレス:VMのポート番号
#8889 = 192.168.27.128:22
49202 = 192.168.85.15:49202
services.mscを起動し、"VMware NAT Service"を再起動する。


ポート開放設定
WindowsホストOSのポート開放

設定 -> プライバシーとセキュリティ -> Windosw セキュリティ -> ファイアウォールとネットワーク保護 -> 詳細設定 -> 受信の規則 -> 新しい規則
規則の種類 : ポート
規則の適用 : TCP
特定のローカルポート : 49202
「接続を許可する」を有効にする。
ドメイン・プライベート・パブリック(LAN外からの接続も考慮)の全てを有効にする。

XubuntuゲストOSのポート開放
# ufw enable
# ufw allow from any to any port 49202 proto tcp
# ufw reload


SSH接続
$ ssh -i SecretKeyFile -p 49202 USER@192.168.1.150