配置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,让它们能互相访问。
我的配置尝试过程
给vm-box2配置私有网络
我在vm-box2的Vagrantfile里添加了这行网络配置:config.vm.network "private_network", :ip => "192.168.1.111", :netmask => "255.255.255.0"执行
vagrant up启动虚拟机后,用ifconfig查看网卡信息,确实看到enp0s8网卡已经分配了静态IP192.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)。遇到的问题
- 当我在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了。
- 当我在Windows主机上ping
我的疑问
我现在完全摸不着头绪,想请教各位:
- 为什么主机ping不通虚拟机的私有网络IP?
- 修改netplan后连不上VM的原因是什么?
- 正确的私有网络配置应该怎么做,才能让vm-box1和vm-box2互相通信,同时保证Fabric库能正常建立SSH连接?
备注:内容来源于stack exchange,提问作者Shriniwas
相关产品推荐
相关产品推荐

