Centos 当在KVM主机上使用iptables设置nat时,无法路由到设置为在主机启动时自动启动的VM
问题: 主机和虚拟机都是使用CentOS 6.10构建的。 外部机器⇔VM通过使用主机iptables的nat功能进行路由。 问题是,在重新启动主机或打开电源后,iptables已启动(“服务iptables状态”), 但我们不可能路由到自动启动的VM。 在此现象之后,重新启动iptables(“服务iptables restart”)将通过所有路由 iptables和VM都在运行,iptables设置与预期一致 我不知道为什么不可能路由到VM。 如果你能告诉我问题出在哪里,我将不胜感激 ---------自动开始设置/停止设置------------ ----kvm---- 其他信息:Centos 当在KVM主机上使用iptables设置nat时,无法路由到设置为在主机启动时自动启动的VM,centos,centos6,kvm,virsh,Centos,Centos6,Kvm,Virsh,问题: 主机和虚拟机都是使用CentOS 6.10构建的。 外部机器⇔VM通过使用主机iptables的nat功能进行路由。 问题是,在重新启动主机或打开电源后,iptables已启动(“服务iptables状态”), 但我们不可能路由到自动启动的VM。 在此现象之后,重新启动iptables(“服务iptables restart”)将通过所有路由 iptables和VM都在运行,iptables设置与预期一致 我不知道为什么不可能路由到VM。 如果你能告诉我问题出在哪里,我将不胜感激 ---
---------------
#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>
-----------------
---------------
#virsh网络编辑默认值
违约
1d4f2476-0da2-45d5-b97f-XXXXXXXXXX
-----------------
确认后,主机守护进程的启动顺序如下
1.iptables
2.网络
3.qemu-ga
4.libvirtd
5.libvirt-guest
libvirt依赖于网络,而网络依赖于iptables
无法更改chkconfig的顺序。
在这种情况下,我应该让iptables重启脚本在chkconfig的末尾运行,还是让anacron重启iptables?或者您有其他归档方法吗?libvirt/qemu网络是如何配置的?如果是tap网络(或macvtap,与此相同),则实际的tap设备(来自
ip addr
output)仅在VM暂停或运行时存在。iptables规则使用接口,因此,如果iptables(重新)启动时接口不存在,则需要在VM创建时重新添加规则。简单的iptables重启也可以。谢谢您的回复。我的网络配置为[附加信息]。你还需要其他信息吗?虚拟网桥(virbr0)正在创建内部专用网络。
cat /etc/redhat-release
CentOS release 6.10 (Final)
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>
-----------------