我在本機電腦和另一台無頭伺服器上使用相同的 ova 映像,該伺服器在某些 vsphere esxi 伺服器上虛擬化。
在本機上執行 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
顧名思義,僅主機網路就是僅主機。這意味著它在主機上可用,但在其他地方不可用。所以你有兩個選擇:
- 使用橋接適配器而不是僅主機適配器。橋接適配器可從外部世界獲得。
- 在之間建立一個橋樑(在 Linux 上使用
bridge-utils
)
我會使用橋接適配器。
- 編輯 -
橋接適配器就像將 OVA 放在網路上一樣。如果您的網路使用 dhcp,您應該在 dhcp 伺服器的日誌中看到它。或者,您可能可以用來nmap
查找地址。
或者,使用第二個適配器作為橋接適配器,透過 ssh 進入主機並嘗試確定伺服器偵聽的連接埠netstat -an