同一网络下通过其他主机SSH连接VMM创建的Ubuntu虚拟机失败求助
我之前折腾VMM虚拟机网络的时候也碰到过一模一样的问题,给你整理几个实用的排查和解决步骤,你按顺序试试:
先确认虚拟机的桥接模式是否真的生效
先登录虚拟机,执行ip a看看它的IP地址。如果显示的是类似192.168.122.x的网段,那说明VMM里的桥接设置根本没起效——这是VMM默认的NAT网段,只能和宿主机通信。
打开VMM找到你的虚拟机,进入「硬件」设置里的「NIC」选项,确认「网络源」选择的是你用nmtui创建的桥接设备(比如br0),而不是默认的「default」虚拟网络。修改后重启虚拟机,再看IP是不是和宿主机、其他机器在同一个网段了。检查虚拟机的防火墙是否放行SSH流量
Ubuntu默认的ufw防火墙可能只允许本地或者宿主机的SSH请求,在虚拟机里执行sudo ufw status,看看输出里有没有22/tcp ALLOW Anywhere这一行。如果没有,就执行sudo ufw allow ssh开放SSH端口,再用sudo ufw reload重启防火墙生效。排查宿主机的防火墙/iptables规则
宿主机如果开启了防火墙(比如firewalld或者ufw),可能会阻断桥接设备的外部流量。你可以先临时关闭宿主机防火墙试试:- 用firewalld的话:
sudo systemctl stop firewalld - 用ufw的话:
sudo ufw disable
如果关闭后其他机器能SSH连虚拟机了,那就是宿主机防火墙的问题,需要给桥接设备添加允许流量的规则,比如针对br0开放所有相关端口。
- 用firewalld的话:
先验证网络连通性,再看SSH问题
在其他机器上先ping虚拟机的IP地址,如果ping不通,那说明根本是网络层面没连通,和SSH没关系。这种情况下要回头检查桥接设备的配置:在宿主机执行ip a,确认桥接设备(比如br0)已经绑定了你的物理网卡(比如enp0s3、eth0这类),并且桥接设备本身获取到了和物理网卡同网段的IP。如果桥接设备没绑定物理网卡,得重新用nmtui配置桥接,把物理网卡设为桥接的从属接口。
备注:内容来源于stack exchange,提问作者Jdszoua29

