我们有一小块静态 IP(例如 203.0.113.0/29)。我们目前仅使用203.0.113.2用于邮件服务器。
我们想添加一些其他公共服务器,如果可能的话,希望将它们作为 KVM 主机下的虚拟机,而 KVM 主机本身将有一个公共 IP203.0.113.1此外,KVM 主机还必须充当我们希望运行的多个 Windows VM(具有私有 IP)的互联网网关和 DHCP 服务器。
以下是我所期望的图表:
我以前从未设置过 KVM。我读过很多关于 KVM 网络的文章,包括桥接、DHCP 等,但我不知道这种组合是否可行,或者我该如何去做?
- 在 KVM 主机上运行的 DHCP 服务器
- ...它为通过 DHCP 设置为接收 IP 的任何虚拟机提供私有 IP 和互联网网关访问
- ...但也支持配置了公共静态 IP 的主机
我该如何设置 KVM 主机才能使其工作?感谢所有能提供帮助的人。
答案1
也许我误解了您的要求。如果虚拟机是 KVM 主机后面唯一的生物,那么当然只需要一个网卡。安装 libvirt 时会包含 virsh(基于 cli 的管理客户端)以及其他 virt-xxx 工具。因此,您可以使用这些工具通过 SSH 管理所有内容,或远程连接 virt-manager。我认为您的设置一点也不奇怪。标准“操作方法”将适用。Windows VM 将有一个连接到默认 NAT 的网卡,因此它们可以相互通信并与 KVM 主机通信。其他 VM 将连接到 br0 接口。因此,面向互联网的网卡将连接到 br0,外部 IP 地址在此配置。如何完成此操作取决于您的发行版,但有适用于 Ubuntu、Centos 等的指南。查看https://www.thegeekstuff.com/2014/10/linux-kvm-create-guest-vm 或者https://www.server-world.info/en/note?os=CentOS_7&p=kvm对于 centos 或 Ubuntu:https://www.server-world.info/en/note?os=Ubuntu_18.04&p=kvm&f=1
答案2
我会考虑在 KVM 下的虚拟机中运行 DHCP,只是为了降低从互联网到 KVM 主机的攻击向量。如果防火墙不提供除 KVM 之外的任何其他服务,则配置防火墙要容易得多。当然,您需要在主机上安装两个 NIC。您没有说明为什么需要使用 203.0.113.1 将 KVM 主机暴露给互联网,但我会确保将 iptables/firewalld 配置为丢弃该 IP 上的任何内容。具有公共 IP 的其他服务器也必须使用自己的防火墙守护程序。