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

配置Vagrant Ubuntu虚拟机私有网络以实现跨VM SSH通信及Fabric连接的问题求助

配置Vagrant Ubuntu虚拟机私有网络以实现跨VM SSH通信及Fabric连接的问题求助

大家好,我刚接触多节点虚拟机网络配置,现在遇到了一个卡住我的问题,想请教下各位大佬:

我在Windows 10主机上用Vagrant创建了两台Ubuntu 20.04.4 LTS虚拟机,目标是在本地模拟vm-box1到vm-box2的通信,用Python Fabric库来实现跨VM的SSH操作。为了让Fabric能正常建立连接,我需要给虚拟机配置私有网络静态IP,让它们能互相访问。

我的配置尝试过程

  1. 给vm-box2配置私有网络
    我在vm-box2的Vagrantfile里添加了这行网络配置:

    config.vm.network "private_network", :ip => "192.168.1.111", :netmask => "255.255.255.0"
    

    执行vagrant up启动虚拟机后,用ifconfig查看网卡信息,确实看到enp0s8网卡已经分配了静态IP 192.168.1.111,相关输出如下:

    enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.1.111  netmask 255.255.255.0  broadcast 192.168.1.255
            inet6 fe80::a00:27ff:feee:c657  prefixlen 64  scopeid 0x20<link>
            ether 08:00:27:ee:c6:57  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 17  bytes 1326 (1.3 KB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    我的Windows主机IP是192.168.0.203(子网掩码255.255.255.0)。

  2. 遇到的问题

    • 当我在Windows主机上ping 192.168.1.111时,得到的结果是:
      Pinging 192.168.1.111 with 32 bytes of data:
      Reply from 192.168.1.1: Destination host unreachable.
      Request timed out.
      Request timed out.
      Request timed out.
      
    • 之后我查资料尝试修改VM里的/etc/netplan/50-vagrant.yml文件,添加网关和DNS配置:
      gateway4: 198.168.1.1
      nameservers:
          addresses: [198.168.1.1,8.8.8.8]
      
      结果执行netplan apply后,SSH直接断开,再也连不上vm-box2了。

我的疑问

我现在完全摸不着头绪,想请教各位:

  • 为什么主机ping不通虚拟机的私有网络IP?
  • 修改netplan后连不上VM的原因是什么?
  • 正确的私有网络配置应该怎么做,才能让vm-box1和vm-box2互相通信,同时保证Fabric库能正常建立SSH连接?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 09:37:39