【Ubuntu】虚拟机和主机可以相互ping通,但在主机访问虚拟机网址失败

情景

在Ubuntu上开启了RabbitMQ消息队列服务。为了方便,想在本机(localhost)上访问RabbitMQ的图形化管理界面。


首先在Ubuntu查看一下虚拟机IP:

ifconfig -a 
# 10.211.55.4

接着在本机浏览器上访问:

http://10.211.55.4:15672

显示无法连接到服务器。

 
 

排查


ping!ping!ping!

在主机上ping一下虚拟机

ping 10.211.55.4

在虚拟机上ping一下主机

### Ubuntu虚拟机与Windows主机之间无法互相Ping的解决方案 #### 1. 检查防火墙设置 确保Ubuntu虚拟机上的防火墙未阻止ICMP请求。可以过以下命令查看并关闭防火墙: ```bash sudo ufw status # 查看防火墙状态 sudo ufw disable # 如果启用,则禁用防火墙 ``` 此外,在Windows主机上也需要确认其防火墙允许入站出站的ICMP流量[^5]。 #### 2. 确认网络适配器模式 检查虚拟机软件(如VMware或VirtualBox)中的网络适配器配置。常有三种主要模式: - **NAT模式**: NAT模式下,虚拟机过宿主机共享互联网连接,但宿主机可能看不到虚拟机的真实IP地址。因此在这种模式下,双方难以直接Ping[^3]。 - **桥接模式**: 推荐使用此模式以便于两设备在同一局域网内工作。在此模式下,虚拟机会获得独立的IP地址并与宿主机处于同一子网中,从而更容易实现互[^4]。 - **仅主机(Host-only)**: 此种情况下只有宿主机访问虚拟机而外部网络不可达。适合测试环境但需手动调整路由表以支持双向讯。 对于大多数需求来说,切换到桥接模式常是解决问题的关键步骤之一。 #### 3. 配置正确的IP地址范围 当采用桥接模式时,应保证Ubuntu虚拟机获取到了属于当前LAN内的有效静态或者动态分配给它的唯一IPv4地址。可以在终端运行`ip addr show` 或者 `ifconfig` 来观察实际使用的接口及其参数[^2]。如果发现错误的默认网关或者其他异常情况,则需要编辑 `/etc/netplan/*.yaml` 文件重新定义合适的网络选项后再应用更改(`netplan apply`)。 #### 4. 测试连性 完成上述操作之后再次尝试执行相互间的ping命令验证效果如何。例如从win cmd窗口打入 `ping <ubuntu_ip>` 反过来由linux shell里键入 `ping <windows_host_ip>`. 注意替换 `<ubuntu_ip>` 及 `<windows_host_ip>` 成各自真实的数值形式表示法. --- ### 示例代码片段展示如何修改NetPlan YAML文件 (适用于较新版本Ubuntu) 假设我们希望指定固定的 IP 地址而不是依赖 DHCP 提供服务: ```yaml network: version: 2 ethernets: ens33: dhcp4: no addresses: [192.168.0.10/24] gateway4: 192.168.0.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] ``` 保存后记得刷新 netplan 设置:`sudo netplan apply`. ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值