2017-09-08 72 views
0

我有一臺運行在Google Cloud Compute Engine上的虛擬機實例 - 一個可搶佔的運行Ubuntu 17.04的免費層CPU。最終目標是將其連接到本地計算機上運行的MongoDB,即2015 Macbook Pro(OS 10.12.6)。但首先,我一直在努力確保虛擬機可以通過ping訪問我的Mac。Google雲虛擬實例無法ping通我的Mac(已選中的防火牆)

  • 從我的Mac上運行ping <VM's external IP>
  • ping從同一個wifi網絡上的另一臺Mac上運行我的Mac。
  • 從VM通過瀏覽器終端運行ping <Mac's IP>不是工作。

我禁用了我的Mac防火牆。我也配置了我的虛擬機的防火牆規則,以允許所有入站和出站流量,但無濟於事:

ingress firewall rulesegress firewall rules

我怎麼可能會得到這種情況下成功地ping我的Mac?

回答

0

您的Mac的IP地址是否以10.,192.168.172.16.172.32.開頭?這些是private addresses只能在Mac的本地網絡中訪問,這是(部分)GCE無法訪問您的虛擬機的原因。

這是一個非常常見的配置的一部分。 ISP只爲您的家庭或企業分配一個(或少量)IP地址。網絡上的路由器執行NAT以在本地網絡上的計算機之間共享該IP地址,而私有IP地址則用於自己。由於路由器不知道如何處理入站MongoDB流量,因此會阻止它。

周圍有此兩種常用的方法是,通常在路由器的設置中發現:

  1. 「端口轉發」,你告訴流量在1234端口上的所有流量轉發到你的Mac。這可以讓MongoDB工作,但不能ping。
  2. 如果您有完整的額外IP地址,「DMZ」,您的路由器會將整個額外IP直接轉發給您的實例。如果您只有一個IP地址,則該選項無法使用,因爲需要爲Wifi上的其他設備共享該IP。

您可能在路由器上也有防火牆。如果您使用DMZ或端口轉發,則必須確保防火牆也允許流量通過。


這就是說,我不確定這是一個明智的做法。開放本地網絡到互聯網可能會造成重大的安全問題,另外它可能不可靠更昂貴(免費層僅提供1GB出口/月,您的數據庫流量可能會超過此數)。

實際上,對於GCE中的實例運行MongoDB幾乎肯定是您在各方面的更好選擇。

相關問題