由於最近要做SDN相關的研究,因此要建立許多的虛擬機,現行虛擬機的軟體有很多種,諸如:Virtual Player/ Virtualbox/ Virtual Workstation / Parallel Desktop 等,有些可免費使用,有些則要付費,本篇以Parallel為例子,一方面是我的host(宿主機)是Mac,使用由Apple自家所開發的Parallel Desktop明顯效能與整合性比其他虛擬機好許多,其中在虛擬機中網卡設定的部分還值得花心思去做研究的。
虛擬機裡面的網卡設定通常會分為四種
- 斷開
具有網路卡,但是不進行任何設定- Host Only
具有網路卡,使用隨機IP,不進行對外連線(即無法進行上網)- NAT(共用網路)
藉由NAT(網路地址轉換)功能,通過宿主機所在的網路來存取外部網路。簡單來說就是宿主機器再建立一個區網,宿主機裡面的虛擬主機,就是宿主機裡區域網路裡的主機。- Bridge(橋接網路)
在橋接模式中,虛擬出的網卡會和宿主機的網卡共用資源,也就是虛擬機的網卡會和宿主機的實體網卡綁定在一起,兩者皆位於同一個網域,故可以實現虛擬機和實體主機間的通訊,以及存取外部網路

以下就根據以下網路拓墣來做實驗
- 斷開
進入系統後設定都要自己來 - Host Only
產生一個內網IP,和區域網路無建立連線 - NAT
整個網路架構等同於以下
NAT 取得到的 address 為一個虛擬私有IP 區網192.168.1.0/24的主機無法 ping 通虛擬機 我們發現以下特性:
虛擬主機(IP:10.211.55.5)可以ping到該區網(10.211.55.0/24)所有主機,和上層區網(192.168.1.0/24)的任何主機,但是區網(192.168.1.0/24)的任何主機卻不能ping到虛擬主機(IP:10.211.55.5)整理如下
+———————+————————————–+—————————-+——————-+
| 主機 | 主動發起ping方向 | 主機(網域) |. 原因 |
+———————-+————————————-+—————————+——————-+
10.211.55.5 <——–> 雙向. 10.211.55.0/24. 同一網段
10.211.55.5 ——–> 單向 192.168.1.0/24 找不到反向路由
10.211.55.5 ———> 單向 外部網路 有NAT服務[PS] 若要由外網主動發起連線至10.211.55.5必須設置路由器的DMZ和轉發功能
- Bridge
整個架構等同於以下
橋接後虛擬機所取得的IP位於192.168.1.0/24這個網域,相當於上一個圖的架構 192.168.1.0/24網域的任一台主機均可以ping到虛擬機 可以在路由器中的ARP列表中發現虛擬機的IP位址被紀錄在裡面 我們發現以下特性:
虛擬主機(IP:192.168.1.3)可以ping到該區網(192.168.1.0/24)所有主機,以及存取外部網路,由於該虛擬機已經被紀錄在路由中,區網內的主機均可以ping通整理如下
+———————+————————————–+—————————-+——————-+
| 主機 | 主動發起ping方向 | 主機(網域) |. 原因 |
+———————-+————————————-+—————————+——————-+
192.168.1.3 <——–> 雙向 192.168.1.0/24 同一網域
192.168.1.3 ———> 單向 外部網路 有NAT服務
[PS] 若要由外網主動發起連線至192.168.1.3必須要在路由器設置DMZ功能