Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 56 additions & 56 deletions docs/Ch01/supplement.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,62 @@ $ sudo resize2fs /dev/sda2

如果有过分区经验,也可以安装图形化的 GParted 工具进行操作。

### 虚拟机网卡的“模式” {#vm-nic-modes}

在虚拟机中使用网络设备时,会发现虚拟机一般有三种网卡模式,分别叫做 `Bridged`(桥接)、`NAT`(网络地址转换)、`Host only`(仅主机)。虚拟机中的网络设备,是虚拟网卡(Virtual NIC),其背后需要与某个网络连接,才能实现通信功能。

在安装虚拟机前,设备上的网络通常是这样的:

```mermaid
flowchart TD
HSP[主机上的程序] --> HS
HS[主机] -->|物理网卡 10.1.2.3| IN[外部网络]
```

#### 桥接模式 {#bridge-mode}

在这种模式下,虚拟机程序(例如 VMWare)会在主机上创建一个虚拟交换机。虚拟交换机上,接入了原来的物理网卡(例如有线网卡或者 Wi-Fi 适配器等)、虚拟机中安装的虚拟网卡、主机上的虚拟网卡。在这种配置下,虚拟机和主机都暴露在外部网络下,分别使用**不同的 IP**。

```mermaid
flowchart TD
VMP1[虚拟机上的程序] --> VM1
VMP2[虚拟机上的程序] --> VM2
HSP[主机上的程序] --> HS
VM1[虚拟机] -->|虚拟网卡 10.1.2.4| SW[虚拟交换机]
VM2[虚拟机] -->|虚拟网卡 10.1.2.5| SW[虚拟交换机]
HS[主机] -->|虚拟网卡 10.1.2.3| SW[虚拟交换机]
SW -->|物理网卡 10.1.2.3/4/5| IN[外部网络]
```

#### 网络地址转换模式 {#nat-mode}

与桥接模式不同,网络地址转换下,虚拟机和主机**共用一个 IP**,虚拟机之间用虚拟交换机连接。从外部网络看来,虚拟机上的程序和主机上的程序发出的请求是一样的。

```mermaid
flowchart TD
VM1[虚拟机] -->|虚拟网卡 192.168.100.100| SW[虚拟交换机 192.168.1.x]
VM2[虚拟机] -->|虚拟网卡 192.168.100.101| SW
SW -->|192.168.1.x| NAT[NAT 网络地址转换]
NAT -->|10.1.2.3| HS
HSP[主机上的程序] -->|10.1.2.3| HS
HSP -->|虚拟网卡 192.168.100.1| SW
HS[主机] -->|物理网卡 10.1.2.3| IN[外部网络 10.x.x.x]
```

#### 仅主机模式 {#hostonly-mode}

仅主机模式类似 NAT,但是虚拟机不能与外部网络通信。

```mermaid
flowchart TD
VM1[虚拟机] -->|虚拟网卡 192.168.100.100| SW[虚拟交换机 192.168.1.x]
VM2[虚拟机] -->|虚拟网卡 192.168.100.101| SW
SW
HSP[主机上的程序] -->|10.1.2.3| HS
HSP -->|虚拟网卡 192.168.100.1| SW
HS[主机] -->|物理网卡 10.1.2.3| IN[外部网络 10.x.x.x]
```

### 已知问题 {#vm-known-issues}

#### 在 macOS VirtualBox 下闪屏 {#virtualbox-flicker}
Expand Down Expand Up @@ -542,62 +598,6 @@ $ sudo apt-get install ubuntu-desktop

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

## 虚拟机网卡的“模式” {#vm-nic-modes}

在虚拟机中使用网络设备时,会发现虚拟机一般有三种网卡模式,分别叫做 `Bridged`(桥接)、`NAT`(网络地址转换)、`Host only`(仅主机)。虚拟机中的网络设备,是虚拟网卡(Virtual NIC),其背后需要与某个网络连接,才能实现通信功能。

在安装虚拟机前,设备上的网络通常是这样的:

```mermaid
flowchart TD
HSP[主机上的程序] --> HS
HS[主机] -->|虚拟网卡 10.1.2.3| IN[外部网络]
```

### 桥接模式 {#bridge-mode}

在这种模式下,虚拟机程序(例如 VMWare)会在主机上创建一个虚拟交换机。虚拟交换机上,接入了原来的物理网卡(例如有线网卡或者 Wi-Fi 适配器等)、虚拟机中安装的虚拟网卡、主机上的虚拟网卡。在这种配置下,虚拟机和主机都暴露在外部网络下,分别使用**不同的 IP**。

```mermaid
flowchart TD
VMP1[虚拟机上的程序] --> VM1
VMP2[虚拟机上的程序] --> VM2
HSP[主机上的程序] --> HS
VM1[虚拟机] -->|虚拟网卡 10.1.2.4| SW[虚拟交换机]
VM2[虚拟机] -->|虚拟网卡 10.1.2.5| SW[虚拟交换机]
HS[主机] -->|虚拟网卡 10.1.2.3| SW[虚拟交换机]
SW -->|物理网卡| IN[外部网络]
```

### 网络地址转换模式 {#nat-mode}

与桥接模式不同,网络地址转换下,虚拟机和主机**共用一个 IP**,虚拟机之间用虚拟交换机连接。从外部网络看来,虚拟机上的程序和主机上的程序发出的请求是一样的。

```mermaid
flowchart TD
VM1[虚拟机] -->|虚拟网卡 192.168.100.100| SW[虚拟交换机 192.168.1.x]
VM2[虚拟机] -->|虚拟网卡 192.168.100.101| SW
SW --> NAT[NAT 网络地址转换]
NAT -->|192.168.1.101| HS
HSP[主机上的程序] -->|10.1.2.3| HS
HSP -->|虚拟网卡 192.168.100.1| SW
HS[主机] -->|物理网卡 10.1.2.3| IN[外部网络 10.x.x.x]
```

### 仅主机模式 {#hostonly-mode}

仅主机模式类似 NAT,但是虚拟机不能与外部网络通信。

```mermaid
flowchart TD
VM1[虚拟机] -->|虚拟网卡 192.168.100.100| SW[虚拟交换机 192.168.1.x]
VM2[虚拟机] -->|虚拟网卡 192.168.100.101| SW
SW
HSP[主机上的程序] -->|10.1.2.3| HS
HSP -->|虚拟网卡 192.168.100.1| SW
HS[主机] -->|物理网卡 10.1.2.3| IN[外部网络 10.x.x.x]
```

## 引用来源 {#references .no-underline}

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