情況是這樣的:在虛擬機visualBox里安裝了centos7系統,並且在該系統里運行了一個web服務,想通過宿主機或者外網來訪問該服務,總是無法訪問(虛擬機網卡已配置成橋接):
宿主機【win7】ip:

虛擬機【CentOS7】ip:

彼此能互相ping通,虛擬機中啟動了一個簡單的web服務:
一個簡單的只要訪問就能得到一句簡單的響應:
在虛擬機內部能夠訪問:

在主機中通過瀏覽器就不能:

在路由器里配置轉發規則:

從外網依然無法訪問:

百度了其它一些方法都不行,最后實在沒轍,關了windows防火牆和linux防火牆,居然能夠訪問了,我服。
總結一下,原來是CentOS7防火牆沒有開啟端口3032,開啟的方法為(老版本或其他linux版請自行百度):
- [root@localhost sysconfig]# firewall-cmd --permanent --add-port=3032/tcp
- success
- [root@localhost sysconfig]# firewall-cmd --reload
- success
附:直接關閉防火牆(不推薦)最好還是開啟
- [root@localhost sysconfig]# systemctl stop firewalld.service
- [root@localhost sysconfig]# systemctl start firewalld.service
這樣一來就都可以訪問了。


附:如果使用的是網絡地址轉換NAT鏈接:

需要在【端口轉發】里設置一下虛擬機映射主機端口:

其中192.168.56.1是虛擬機的ip地址:

10.0.2.15是虛擬機里centos系統的ip地址:

同樣修改一下防火牆配置,即可訪問:

