# 弹性 IP：标准 EIP 与旁路 EIP

当您将弹性 IP（EIP）绑定到 Zenlayer 弹性计算（ZEC）实例上的虚拟网卡时，平台为该 EIP 提供两种转发模式：

* **标准 EIP** — 默认模式，适用于绝大多数工作负载。
* **旁路 EIP** — 可选模式，适用于对延迟和吞吐量敏感的工作负载。

两种模式均由**同一公网转发平面**提供服务。 两种模式的入站和出站流量都流经同一网关，受相同的带宽限制约束，并使用相同的 EIP 地址。唯一的区别在于**数据包在网关内部到达或离开您的虚拟机时的处理方式**。

本文档涵盖绑定到 vNIC 的 EIP。要管理您的 EIP，请在 Console 中导航至 [弹性 IPv4](https://console.zenlayer.com/zec/elastic-ip) 页面。

***

## 概览

![概览：两种模式共享同一转发平面](/files/yfPUuhn7x79pI4xYEK9o)

两台虚拟机都通过同一转发平面访问互联网。区别在于**平台是否为您进行地址转换**（标准模式），还是**将公网 IP 直接分配给客户机**（旁路模式）。

***

## 两种模式的共同点

* **相同的转发平面。** EIP 的入站和出站流量均由同一共享公网网关承载。
* **相同的 EIP 语义。** 一个 EIP 对应 vNIC 上的一个私有 IP。如需公开多个私有 IP，请为每个私有 IP 分配一个 EIP。
* **入站流量保留原始客户端源 IP。** 您的工作负载可以看到入站连接的真实客户端地址。
* **一个 vNIC 可绑定多个 EIP**，每个 EIP 绑定到同一网卡上不同的（辅助）私有 IP。
* **相同的带宽限制。** 您购买的每个 EIP 的带宽配额在两种模式下完全相同。
* EIP 必须先解绑才能释放。

***

## 标准 EIP

标准模式是默认选择，适合绝大多数工作负载。

### 工作原理

![标准 EIP：网关在 EIP 与私有 IP 之间进行转换](/files/ub4nYT2IE5uAhlDOWv9o)

* 网关在 EIP 与私有 IP 之间执行**地址转换**。您的虚拟机始终只能看到自己的**私有 IP**。
* 转发平面为每条连接维护**按流状态**。

### 客户机配置

**客户机内部无需特殊配置。** 虚拟机只需要其私有 IP（通常通过 DHCP 获取）。EIP 对客户机操作系统不可见。

### 何时使用标准模式

* 虚拟机的通用公网连通场景。
* 对延迟、吞吐量或过滤没有特殊需求的工作负载。
* 您希望平台的安全组对 EIP 上的所有流量生效，没有例外。
* 您希望配置尽可能简单 — 一个网卡上一个私有 IP，虚拟机内部无需额外配置。

***

## 旁路 EIP

旁路模式指示转发平面走**无状态快速路径**，并**将公网 IP 直接分配给虚拟机**，不进行地址转换。平台不会为旁路 EIP 在任何方向执行 NAT。

### 工作原理

![旁路 EIP：两个方向均不进行转换](/files/kkHTeB9rTnMwNvGs0d1t)

* 入站数据包**原样**传递给虚拟机。虚拟机看到的数据包目标地址是公网 EIP。
* 出站数据包必须以 **EIP 作为源地址**从虚拟机发出。网关将其原样转发到互联网。
* 转发平面不为连接维护按流状态。

由于平台不再执行 EIP ↔ 私有 IP 的转换，**客户机操作系统必须将 EIP 配置为其网卡上的本地地址**，与私有 IP 并存。

### 您将获得的优势

* 网关每个数据包的**处理开销更低**。
* **更低的延迟**，对于短连接和新流的首批数据包效果尤为明显。
* 对于受按流处理限制的工作负载，可获得**更高的持续数据包速率**。
* **可选**地，在绑定时跳过该 EIP 的平台安全组。此选项**仅在旁路模式下可用**，并将入站过滤责任完全转移给客户机。

### 何时使用旁路模式

* **延迟敏感型工作负载**：实时媒体、游戏服务器、低延迟 RPC 端点、金融类工作负载。
* **高数据包速率工作负载**，需要最大转发吞吐量。
* **在客户机中运行自有防火墙**的工作负载，希望跳过特定 EIP 上的平台安全组。

### 需要注意的权衡

* **客户机必须手动配置**以持有 EIP。当同一 vNIC 上有多个 EIP 和/或多个私有 IP 时，这一配置会变得复杂 — 请参见下方示例。
* 依赖网关按流状态的连接级功能和可见性，对旁路流量不可用。
* 如果您跳过了平台安全组，平台将不再过滤该 EIP 上的入站流量。在启用此选项之前，请确保客户机已配置自有过滤策略。

***

## 对比：两种模式在转发平面内的行为

![转发平面分支：共享查找和计量，然后按模式分别处理](/files/zKkjZaqRFQ7rXsnUtp1L)

两条路径共享同一网关、相同的计量方式和相同的带宽管控。区别在于图右侧的每数据包分支处理逻辑。

***

## 在客户机内配置旁路 EIP（Ubuntu / netplan）

由于旁路模式不做 NAT，客户机操作系统必须持有公网 IP 本身，与通过 DHCP 获取的私有 IP 并存。以下示例适用于使用 netplan 的 Ubuntu；在任何 Linux 发行版上均可使用 `ip addr` 进行等效配置。

### 示例 1 — 单个私有 IP，单个旁路 EIP

私有 IP：`10.0.0.10`（通过子网 `10.0.0.0/24` DHCP 获取，网关 `10.0.0.1`）。 旁路 EIP：`203.0.113.10`。

```yaml
# /etc/netplan/01-bypass-eip.yaml
network:
  version: 2
  ethernets:
    ens3:
      dhcp4: true
      addresses:
        - 203.0.113.10/32
```

DHCP 租约提供私有 IP 和默认路由。旁路 EIP 以 `/32` 掩码作为额外地址添加，使内核将其视为主机地址，而不会尝试通过私有网卡路由公网子网。

### 示例 2 — 多个私有 IP 和多个旁路 EIP

私有 IP：`10.0.0.10`（主 IP，DHCP 获取）和 `10.0.0.11`（辅助 IP）。 旁路 EIP：`203.0.113.10`（绑定到 `10.0.0.10`）和 `203.0.113.11`（绑定到 `10.0.0.11`）。

```yaml
# /etc/netplan/01-bypass-eip.yaml
network:
  version: 2
  ethernets:
    ens3:
      dhcp4: true
      addresses:
        - 10.0.0.11/24
        - 203.0.113.10/32
        - 203.0.113.11/32
```

这足以使**入站**流量到任一旁路 EIP 都能正常工作：内核在请求到达的地址上回复，因此回复数据包会自动以正确的 EIP 为源。

对于需要从特定旁路 EIP 发起的**出站**新连接，应用程序应将其套接字绑定到所需的 EIP。如果您需要内核为来自某个私有 IP 的流量选择特定 EIP 作为默认源，而不是逐应用程序绑定，则需要配置策略路由规则 — 例如，每个（私有 IP，旁路 EIP）对使用一个路由表，通过 `ip rule add from <私有 IP> table <N>` 进行选择。该配置的实施是运营者的责任，而非平台的责任。

> 客户机内配置的复杂性随公网/私有 IP 组合数量的增加而增长。如果工作负载确实简单（一个私有 IP，一个公网 IP），旁路模式配置很直接；如果工作负载涉及大量公私 IP 组合，请在决策时将客户机内的配置负担纳入考量。

***

## 一个 vNIC 上的多个 EIP

您可以通过将每个 EIP 与该网卡上不同的辅助私有 IP 关联，将多个 EIP 绑定到同一个 vNIC 上。两种模式均支持此功能。

![多个 EIP 绑定到单个 vNIC，每个 EIP 与一个私有 IP 一一对应](/files/UmKZ0zUDYpC4kmCwf2cg)

每个 EIP 与单个私有 IP 一一绑定。如需公开三个私有 IP，请分配三个 EIP。

**重要 — 不要在同一 vNIC 上混用模式。** 绑定到同一 vNIC 的所有 EIP 应使用**相同**的模式。如果您需要同一虚拟机上同时拥有标准 EIP 和旁路 EIP，请将它们附加到不同的 vNIC 上。

![同一 vNIC 上的所有 EIP 必须共享同一模式](/files/ZllmmSyK23Ndt0cjiFMq)

如果单台虚拟机同时需要标准 EIP 和旁路 EIP，请为其添加第二个 vNIC，并将旁路 EIP 放在那里。

***

## IPv6

本平台上的公网 IPv6 地址**不是 ULA 也不经过 NAT**。 每台虚拟机都会获得一个可路由的公网 IPv6 地址，该地址直接分配给客户机，与旁路 EIP 的 IPv4 分配方式完全相同。

![公网 IPv6：可路由地址直接分配给虚拟机，无 NAT](/files/W3k0A2SShzDeIbdyhnfV)

实际含义：

* **IPv6 没有 NAT。** 网关在虚拟机和互联网之间转发 IPv6 数据包时，不会改写源地址或目标地址。
* **客户机内部看到的 IPv6 地址就是互联网看到的地址。** 外部服务看到的出站 IPv6 流量的源地址就是该地址。
* **入站 IPv6 数据包到达客户机时，目标地址是公网 IPv6 地址。** 客户机以正常方式配置其 IPv6 地址（通过 SLAAC/DHCPv6 或静态配置）；无需额外别名，因为没有第二个需要转换的"私有" IPv6 地址。
* **IPv6 没有"标准与旁路"的选择。** 标准 / 旁路的区别是 IPv4 独有的概念，因为它描述的是平台是否在 EIP 与私有 IP 之间执行 IPv4 NAT。IPv6 始终是直通的。

如果您已经熟悉在旁路 IPv4 下运行虚拟机，IPv6 的思维模型是相同的：平台将公网地址路由到您的客户机，客户机拥有该地址。

***

## 选择模式（IPv4 EIP）

| 问题                | 标准 EIP | 旁路 EIP     |
| ----------------- | ------ | ---------- |
| 默认模式？             | 是      | 否 — 需主动选择  |
| 相同的转发平面和带宽限制？     | 是      | 是          |
| 入站保留客户端源 IP？      | 是      | 是          |
| 每个 vNIC 支持多个 EIP？ | 是      | 是          |
| 每数据包处理开销          | 基准     | 更低         |
| 延迟 / 数据包速率        | 基准     | 更优         |
| 网关的按流状态           | 有      | 无          |
| 平台为 EIP 执行 NAT    | 是      | 否          |
| 客户机必须持有 EIP 本身    | 否      | 是          |
| 可选跳过平台安全组         | 否      | 是          |
| 推荐默认选择            | 是      | 仅在有明确原因时选择 |

**快速判断原则**

* 默认使用**标准模式**，除非您有经过实测的理由切换。
* 在以下情况选择**旁路模式**：（a）需要 vNIC EIP 上最低可能的延迟或最高可能的数据包速率，或（b）需要跳过平台安全组的能力，**且**您愿意在客户机内配置 EIP。

***

## 限制与注意事项汇总

* **一个 EIP，一个私有 IP。** 任何 EIP 都不能同时绑定多个私有 IP。
* **先解绑再释放。** 仍处于关联状态的 EIP 无法删除。
* **同一网卡同一模式。** 单个 vNIC 上的所有 EIP 必须使用相同的模式。
* **旁路模式需要客户机内部配置。** 客户机操作系统必须将 EIP 作为本地地址持有；随着网卡上公网/私有 IP 数量的增加，配置复杂度也会增加。
* **旁路模式转发在网关处是无状态的**：依赖网关按流状态的功能不适用于旁路 EIP。
* **跳过平台安全组仅对旁路 EIP 可用**，并将入站过滤责任完全转移给客户机。
* **公网 IPv6 不经过 NAT。** 客户机内部的 IPv6 地址就是互联网看到的地址；标准/旁路的区别不适用于 IPv6。
* **两种 IPv4 模式均保留入站客户端源 IP。**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/welcome/cn/elastic-compute/networking/standard-vs-bypass-eip.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
