SSH如何訪問局域網內其它主機上的NAT網絡模式下的虛擬機

需求說明

情況是這樣的,筆者有兩臺電腦,windows10筆記本(主機A)和windows10臺式機(主機B)且在同一局域網下。同時有Ubuntu系統(主機C)運行在主機B的VMware虛擬機上。現在想在主機A上通過ssh訪問主機C。
當前網絡配置:
主機A:IP=10.4.0.199
主機B:IP=10.4.0.195
主機C:IP=192.168.75.129
VMware虛擬機爲NAT模式,ping命令測試:AB通,BC通,AC不通。

VMware網絡模式

先了解一下VMware下各網絡模式特性,查看博客《VMware下三種網絡模式詳解》

  • Host-only模式下虛擬機不能訪問外網,肯定不行。
  • Bridged模式下虛擬機等同於局域網上的一臺獨立主機,可以相互ping通,肯定是可以的。但需要給其分配一個局域網地址,也不利於和宿主機間的通信。
  • NAT模式下,虛擬機是不能直接被局域網內其他主機訪問到的,但通過配置端口轉發可以實現特定通道的訪問。

在這裏插入圖片描述

操作步驟

先安裝、配置、啓動Ubuntu上的ssh服務,再在宿主機上驗證一下,確認Ubuntu上的ssh服務開啓正常。如下圖所示:
在這裏插入圖片描述

配置VMware的虛擬網絡
點擊VMware–>編輯–>虛擬網絡編輯器,打開VMware的虛擬網絡編輯器。
在這裏插入圖片描述
選擇VMnet8—NAT模式,點擊NAT設置按鈕。
在這裏插入圖片描述
點擊端口轉發下的添加按鈕,增加端口映射。
在這裏插入圖片描述
選項說明:

  • 主機端口是宿主機的端口號,一般填ssh的默認端口號22,但如果宿主機的自己的SSH服務端使用了22端口,則要填一個其它的宿主機未使用的端口。
  • 類型用於設置socket類型,SSH是TCP連接。
  • 虛擬機IP地址,填寫Ubuntu(主機C)的IP地址。
  • 虛擬機端口,填寫Ubuntu(主機C)上提供SSH服務的端口,一般都是ssh的默認端口號22。
  • 描述,該端口映射的簡要說明。

配置好VMware的虛擬網絡後,還要關閉宿主機(主機B)的專用網絡防火牆
在這裏插入圖片描述

以上設置好後就可以在主機A上連接主機C的ssh了。注意的是ssh命令中用戶名時主機C上的用戶名,而目標地址是主機B的地址而不是主機C的。如果上面配置的主機端口不是22 還要指定實際配置的端口號。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章