VMware NAT端口映射外網訪問虛擬機linux
本文目的:
一. SSH連接
二. 訪問HTTP
VMware Workstation提供了兩種虛擬機上網方式,一種bridge,一種NAT,bridge可以獲得公網地址,而NAT只能是內網地址了。
NAT相當於把主機當成了一個NAT轉換器,我們可以添加端口映射,使得外網可以訪問利用NAT上網的虛擬機。
主機環境: Win7
公網IP: 128.206.82.47
虛擬機版本: VMware Workstation 10
虛擬機系統: CentOS 6.5
虛擬機IP: 192.168.111.129
當前情況: 本機安裝虛擬機系統后, 通過虛擬機IP可以在本地win7使用SSH連接, 但是外網不能通過SSH連接虛擬機。
一. SSH連接
1.首先關掉防火牆
1
|
/
etc
/
init.d
/
iptables stop
|
打開VMware Network Editor,找到這個虛擬機使用的網卡。 選擇Type類型為NAT方式的網卡(VMnet8)
2.點擊NAT setting...
3.點擊Add (你可以看到我已經添加好了的端口)
Host port: 你打算用本地win7 的哪一個端口作監聽端口
Virtual machine IP address : 你的linux 的IP未多少,你就填多少
Virtual machine port: 你打算用監聽端口映射到虛擬機linux哪個端口, 22未SSH端口, 80未HTTP端口
4.關閉本地Win7防火牆
由於咱們之前關閉了虛擬機linux的防火牆, 但是沒有關閉本機Win7對應的監聽端口防火牆,所以也得設置一下Win7的防火牆。
如果 Windows 防火牆阻止某一程序,而您希望允許該程序通過防火牆進行通信,通常可以通過在 Windows 防火牆允許的程序列表(也稱為“例外列表”)中選中該程序來實現。若要了解如何進行此操作。
但是,如果沒有列出該程序,則可能需要打開一個端口。例如,當您與朋友聯機進行多人游戲時,可能需要為該游戲打開一個端口,這樣防火牆才能允許游戲信息到達您的計算機。端口始終保持打開狀態,因此請確保關閉不需要打開的端口。
-
通過單擊「開始」按鈕
,然后單擊“控制面板”,打開“Windows 防火牆”。 在搜索框中,鍵入防火牆,然后單擊“Windows 防火牆”。
-
在左窗格中,單擊“高級設置”。
如果系統提示您輸入管理員密碼或進行確認,請鍵入該密碼或提供確認。
-
在“高級安全 Windows 防火牆”對話框的左窗格中,單擊“入站規則”,然后在右窗格中,單擊“新建規則”。
-
按照新建入站規則向導中的說明進行操作。
5.連接測試
因為咱們是通過映射的方式從外網連接到虛擬機的linux,
所以host name 就是本機Win7的IP地址, Port 為 Win7 剛剛設置的監聽端口 5022, User name 就是你自己的Linux 用戶名。
然后就大功告成了。
二.連接HTTP
1. 安裝HTTP
1
|
yum install httpd
|
啟動HTTP服務
1
|
/
etc
/
init.d
/
httpd start
|
做完這步在虛擬機Linux上打開瀏覽器 輸入127.0.0.1 或者 本地Win7 輸入 虛擬機Linux IP地址 192.168.111.129
就可以看到HTTP的效果, 但是外網不可以訪問網頁,因為要設置端口映射。
2. 設置端口映射
不多說了, 看上面SSH連接的1、2、3、4 步方法來設置端口映射就好, 只要報映射端口改為80就行, 注意別把監聽端口搞沖突了。
3.訪問測試
遠程機器上使用本地Win7 IP地址訪問, 再加上監聽端口, 格式為 http://Win7 IP:Port
Win7 IP: 128.206.82.47
Port: 5080
所以我的測試時是 http://128.206.82.47:5080/
我所遇到的問題:
1. 設置監聽端口是不知道為什么我設置成10022或10080虛擬機Linux就馬上不能上網。
2. 之前沒有關閉本地Win7的防火牆, 所以一直連接不上SSH
一些建議:
1. 在設置外網連接虛擬機Linux之前, 請確定外網能ping同本地Win7的IP。(可以當廢話)
2. 不確定下次重啟后虛擬機Linux IP會不會動態變化, 為虛擬機Linux設置個靜態IP就好。