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

Linux主机QEMU虚拟机手动NAT网络搭建后联网问题排查

虚拟机NAT联网问题排查方案

针对你手动搭建QEMU NAT网络时虚拟机无法访问互联网的问题,结合你的网络架构(命名空间+网桥+veth控制),按以下步骤排查:

1. 确认主机IP转发功能已启用

IP转发是NAT生效的前提,检查并启用:

# 查看当前状态
sysctl net.ipv4.ip_forward
# 临时启用(永久生效需将net.ipv4.ip_forward=1写入/etc/sysctl.conf)
sysctl -w net.ipv4.ip_forward=1

2. 检查命名空间nat-ns内的路由与接口配置

进入命名空间验证核心网络配置:

ip netns exec nat-ns bash
# 确认所有相关接口处于UP状态(nat-bridge、nat-wwwa、虚拟机TAP接口)
ip link show
# 确认nat-bridge的IP为10.8.20.2(虚拟机配置的网关),nat-wwwa有跨网段IP(如与主机侧nat-wwwb组成/30子网)
ip addr show
# 检查默认路由,必须指向nat-wwwa对应的主机侧IP(如10.8.200.1)
ip route show
exit

若缺少默认路由,执行以下命令添加:

ip netns exec nat-ns ip route add default via 10.8.200.1 dev nat-wwwa

3. 验证主机侧路由与veth接口状态

确保主机能正确转发虚拟机子网的流量:

# 确认nat-wwwb接口处于UP状态且IP配置正确
ip link show nat-wwwb
ip addr show nat-wwwb
# 检查主机是否存在到虚拟机子网10.8.20.0/24的路由
ip route show | grep 10.8.20.0/24

若没有对应路由,添加:

ip route add 10.8.20.0/24 via 10.8.200.2 dev nat-wwwb

4. 检查iptables NAT与转发规则

虚拟机上网依赖SNAT/MASQUERADE规则,同时需允许流量通过FORWARD链:

# 查看NAT表POSTROUTING链规则,需存在针对10.8.20.0/24的MASQUERADE/SNAT规则
iptables -t nat -L POSTROUTING -n -v
# 若缺失,添加(将虚拟机子网流量转换为主机物理接口enp5s0的公网IP)
iptables -t nat -A POSTROUTING -s 10.8.20.0/24 -o enp5s0 -j MASQUERADE

# 查看FORWARD链规则,需允许虚拟机子网与互联网的双向流量
iptables -L FORWARD -n -v
# 若缺失,添加:
iptables -A FORWARD -s 10.8.20.0/24 -j ACCEPT
iptables -A FORWARD -d 10.8.20.0/24 -j ACCEPT

5. 确认veth对与网桥的绑定状态

确保nat-wwwa已正确挂载到nat-bridge(联网状态下):

ip netns exec nat-ns brctl show nat-bridge

输出的端口列表中需包含nat-wwwa和虚拟机的TAP接口,且两者状态均为UP。

6. 抓包定位流量阻塞点

若以上步骤均正常,用tcpdump定位流量丢失环节:

  • 在命名空间内抓nat-wwwa的流量,验证虚拟机是否发出互联网请求:
    ip netns exec nat-ns tcpdump -i nat-wwwa icmp
    
  • 在主机侧抓nat-wwwb的流量,验证请求是否转发到主机:
    tcpdump -i nat-wwwb icmp
    
  • 在主机物理接口enp5s0抓包,验证NAT后的流量是否发出:
    tcpdump -i enp5s0 icmp and src host $(ip addr show enp5s0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
    

内容的提问来源于stack exchange,提问作者Evian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:45:41