17.14.5. 自动 IP 地址检测和 DHCP 侦听
本节提供有关自动 IP 地址检测和 DHCP 侦听的信息。
17.14.5.1. 简介
如果引用变量 IP 但不为其分配值,则虚拟机接口中使用的 IP 地址检测会被自动激活。变量
CTRL_IP_LEARNING
可用于指定要使用的 IP 地址学习方法。有效值包括: 任何 、 dhcp 或 none。
值指示 libvirt 使用任何数据包来确定虚拟机使用的地址,这是未设置变量
CTRL_IP_LEARNING
的默认设置。这个方法将仅检测每个接口的单个 IP 地址。检测到客户机虚拟机的 IP 地址后,其 IP 网络流量将被锁定至该地址(例如,其过滤器会阻止 IP 地址 spoofing)。在这种情况下,虚拟机的用户将无法更改客户机虚拟机中的接口的 IP 地址,这将被视为 IP 地址 spoofing。将客户机虚拟机迁移到另一台主机物理计算机或在暂停操作后恢复时,客户机虚拟机发送的第一个数据包将再次确定 guest 虚拟机在特定接口上可以使用的 IP 地址。
dhcp 的值指示 libvirt 仅遵守具有有效租期的 DHCP 服务器分配地址。此方法支持每个接口检测和使用多个 IP 地址。当客户机虚拟机在暂停操作后恢复时,任何有效的 IP 地址租期都将应用到其过滤器。否则,客户端虚拟机将使用 DHCP 来获取新的 IP 地址。当客户机虚拟机迁移到另一物理主机物理机时,需要客户机虚拟机来重新运行 DHCP 协议。
如果 CTRL_IP_LEARNING 设置为 none,则 libvirt 不会学习 IP 地址并引用 IP,而不为其分配显式值是一个错误。