如何从 /29 子网为 KVM 虚拟机分配公有 IP

如何从 /29 子网为 KVM 虚拟机分配公有 IP

我有一台运行 Ubuntu 的专用服务器,并且分配了 IPv4 XX.30.240.90/29。我创建了一个运行 Ubuntu 的 KVM 虚拟机virt-manager,它通过 NAT 连接到互联网。

这是主机中当前的网络配置:

~$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
        address XX.30.240.90
        netmask 255.255.255.248
        gateway XX.30.240.89

我想将剩余的空闲 IP(即 XX.30.240.91、XX.30.240.92 等)分配给虚拟机。我知道网上有很多教程,但我对这个子网有点困惑。需要大家的帮助

答案1

使用桥接器可以工作,但使用 macvtab 和 eth0 更简单。在 virt-manager 中配置简单,转到 NIC 配置并更改源。然后在客户机中设置静态 ip。

答案2

您需要将 eth0 放在与虚拟机接口相同的网桥中。

示例图像

Host1、Host2、VM1、VM2、VM3 位于同一 L2 网络上,无需路由即可通信。加入 Host1 的 IP 地址是网桥的 IP 地址(eth0 不再有 IP)

以下是一些信息:来自 ubuntu 维基

答案3

这就是我配置虚拟机的方式。无论您使用的是 KVM 还是 Bhyve-vm,在设置时都会创建交换机或桥接接口。

为该交换机/网桥指定一个 IP,如:ifconfig vm-public inet 172.30.1.0/16(vm-public 是交换机名称)。

之后登录这些虚拟机并在 中配置 ip /etc/network/interfaces

最后配置一个 PF 规则(或者您使用的任何防火墙),如下所示: nat on igb0 inet from 172.30.0.0/16 -> (igb0)

这样,该子网中的所有虚拟机都将通过主机实现互联网连接。

相关内容