在 KVM 主机上使用 iptables 设置 nat 时,无法路由到设置为在主机启动时自动启动的虚拟机



>问题:

主机和虚拟机均使用 CentOS 6.10 构建。 外部机器⇔虚拟机是使用 Host iptables 的 nat 函数进行路由的。 作为一个问题,iptables 在重新启动主机或打开电源后已启动("服务 iptables 状态"(, 但我们无法路由到已自动启动的 VM。 在此现象之后,重新启动 iptables("服务 iptables 重新启动"(会传递所有路由。

iptables 和 VM 都在运行,iptables 设置符合预期。

我不知道为什么无法路由到 VM。 如果您能教我问题是什么,我将不胜感激。

---------自动启动设置/停止设置------------

# vi /etc/sysconfig/libvirt-guests
START_DELAY=30
ON_SHUTDOWN=shutdown
SHUTDOWN_TIMEOUT=180
# virsh autostart <VM NAME>

-----操作系统-------

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.IP表 2.网络 3.祁木嘎 4.libvirtd 5.自由访客

libvirt 依赖于网络,网络依赖于 iptables 无法更改 chkconfig 的顺序。 在这种情况下,我应该让 iptables 重新启动脚本在 chkconfig 结束时运行,还是让 anacron 重新启动 iptables?或者您还有其他方法可以存档它吗?

libvirt/qemu 网络是如何配置的?如果是分流网络(或 macvtap,与此相同(,则实际的分流设备(来自ip addr输出(仅在 VM 暂停或运行时存在。iptables 规则使用接口,因此,如果在 iptables(重新(启动时接口不存在,则需要在引用 VM 时重新添加规则。简单的iptables重新启动也可以。

相关内容

  • 没有找到相关文章

最新更新