@@ -189,6 +189,62 @@ $ sudo resize2fs /dev/sda2
189189
190190如果有过分区经验,也可以安装图形化的 GParted 工具进行操作。
191191
192+ ### 虚拟机网卡的“模式” {#vm-nic-modes}
193+
194+ 在虚拟机中使用网络设备时,会发现虚拟机一般有三种网卡模式,分别叫做 ` Bridged ` (桥接)、` NAT ` (网络地址转换)、` Host only ` (仅主机)。虚拟机中的网络设备,是虚拟网卡(Virtual NIC),其背后需要与某个网络连接,才能实现通信功能。
195+
196+ 在安装虚拟机前,设备上的网络通常是这样的:
197+
198+ ``` mermaid
199+ flowchart TD
200+ HSP[主机上的程序] --> HS
201+ HS[主机] -->|物理网卡 10.1.2.3| IN[外部网络]
202+ ```
203+
204+ #### 桥接模式 {#bridge-mode}
205+
206+ 在这种模式下,虚拟机程序(例如 VMWare)会在主机上创建一个虚拟交换机。虚拟交换机上,接入了原来的物理网卡(例如有线网卡或者 Wi-Fi 适配器等)、虚拟机中安装的虚拟网卡、主机上的虚拟网卡。在这种配置下,虚拟机和主机都暴露在外部网络下,分别使用** 不同的 IP** 。
207+
208+ ``` mermaid
209+ flowchart TD
210+ VMP1[虚拟机上的程序] --> VM1
211+ VMP2[虚拟机上的程序] --> VM2
212+ HSP[主机上的程序] --> HS
213+ VM1[虚拟机] -->|虚拟网卡 10.1.2.4| SW[虚拟交换机]
214+ VM2[虚拟机] -->|虚拟网卡 10.1.2.5| SW[虚拟交换机]
215+ HS[主机] -->|虚拟网卡 10.1.2.3| SW[虚拟交换机]
216+ SW -->|物理网卡 10.1.2.3/4/5| IN[外部网络]
217+ ```
218+
219+ #### 网络地址转换模式 {#nat-mode}
220+
221+ 与桥接模式不同,网络地址转换下,虚拟机和主机** 共用一个 IP** ,虚拟机之间用虚拟交换机连接。从外部网络看来,虚拟机上的程序和主机上的程序发出的请求是一样的。
222+
223+ ``` mermaid
224+ flowchart TD
225+ VM1[虚拟机] -->|虚拟网卡 192.168.100.100| SW[虚拟交换机 192.168.1.x]
226+ VM2[虚拟机] -->|虚拟网卡 192.168.100.101| SW
227+ SW -->|192.168.1.x| NAT[NAT 网络地址转换]
228+ NAT -->|10.1.2.3| HS
229+ HSP[主机上的程序] -->|10.1.2.3| HS
230+ HSP -->|虚拟网卡 192.168.100.1| SW
231+ HS[主机] -->|物理网卡 10.1.2.3| IN[外部网络 10.x.x.x]
232+ ```
233+
234+ #### 仅主机模式 {#hostonly-mode}
235+
236+ 仅主机模式类似 NAT,但是虚拟机不能与外部网络通信。
237+
238+ ``` mermaid
239+ flowchart TD
240+ VM1[虚拟机] -->|虚拟网卡 192.168.100.100| SW[虚拟交换机 192.168.1.x]
241+ VM2[虚拟机] -->|虚拟网卡 192.168.100.101| SW
242+ SW
243+ HSP[主机上的程序] -->|10.1.2.3| HS
244+ HSP -->|虚拟网卡 192.168.100.1| SW
245+ HS[主机] -->|物理网卡 10.1.2.3| IN[外部网络 10.x.x.x]
246+ ```
247+
192248### 已知问题 {#vm-known-issues}
193249
194250#### 在 macOS VirtualBox 下闪屏 {#virtualbox-flicker}
0 commit comments