Virtualbox

通過靜態 IP(NAT?)訪問 VM

  • November 26, 2017

機器62:Ubuntu 16.04,可以上網,可以上網。在 62 台機器上,有帶 VM 的 VirtualBox(也是 Ubuntu)。

我希望虛擬機表現得像一台“普通”機器(ip-requests)。我為它保留了一個靜態 IP,但現在我不確定如何配置主機和來賓的介面,以便我可以 ping 來賓機器,就像我通常 ping 主機一樣(通過保留的 IP 代替62…)。

ReverseProxy 工作了一段時間,但後來我需要通過我事先不知道的埠的 websockets。所以現在我的下一個猜測是 NAT?轉發?橋接網路?偽裝?

您必須在主機和虛擬機之間創建一個橋接網路。配置因 Hypervisor 供應商而異。

如果您使用的是 Oracle Virtual Box

  1. 打開Oracle VM VirtualBox Manager,選擇 VM 並轉到網路部分。
  2. Adopter 1選項卡中將預設值更改NAT為並從下拉列表中Bridged Adopter選擇主機的網路採用者。Name應用它。
  3. 現在根據您的 ISP 的配置(如靜態動態等)在 VirtualBox 中配置網路。

如果你正在使用QEMU-KVM

  1. 打開Virtual Machine ManagerGUI 工具(如果您使用的是 GUI)
  2. 選擇特定的虛擬機和Open它。然後選擇NIC
  3. Chnage 預設應用,然後NAT根據Host Device xxxxxx: macvtapISP 的配置在虛擬機內配置網路。
  4. 如果您沒有 GUI 工具virsh edit virtual-machine-name,請按照前面所述使用和修改配置。

第三種替代方法是iptable NAT在主機中創建規則。然後將所有流向該 IP(您要分配給 VM)的流量轉發到 VM 的內部 IP 地址。你必須寫幾iptables行,請Google。但對我來說,這是最不受歡迎的方法。

NOTE-1 Bridged Network並且macvtap不適WiFi用於主機中的大多數採用者。

NOTE-2如果macvtap您的主機無法從 VM 訪問,反之亦然。它們都可以從外部網路訪問。此外,如果您有多個虛擬機,它們將仍然可以相互訪問。這就是工作方式macvtap。要從主機訪問 VM,反之亦然,在 Oracle VirtualBox 的情況下再創建一個 NAT 採用者,在 QEMU-KVM 的情況下再創建一個帶 NAT 的 NIC。

NOTE-3對於這兩者Bridged Networkmacvtap主機的網路採用者必須為每個 VM 保留一個 IP 地址,正如已經提到的問題。

引用自:https://unix.stackexchange.com/questions/406547