Skip to content

Commit aae4e4d

Browse files
committed
Add VM NIC modes
1 parent a0095b6 commit aae4e4d

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

docs/Ch01/supplement.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,56 @@ $ sudo apt-get install ubuntu-desktop
542542

543543
使用 Ventoy 可以简单方便地从 U 盘或者其他移动介质安装各类操作系统(且支持在一个介质中存放多个系统镜像),当然也包括 GNU/Linux。有关如何使用 Ventoy,请参考其网站[^2]
544544

545+
## 虚拟机网卡的“模式” {#vm-nic-modes}
546+
547+
在虚拟机中使用网络设备时,会发现虚拟机一般有三种网卡模式,分别叫做 `Bridged`(桥接)、`NAT`(网络地址转换)、`Host only`(仅主机)。
548+
549+
虚拟机中的网络设备,是虚拟网卡(Virtual NIC),其背后需要与某个网络连接,才能实现通信功能。
550+
551+
### 桥接模式
552+
553+
在这种模式下,虚拟机程序(例如 VMWare)会在主机上创建一个虚拟交换机。虚拟交换机上,接入了原来的物理网卡(例如有线网卡或者 Wi-Fi 适配器等)、虚拟机中安装的虚拟网卡、主机上的虚拟网卡。在这种配置下,虚拟机和主机都暴露在 Internet 下,分别使用**不同的 IP**
554+
555+
```mermaid
556+
flowchart TD
557+
VMP1[虚拟机上的程序] --> VM1
558+
VMP2[虚拟机上的程序] --> VM2
559+
HSP[主机上的程序] --> HS
560+
VM1[虚拟机 192.168.1.101] -->|虚拟网卡| SW[虚拟交换机]
561+
VM2[虚拟机 192.168.1.102] -->|虚拟网卡| SW[虚拟交换机]
562+
HS[主机 192.168.1.100] -->|虚拟网卡| SW[虚拟交换机]
563+
SW -->|物理网卡| IN[Internet]
564+
```
565+
566+
### 网络地址转换模式
567+
568+
与桥接模式不同,网络地址转换下,虚拟机和主机**共用一个 IP**,虚拟机之间用虚拟交换机连接。从 Internet 看来,虚拟机上的程序和主机上的程序发出的请求是一样的。
569+
570+
```mermaid
571+
flowchart TD
572+
VM1[虚拟机] -->|虚拟网卡 192.168.100.100| SW[虚拟交换机 192.168.1.x]
573+
VM2[虚拟机] -->|虚拟网卡 192.168.100.101| SW
574+
SW --> NAT[NAT 网络地址转换]
575+
NAT -->|192.168.1.101| HS
576+
HSP[主机上的程序] -->|192.168.1.101| HS
577+
HSP -->|虚拟网卡 192.168.100.1| SW
578+
HS[主机] -->|物理网卡 192.168.1.101| IN[Internet]
579+
```
580+
581+
### 仅主机模式
582+
583+
仅主机模式类似 NAT,但是虚拟机不能与 Internet 通信。
584+
585+
```mermaid
586+
flowchart TD
587+
VM1[虚拟机] -->|虚拟网卡 192.168.100.100| SW[虚拟交换机 192.168.1.x]
588+
VM2[虚拟机] -->|虚拟网卡 192.168.100.101| SW
589+
SW
590+
HSP[主机上的程序] -->|192.168.1.101| HS
591+
HSP -->|虚拟网卡 192.168.100.1| SW
592+
HS[主机] -->|物理网卡 192.168.1.101| IN[Internet]
593+
```
594+
545595
## 引用来源 {#references .no-underline}
546596

547597
[^1]: [Apple silicon - Wikipedia](https://en.wikipedia.org/wiki/Apple_silicon)

0 commit comments

Comments
 (0)