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

无法在独立网络连接两台Firecracker VM:VM2无法SSH接入

问题分析与排查步骤

IP寻址逻辑验证

你的IP配置本身没有逻辑错误:

  • 两台VM分别使用独立的/30网段:
    • VM1:169.254.0.21(虚拟机)和169.254.0.22(主机TAP)同属169.254.0.20/30网段(掩码255.255.255.252),该网段内仅包含这两个可用IP,符合点到点链路的配置规范。
    • VM2:170.254.0.21(虚拟机)和170.254.0.22(主机TAP)同属170.254.0.20/30网段,配置合法。

分步排查步骤

1. 检查主机侧TAP设备状态

在主机上执行以下命令,确认VM2对应的TAP设备tap_2是否正常运行:

ip addr show tap_2
ip link show tap_2
  • 确认设备状态为UP,且IP地址170.254.0.22/30已正确配置。
  • 若设备未创建或配置异常,重新运行配置生成脚本时去掉> /dev/null,查看sysctl和ip命令的报错信息。

2. 验证VM2内部网络配置

通过Firecracker串口控制台进入VM2,执行以下命令:

ip addr show eth0
ip route
  • 确认eth0的IP为170.254.0.21,掩码255.255.255.252,且直连路由指向170.254.0.22(主机TAP)。
  • 若IP配置错误,检查firecracker_config_2.json中的boot_args字段,确认内核启动参数ip=${fc_ip}::${tap_ip}:${mask_long}::eth0:off是否正确写入。

3. 测试主机与VM2的连通性

在主机上执行ping命令测试:

ping 170.254.0.21
  • 若ping不通,检查ARP表项:
    arp -an | grep 170.254.0.21
    
    确认VM2的MAC地址03:FC:00:00:00:05已关联到tap_2设备。若无ARP条目,手动添加后再尝试ping:
    arp -s 170.254.0.21 03:FC:00:00:00:05 dev tap_2
    

4. 检查主机防火墙规则

主机防火墙可能阻断了VM2的SSH流量,临时关闭防火墙测试:

# 针对iptables
iptables -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
# 针对nftables
nft flush ruleset

若关闭后能正常SSH,说明需调整防火墙规则,添加允许tap_2接口SSH流量的规则。

5. 验证Firecracker进程与网络绑定

  • 查看VM2的Firecracker进程命令行参数或日志,确认网络接口配置指向tap_2。
  • 检查主机上是否有其他进程占用tap_2资源,或Firecracker进程是否异常退出。

6. 检查VM2的SSH服务状态

在VM2控制台中确认SSH服务状态:

systemctl status sshd
netstat -tulpn | grep ssh
  • 确认SSH服务监听在0.0.0.0或170.254.0.21的22端口。
  • 若服务未启动,手动启动并设置开机自启。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 21:18:22