概述
情景
在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一下主机
ping 172.20.10.7
❷ 资源是否真的存在?服务是否正确开启?
这是个极其容易被忽视的低级问题,即ip正确(端口也正确),但其实所访问的资源其实压根不存在。
对于一些浏览器,从报错信息上容易混淆两种错误原因。
另外,如果连相关服务都没有正确开启,那就更别提资源是否存在了。至于服务是否开启,通常在虚拟机上检查。
❸ 虚拟机防火墙问题
不关闭防火墙虽然可以ping通,但主机无法访问虚拟机网页(这可以解决99.99%的问题)。
# 查看防火墙状态
sudo ufw status verbose
# 关闭防火墙
sudo ufw disable
# 开启防火墙
sudo ufw enable
补充
检查主机和虚拟机能否相互ping通时,使用的是哪种IP呢?
先看虚拟机。会ifconfig出两种IP:
enp0s5 = en0(Wi-Fi)
lo = local
用的自然是第一个。
再看主机。如果你使用的是mac,那么在主机ifconfig出的一系列IP信息会让你眼花缭乱,我简单查了一下:
lo0 = loopback
gif0 = Software Network Interface
stf0 = 6to4 tunnel interface
en0 = Ethernet 0
fw0 = Firewire
en1 = Ethernet 1
vmnet1 = Virtual Interface
我们用的是en0:
Hardware Port: Wi-Fi
Device: en0
Ethernet Address: c4:b3:01:bd:ad:1d
Hardware Port: Bluetooth PAN
Device: en3
Ethernet Address: c4:b3:01:bd:ad:1e
Hardware Port: Thunderbolt 1
Device: en1
Ethernet Address: 4a:00:07:4d:b2:b0
Hardware Port: Thunderbolt 2
Device: en2
Ethernet Address: 4a:00:07:4d:b2:b1
Hardware Port: Thunderbolt Bridge
Device: bridge0
Ethernet Address: 4a:00:07:4d:b2:b0
最后
以上就是疯狂香烟为你收集整理的【Ubuntu】虚拟机和主机可以相互ping通,但在主机访问虚拟机网址失败的全部内容,希望文章能够帮你解决【Ubuntu】虚拟机和主机可以相互ping通,但在主机访问虚拟机网址失败所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复