通过静态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 地址,正如问题已经提到的那样。

相关内容