问题:
使用CentOS 6.10构建的主机和VM。 通过使用Host iptables的nat函数来路由ExternalMachine⇔VM。 问题是,重新启动主机或打开电源后,iptables已启动(“ service iptables status”), 但是我们无法路由到已自动启动的VM。 发生这种情况后,重新启动iptables(“ service iptables restart”)将通过所有路由。
iptables和VM都在运行,并且iptables设置符合预期。
我不知道为什么无法路由到VM。 如果您能教我什么问题,我将不胜感激。
--------- AutostartSetting / StopSetting ------------
# vi /etc/sysconfig/libvirt-guests
START_DELAY=30
ON_SHUTDOWN=shutdown
SHUTDOWN_TIMEOUT=180
# virsh autostart <VM NAME>
----- OS -------
cat /etc/redhat-release
CentOS release 6.10 (Final)
---- kvm ----
qemu-kvm-0.12.1.2-2.506.el6_10.5.x86_64
其他信息:
---------------
#virsh net-edit default
<network>
<name>default</name>
<uuid>1d4f2476-0da2-45d5-b97f-xxxxxxxxxxx</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='off' delay='0' />
<mac address='XX:XX:XX:XX:XX:XX'/>
<ip address='1.2.3.4' netmask='255.255.255.0'>
</ip>
</network>
-----------------
确认后,主机守护程序的启动顺序如下。
1.iptables 2.网络 3.qemu-ga 4. libvirtd 5.libvirt-guest
libvirt取决于网络,而网络取决于iptables chkconfig的顺序无法更改。 在这种情况下,应该在chkconfig的末尾运行iptables重新启动脚本,还是让anacron重新启动iptables?还是您还有其他存档方法?
答案 0 :(得分:0)
libvirt / qemu网络如何配置?如果是Tap网络连接(或macvtap,与此相同),则仅在VM暂停或运行时才存在实际的Tap设备(来自ip addr
输出)。 iptables规则使用接口,因此,如果在重新启动iptables时该接口不存在,则在创建虚拟机时需要重新添加规则。简单的iptables重新启动也可以。