1. 程式人生 > >vmware三種網路模式介紹及nat模式下使用同一區域網的非宿主機ssh連線虛擬機器

vmware三種網路模式介紹及nat模式下使用同一區域網的非宿主機ssh連線虛擬機器

1、vmware虛擬機器三種網路模式

開啟vmware虛擬機器,我們可以在選項欄的“編輯”下的“虛擬網路編輯器”中看到VMnet0(橋接模式)、VMnet1(僅主機模式)、VMnet8(NAT模式),那麼這些都是有什麼作用呢?其實,我們現在看到的VMnet0表示的是用於橋接模式下的虛擬交換機;VMnet1表示的是用於僅主機模式下的虛擬交換機;VMnet8表示的是用於NAT模式下的虛擬交換機。在主機上對應的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8兩塊虛擬網絡卡,它們分別作用於僅主機模式與NAT模式下。在“網路連線”中我們可以看到這兩塊虛擬網絡卡,

(1)橋接

橋接模式就是將主機網絡卡與虛擬機器虛擬的網絡卡利用虛擬網橋進行通訊。在橋接的作用下,類似於把物理主機虛擬為一個交換機,所有橋接設定的虛擬機器連線到這個交換機的一個介面上,物理主機也同樣插在這個交換機當中,所以所有橋接下的網絡卡與網絡卡都是交換模式的,相互可以訪問而不干擾。橋接模式下,虛擬機器ip地址需要與主機在同一個網段,如果需要聯網,則閘道器與DNS需要與主機網絡卡一致。

簡單來說就是把VMnet0虛擬網絡卡與主機的網絡卡連線在一起,虛擬網絡卡同時也會轉發主機網絡卡的廣播和組播資訊,以及目標是虛擬網段下的單播資訊,所以虛擬機器的ip要和主機在同一個網段。

橋接模式是共享主機網段的,如果宿主機所在區域網的ip資源緊缺,就不適用這種模式,可以考慮nat模式。

(2)NAT

NAT模式藉助虛擬NAT裝置和虛擬DHCP伺服器,使得虛擬機器可以聯網。在NAT模式中,主機網絡卡直接與虛擬NAT裝置相連,然後虛擬NAT裝置與虛擬DHCP伺服器一起連線在虛擬交換機VMnet8上,這樣就實現了虛擬機器聯網。那麼我們會覺得很奇怪,為什麼需要虛擬網絡卡VMware Network Adapter VMnet8呢?原來我們的VMware Network Adapter VMnet8虛擬網絡卡主要是為了實現主機與虛擬機器之間的通訊。也就是說VMnet8相當於宿主機內的路由器,把宿主機ip地址虛擬化出新的網段,這種情況下,只要主機能夠訪問外網,虛擬機器就也可以訪問外網,且不會與宿主機的ip網段衝突。

但是在此模式下,外部主機不能夠ssh連線到我們的虛擬機器,因為我們的VMnet8只是轉發來自虛擬機器的訊息,外部網路的包段無法到達該宿主機內部的路由上,不能夠轉發給虛擬機器。試了挺長時間,能夠實現外部主機ssh連線宿主機的虛擬機器,下面會詳細介紹。

(3)僅主機模式

顧名思義,Host-Only模式其實就是NAT模式去除了虛擬NAT裝置,然後使用VMware Network Adapter VMnet1虛擬網絡卡連線VMnet1虛擬交換機來與虛擬機器通訊的,Host-Only模式將虛擬機器與外網隔開,使得虛擬機器成為一個獨立的系統,只與主機相互通訊。該模式下使不能連線外網的,但是可以設定一個共享家庭網路,來實現虛擬機器訪問外網。

2、NAT模式下外網ssh連線改虛擬機器,或訪問虛擬機器的應用

首先設定好靜態ip,重啟網絡卡,這裡不再贅述,放上centos7以下系統修改檔案的路徑和啟動網絡卡方式:

(1. 開啟虛擬網路編輯器,移除VMnet8,從新建立一個VMnet8,檢視NAT設定中的閘道器地址;

(2. 初始化設定的NAT模式,應用橋接模式,重新應用NAT模式;ifconfig

(3. 進入/etc/sysconfig/network-scripts目錄開啟ifcfg-eth0

(4. 配置網路:

                  修改模式BOOTPROTO:DHCP自動獲取ip

                  static:靜態ip

                  新增ip地址:IPADDR=VMnet8中的網段

                  新增子網掩碼:NETMASK=

                  新增閘道器:GATEWAY=和檢視的閘道器對應

                  新增DNS:DNS1=免費8.8.8.8

           (5. 重啟網路服務:

                  /etc/init.d/network restart

然後重新設定vmware的網路配置,配置埠對映,設定主機埠到虛擬機器埠的對映,這裡主要是為了實現外網能夠訪問到虛擬機器。

注:如果是ssh連線就設定22埠,如果是其他服務就設定虛擬機器上服務的埠。

按道理此時應該能夠實現連線了,但是發現其他主機還不能夠連線成功,我嘗試重啟了很多次,還是不行,後來懷疑是win系統的防火牆將其他主機的訪問連線給牆了,就配置宿主機對應埠的防火牆許可權。如下:

配置路徑:控制面板/網路設定=>win防火牆設定=>高階設定

選中入站規則,然後選埠,設定指定埠,和允許那種網路連線。注意:不要隨便開放系統的埠,可能存在不安全因素。

到此,你虛擬機器中的服務或者需要外網ssh連線的,都可以通過:宿主機ip:埠號 進行連線