第 8 章 网络配置
本章提供基于 libvirt 应用程序使用的通用联网配置说明。这个信息对所有管理程序,无论是 Xen、KVM 还是其它都适用。有关详情请参考 libvirt 网络构架文档。
The two common setups are “virtual network” or “shared physical device”. The former is identical across all distributions and available out-of-the-box. The latter needs distribution specific manual configuration.
8.1. libvirt 的网络地址转换(NAT)
共享网络连接最常用的方法之一就是使用网络地址转换(NAT)转发(也就是我们说的虚拟网络)。
主机配置
每个标准 libvirt
安装都提供即时到虚拟机的基于 NAT 的连接性,这也被称为“默认虚拟网络”。使用 virsh net-list --all
命令验证其可用性。
# virsh net-list --all
Name State Autostart
-----------------------------------------
default active yes
如果缺少它,可重新载入并激活示例 XML 配置文件:
# virsh net-define /usr/share/libvirt/networks/default.xml
默认网络是在 /usr/share/libvirt/networks/default.xml
中定义的
将默认网络设定为自动启动:
# virsh net-autostart default
Network default marked as autostarted
启动默认网络:
# virsh net-start default
Network default started
libvirt
默认网络运行后,您将会看到独立的桥接设备。这个设备没有添加任何物理接口,因为它使用 NAT 和 IP 转发与外界连接,因此不要添加新接口。
# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
libvirt
可添加 iptables
规则,该规则允许所有进入和来自附加到 virbr0
设备的客户端流量,该设备可处于 INPUT
、FORWARD
、OUTPUT
和 POSTROUTING
链中。libvirt
随后试图启用 ip_forward
参数。其它一些程序可能会禁用 ip_forward
,因此最佳选择是在 /etc/sysctl.conf
中添加以下内容。
net.ipv4.ip_forward = 1
客户端配置
完成主机配置后,就可将客户端根据其名称连接到虚拟网络中。要将某个客户端连接到“默认”虚拟网络中,请在该客户端中使用以下 XML:
<interface type='network'>
<source network='default'/>
</interface>
Note
定义 MAC 地址是可选的。如果跳过则自动生成 MAC 地址。手动设置 MAC 地址在某些情况下非常有用。
<interface type='network'>
<source network='default'/>
<mac address='00:16:3e:1a:b3:4a'/>
</interface>