透過靜態IP(NAT?)存取VM

透過靜態IP(NAT?)存取VM

機器62:Ubuntu 16.04,可以上網,可以透過網路存取。在 62 機器上,有一個帶有 VM 的 VirtualBox(也是 Ubuntu)。

我希望虛擬機器表現得像「正常」機器(ip 請求)。我為其保留了一個靜態 IP,但現在我不確定如何配置主機和來賓的接口,就像我通常 ping 主機一樣(通過保留的 IP 代替)共 62 個...)。

ReverseProxy 工作了一段時間,但後來我需要透過我事先不知道的連接埠進行 websocket。那麼現在我的下一個猜測是NAT? IP轉送?橋接網路?偽裝?

答案1

您必須在主機和虛擬機器之間建立橋接網路。配置因虛擬機器管理程式供應商而異。

如果您使用的是 Oracle Virtual Box

  1. 打開Oracle VM VirtualBox Manager,選擇虛擬機器並前往網路部分。
  2. Adopter 1標籤中,將預設值變更NAT為並從下拉清單Bridged Adopter中選擇主機的網路介面卡。Name應用它。
  3. 現在根據您的 ISP 配置(例如靜態動態等)在 VirtualBox 內配置網路。

如果您正在使用QEMU-KVM

  1. 開啟Virtual Machine ManagerGUI 工具(如果您使用的是 GUI)
  2. 選擇特定的虛擬機器及其Open。然後選擇NIC
  3. 變更預設值NATHost Device xxxxxx: macvtap然後根據 ISP 的配置在虛擬機器內配置網路。
  4. 如果您沒有 GUI 工具,請virsh edit virtual-machine-name按照前面所述使用和修改配置。

第三種替代方法是iptable NAT在主機中建立規則。然後將所有流向該 IP(您要指派給 VM)的流量轉送到 VM 的內部 IP 位址。你得寫幾iptables行,請谷歌一下。但對我來說,這是最不受歡迎的方法。

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

筆記2如果macvtap您的主機無法從虛擬機器訪問,反之亦然。它們都可以從外部網路存取。此外,如果您有多個虛擬機,它們將保持相互可及。這就是有效的方法macvtap。若要從主機存取虛擬機器(反之亦然),請在 Oracle VirtualBox 的情況下再建立一個 NAT 採用器,並在 QEMU-KVM 的情況下再建立一個具有 NAT 的 NIC。

註3對於這兩者Bridged Networkmacvtap主機的網路採用者必須為每個虛擬機器保留一個 IP 位址,正如問題已經提到的那樣。

相關內容