通過靜態 IP(NAT?)訪問 VM
機器62:Ubuntu 16.04,可以上網,可以上網。在 62 台機器上,有帶 VM 的 VirtualBox(也是 Ubuntu)。
我希望虛擬機表現得像一台“普通”機器(ip-requests)。我為它保留了一個靜態 IP,但現在我不確定如何配置主機和來賓的介面,以便我可以 ping 來賓機器,就像我通常 ping 主機一樣(通過保留的 IP 代替62…)。
ReverseProxy 工作了一段時間,但後來我需要通過我事先不知道的埠的 websockets。所以現在我的下一個猜測是 NAT?轉發?橋接網路?偽裝?
您必須在主機和虛擬機之間創建一個橋接網路。配置因 Hypervisor 供應商而異。
如果您使用的是 Oracle Virtual Box
- 打開
Oracle VM VirtualBox Manager
,選擇 VM 並轉到網路部分。- 在
Adopter 1
選項卡中將預設值更改NAT
為並從下拉列表中Bridged Adopter
選擇主機的網路採用者。Name
應用它。- 現在根據您的 ISP 的配置(如靜態動態等)在 VirtualBox 中配置網路。
如果你正在使用
QEMU-KVM
- 打開
Virtual Machine Manager
GUI 工具(如果您使用的是 GUI)- 選擇特定的虛擬機和
Open
它。然後選擇NIC
- Chnage 預設應用,然後
NAT
根據Host Device xxxxxx: macvtap
ISP 的配置在虛擬機內配置網路。- 如果您沒有 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 Network
,macvtap
主機的網路採用者必須為每個 VM 保留一個 IP 地址,正如已經提到的問題。