情況是這樣的:在虛擬機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地址:
同樣修改一下防火牆配置,即可訪問: