18.3. 网络地址转换模式
默认情况下,虚拟网络交换机在 NAT 模式下操作。它们使用 IP 伪装而不是 SNAT(Source-NAT)或 DNAT(Destination-NAT)。IP 伪装可让连接的虚拟机使用主机物理机器 IP 地址与任何外部网络通信。默认情况下,当虚拟网络交换机以 NAT 模式运行时,将外部放在主机物理机器的计算机不能与客户机通信,如下图所示:
图 18.3. 使用带两个客户机的 NAT 的虚拟网络交换机
警告
虚拟网络交换机使用 iptables 规则配置的 NAT。不建议在交换机运行时编辑这些规则,因为不正确的规则可能会导致交换机无法进行通信。
如果交换机没有运行,您可以为转发模式 NAT 设置 th 公共 IP 范围,以便通过运行以下命令创建端口伪装范围:
# iptables -j SNAT --to-source [start]-[end]
18.3.1. DNS 和 DHCP
IP 信息可以通过 DHCP 分配给客户机。为此,可以为虚拟网络交换机分配地址池。libvirt 使用 dnsmasq 程序来执行此操作。libvirt 自动配置并启动 dnsmasq 实例,用于需要它的每个虚拟网络交换机。
图 18.4. 运行 dnsmasq 的虚拟网络交换机