You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行在独立network namespace的KVM QEMU虚拟机无法ping通默认namespace问题求助

运行在独立network namespace的KVM QEMU虚拟机无法ping通默认namespace问题求助

大家好,我碰到了一个网络连通性的问题:在独立network namespace中运行的KVM QEMU虚拟机,没办法ping通默认的network namespace。以下是我的完整配置流程和测试结果,想请大家帮忙看看我哪里理解有误?

我的配置步骤

# 创建测试用namespace
ip netns add test-ns

# 创建veth pair设备
ip link add if-in-ns type veth peer name if-notin-ns

# 配置默认namespace的veth端
ip link addr add 10.21.0.10/24 dev if-notin-ns
ip link set dev if-notin-ns up

# 配置test-ns namespace的veth端
ip link set dev if-in-ns netns test-ns
ip netns exec test-ns ip addr add 10.21.0.20/24 dev if-in-ns
ip netns exec test-ns ip link set dev if-in-ns up

# 在test-ns中创建tap设备并配置
ip netns exec test-ns ip tuntap add tap0 mode tap
ip netns exec test-ns ip addr add 10.0.2.2/24 dev tap0
ip netns exec test-ns ip link set dev tap0 up

# 在默认namespace添加到10.0.2.0/24网段的路由
ip route add 10.0.2.0/24 dev if-notin-ns

# 在test-ns中启动KVM虚拟机
ip netns exec test-ns qemu-system-x86_64 -drive file=img.qcow2,format=qcow2,media=disk -accel kvm -cpu host -m 2G -netdev tap,id=vm0,ifname=tap0,script=no,downscript=no -device virtio-net-pci,netdev=vm0,mac=52:54:77:6a:cc:02

连通性测试结果

默认namespace中

  • ping 10.21.0.20:能正常连通
  • ping 10.0.2.2:能正常连通
  • ping 10.0.2.3:无法连通(10.0.2.3为虚拟机内部IP)

test-ns namespace中

  • ping 10.21.0.10:能正常连通
  • ping 10.0.2.3:能正常连通

虚拟机内部

  • ping 10.0.2.2:能正常连通(tap0的IP)
  • ping 10.21.0.20:能正常连通(test-ns里veth设备的IP)
  • ping 10.21.0.10:无法连通(默认namespace里veth设备的IP)

我原本觉得,既然虚拟机能ping通test-ns里的if-in-ns,而if-in-ns又能ping通默认namespace里的if-notin-ns,那虚拟机应该也能ping通if-notin-ns才对,但实际却不行。想请教下我哪里的理解出问题了?


补充说明:针对之前的建议,我查看了test-ns里的路由表,原本就有到默认namespace的路由:

ip netns exec test-ns ip route
# 输出内容:
10.0.2.0/24 dev tap0 proto kernel scope link src 10.0.2.2
10.21.0.0/24 dev if-in-ns proto kernel scope link src 10.21.0.20

如果我删掉这条默认的10.21.0.0/24路由,换成建议的路由:

ip netns exec test-ns ip route del 10.21.0.0/24 dev if-in-ns
ip netns exec test-ns ip route add 10.21.0.0/24 dev tap0

那在虚拟机内部ping 10.21.0.10的时候,会得到这样的提示:

ping 10.21.0.10
From 10.0.2.2 icmp_seq=1 Redirect Host(New nexthop: 10.21.0.10)

备注:内容来源于stack exchange,提问作者jak kaj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 12:19:07