ローカル マシンと、vSphere ESXi サーバーで仮想化された別のヘッドレス サーバーの両方で同じ ova イメージを使用しています。ローカル マシン
で VM を実行すると、NAT (localhost:2222) 経由とホストオンリー ネットワーク (192.168.56.111:22) 経由でゲストの SSH サーバーにアクセスできます。
ヘッドレス サーバーでゲストを実行すると、ホストオンリー ネットワークを使用してマシンに ping できません。NAT を使用しようとすると、ヘッドレス サーバーでポート 2222 が開いていますが、何も返されないため、ssh 接続がタイムアウトします。
vboxmanage showvminfo は、ゲストのネットワーク設定について次の情報を表示します (ローカル マシンとヘッドレス サーバーで同じ出力)。
NIC 1: MAC: 080027788420, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
NIC 1 Settings: MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
NIC 1 Rule(0): name = Rule 1, protocol = tcp, host ip = , host port = 2222, guest ip = , guest port = 22
NIC 2: MAC: 080027FBC41B, Attachment: Host-only Interface 'vboxnet0', Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
vboxmanage list hostonlyifs を実行すると、ローカル マシンとヘッドレス サーバーで同じ値が表示されます。
Name: vboxnet0
GUID: 786f6276-656e-4074-8000-0a0027000000
DHCP: Disabled
IPAddress: 192.168.56.1
NetworkMask: 255.255.255.0
IPV6Address: fe80::800:27ff:fe00:0
IPV6NetworkMaskPrefixLength: 64
HardwareAddress: 0a:00:27:00:00:00
MediumType: Ethernet
Wireless: No
Status: Up
VBoxNetworkName: HostInterfaceNetworking-vboxnet0
vboxmanage list natnets を実行すると、ローカル マシンとヘッドレス サーバーで同じ値が表示されます。
NetworkName: NatNetwork
IP: 10.0.2.1
Network: 10.0.2.0/24
IPv6 Enabled: No
IPv6 Prefix: fd17:625c:f037:2::/64
DHCP Enabled: Yes
Enabled: Yes
loopback mappings (ipv4)
127.0.0.1=2
ローカル マシンとヘッドレス サーバーの ifconfig では、同じ値を持つ vboxnet0 インターフェイスが表示されます。
ヘッドレス サーバー上のゲストの SSH サーバーにアクセスできない理由がわかりません。ご協力いただければ幸いです。
答え1
一般的に、VirtualBox の NAT は送信セッションにのみ使用します。受信セッションは問題があります。ただし、次のようにポート転送ルールを作成できます。
VBoxManage setextradata VMNameHere "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata VMNameHere "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22
VBoxManage setextradata VMNameHere "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222
ホストオンリー ネットワークは、その名の通り、ホスト専用です。つまり、ホスト上では使用できますが、他の場所では使用できません。そのため、次の 2 つのオプションがあります。
- ホスト専用アダプタの代わりにブリッジアダプタを使用します。ブリッジアダプタは外部から利用できます。
- ブリッジを作成する(Linuxの場合
bridge-utils
)
ブリッジアダプタを使用します。
- 編集 -
ブリッジ アダプタは、OVA をネットワーク上に配置するのと同じです。ネットワークが DHCP を使用している場合は、DHCP サーバーのログに表示されるはずです。または、 を使用してnmap
アドレスを見つけることもできます。
あるいは、2番目のアダプタをブリッジアダプタとして使用し、ホストにSSH接続して、サーバーがどのポートをリッスンしているかを判断します。netstat -an