近期在學習中遇到這樣一些問題,在虛擬機上一些服務,在虛擬機內部可以正常訪問,但是在主機卻無法訪問。比如redis服務等。在網上查了一些資料,眾說紛紜。當然首先要檢查主機是否已經成功連通虛擬機,ping一下就可以知道,如果可以正常ping通,那么很有可能是虛擬機上的服務所使用的端口沒有向外界開放。(我使用的linux系統的版本是centOS 7)
1)可以通過命令firewall-cmd --query-port=7990/tcp查看端口號是否開啟,比如我隨便查看一下端口

如果是no,就說明沒有開放。
2)通過命令,firewall-cmd --zone=public --add-port=7990/tcp --permanent,可以開通7990端口。如果是redis服務,應該是6379端口。

然后需用使用命令firewall-cmd --reload重啟防火牆,端口正常開啟,生效。

3)再通過主機訪問虛擬機的服務,一般就可以正常訪問了。
