首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在KVM主机上使用iptables设置nat时,无法路由到设置为在主机启动时自动启动的VM

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

Stack Overflow用户
提问于 2019-12-19 15:10:39
回答 1查看 185关注 0票数 0

问题:

主机和使用CentOS 6.10构建的虚拟机。外部机器⇔VM使用主机iptables的nat功能进行路由。作为一个问题,iptables在重启主机或打开电源后已经启动(“service iptables status"),但我们无法路由到已自动启动的VM。在此现象之后,重启iptables (“服务iptables重启”)将通过所有路由。

iptables和VM都在运行,并且iptables设置与预期一致。

我不知道为什么不能路由到VM。如果你能告诉我问题出在哪里,我将不胜感激。

-AutostartSetting/StopSetting

代码语言:javascript
复制
# vi /etc/sysconfig/libvirt-guests
START_DELAY=30
ON_SHUTDOWN=shutdown
SHUTDOWN_TIMEOUT=180

# virsh autostart <VM NAME>

-操作系统

代码语言:javascript
复制
cat /etc/redhat-release
CentOS release 6.10 (Final)

-kvm

代码语言:javascript
复制
qemu-kvm-0.12.1.2-2.506.el6_10.5.x86_64

其他信息:

代码语言:javascript
复制
---------------
#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.network 3.qemu-ga 4.libvirtd 5.libvirt-guest

libvirt依赖于网络,而网络依赖于iptables,chkconfig的顺序无法更改。在这种情况下,我应该让iptables重启脚本在chkconfig的末尾运行,还是让anacron重启iptables?或者,你有没有其他的方法来相信它?

EN

回答 1

Stack Overflow用户

发布于 2019-12-19 17:24:05

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59404813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档