更新:

更新:

我有一台 KVM 服务器和两台虚拟机。我有一个主 IP 和两个额外的“单个”IP(不是子网)。我不想在我的 KVM 上拥有带有私有地址的本地网络,但我想将提供商(我购买的)的公共 IP 分配给虚拟机,并且我想在 KVM 主机上管理这些 IP 的路由,而不是在提供商端(因此,不仅仅是从提供商桥接,还可能从我的主机桥接至虚拟机)

我在网上找到的所有教程都有点令人困惑,因为它们都是以不同的方式解决同一个问题(但对我来说仍然不起作用)。

更新:

这会有用吗?

auto  eth0
iface eth0 inet manual

auto vmbr0
iface vmbr0 inet static
  address 176.x.y.133 (not 192.168.1.1)
  netmask 255.255.255.224 (not 255.255.255.0)
  gateway 176.x.y.129 (Provider's GW IP)
  bridge_ports eth0
  bridge_stp off
  bridge_fd 0

答案1

您的设置实际上与公共 IP 没有任何关系 - 您的根本问题是您需要使用桥接网络而不是 NAT 或仅主机桥接。

将类似下面的内容放入/etc/network/interfaces

iface eth0 inet manual
iface br0 inet static
    bridge_ports eth0
    bridge_stp no
    bridge_fd 0
    bridge_maxwait 0
    address 192.168.1.2
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 192.168.1.2 8.8.8.8 8.8.4.4
    dns-search example.com

当然,要针对您的特定设置进行重新配置。

然后配置您的虚拟机以进行桥接br0,它的行为就像直接连接到进入的电缆一样eth0

即您的客户虚拟机将如下所示:

<interface type='bridge'>
  <mac address='52:54:de:ad:be:ef'/>
  <source bridge='br0'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

相关内容