

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Outposts 服务器的本地网络接口
<a name="local-network-interface"></a>

对于 Outposts 服务器，*本地网络接口*是一种逻辑网络组件，可将 Outposts 子网中的 Amazon EC2 实例连接到您的本地网络。

本地网络接口直接在您的局域网上运行。使用这种本地连接时，您无需路由器或网关即可与本地设备通信。本地网络接口的命名与网络接口或弹性网络接口类似。在提及本地网络接口时，我们始终使用*本地*接口来区分这两种接口。

在 Outpost 子网上启用本地网络接口后，您可以对 Outpost 子网中的 EC2 实例进行配置，使其除了弹性网络接口之外还包括本地网络接口。本地网络接口连接到本地网络，网络接口则连接到 VPC。下图显示了 Outpost 服务器上的 EC2 实例，该实例同时就有弹性网络接口和本地网络接口。

![\[本地网络接口\]](http://docs.aws.amazon.com/zh_cn/outposts/latest/server-userguide/images/outposts-server-LNI.png)


您必须配置操作系统，使本地网络接口能够在局域网上进行通信，就如您对待任何其他本地设备一样。您不能使用 VPC 中的 DHCP 选项集来配置本地网络接口，因为本地网络接口是在您的局域网上运行的。

弹性网络接口的工作方式与用于可用区子网中的实例的接口完全相同。例如，您可以使用 VPC 网络连接访问的公共区域终端节点 AWS 服务，也可以使用接口 VPC 终端节点 AWS 服务 进行访问 AWS PrivateLink。有关更多信息，请参阅 [AWS Outposts 与 AWS 区域的连接](region-connectivity.md)。

**Topics**
+ [本地网络接口基础知识](#limits-lni)
+ [在你的 Outpost 子网上启用 LNI](enable-lni.md)
+ [添加本地网络接口](add-lni.md)
+ [本地连接](local-server.md)

## 本地网络接口基础知识
<a name="limits-lni"></a>

本地网络接口提供对第二层物理网络的访问。VPC 是虚拟化的第三层网络。本地网络接口不支持 VPC 网络组件。这些组件包括安全组、网络访问控制列表、虚拟路由器或路由表以及流日志。本地网络接口不向 Outposts 服务器提供对 VPC 第三层流的可见性。实例的主机操作系统确实可以完全洞悉来自物理网络的帧。您可以将标准的防火墙逻辑应用于这些帧中的信息。但是，这种通信发生在实例内部，但超出了虚拟化结构的范围。

**注意事项**
+ 本地网络接口支持 ARP 和 DHCP 协议。不支持常规的 L2 广播消息。
+ 本地网络接口的配额来自您的网络接口配额。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[网络接口配额](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-enis)。
+ 每个 EC2 实例可以有一个本地网络接口。
+ 本地网络接口不能使用实例的主网络接口。
+ Outpost 服务器可以托管多个 EC2 实例，各自具有一个本地网络接口。
**注意**  
同一服务器内的 EC2 实例可以直接通信，无需将数据发送到 Outpost 服务器外面。这种通信包括通过本地网络接口或弹性网络接口传送的流量。
+ 本地网络接口仅适用于在 Outposts 服务器上的 Outposts 子网中运行的实例。
+ 本地网络接口不支持混杂模式或 MAC 地址欺骗。

### 性能
<a name="performance-lni"></a>

每个实例大小的本地网络接口提供部分 10 GbE 物理可用带宽。下表列出了每种实例类型的网络性能：


| 实例类型  | 基准带宽 (Gbps) | 突增带宽（Gbps） | 
| --- | --- | --- | 
|  c6id.large  |  0.15625  |  2.5  | 
|  c6id.xlarge  |  0.3125  |  2.5  | 
|  c6id.2xlarge  |  0.625  |  2.5  | 
|  c6id.4xlarge  |  1.25  |  2.5  | 
|  c6id.8xlarge  |  2.5  |  2.5  | 
|  c6id.12xlarge  |  3.75  |  3.75  | 
|  c6id.16xlarge  |  5  |  5  | 
|  c6id.24xlarge  |  7.5  |  7.5  | 
|  c6id.32xlarge  |  10  |  10  | 
|  c6gd.medium  |  0.15625  |  4  | 
|  c6gd.large  |  0.3125  |  4  | 
|  c6gd.xlarge  |  0.625  |  4  | 
|  c6gd.2xlarge  |  1.25  |  4  | 
|  c6gd.4xlarge  |  2.5  |  4  | 
|  c6gd.8xlarge  |  4.8  |  4.8  | 
|  c6gd.12xlarge  |  7.5  |  7.5  | 
|  c6gd.16xlarge  |  10  |  10  | 

### 安全组
<a name="security-groups-lni"></a>

根据设计，本地网络接口不使用 VPC 中的安全组。安全组控制入站和出站 *VPC 流量*。本地网络接口不连接到 VPC。本地网络接口连接到您的本地网络。要控制本地网络接口上的入站和出站流量，请使用防火墙或类似策略，如果您对待其他的本地设备一样。

### 监控
<a name="monitoring-lni"></a>

CloudWatch 为每个本地网络接口生成指标，就像为弹性网络接口生成指标一样。有关更多信息，请参阅《Amazon EC2 用户指南》**中的[监控 EC2 实例上 ENA 设置的网络性能](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html)。

### MAC 地址
<a name="mac-address-lni"></a>

AWS 为本地网络接口提供 MAC 地址。本地网络接口使用本地管理的地址 (LAA) 作为其 MAC 地址。本地网络接口使用同一个 MAC 地址，直到您删除该接口为止。删除本地网络接口后，请从本地配置中删除 MAC 地址。 AWS 可以重复使用不再使用的 MAC 地址。

# 在你的 Outpost 子网上启用 LNI
<a name="enable-lni"></a>

要在 Outposts 服务器上使用本地网络接口 (LNI)，必须先在 Outpost 子网上启用 LNI。此配置允许在子网中启动的实例将 LNI 连接到特定的网络设备索引。

**要启用 LNI，请使用 AWS CLI**  
运行以下命令，将子网 ID 替换为您的 Outpost 子网：

```
aws ec2 modify-subnet-attribute \
    --subnet-id subnet-xxxxxxxxx \
    --enable-lni-at-device-index 1
```

**重要**  
在启动将使用 LNI 的实例之前，您必须运行此命令。设备索引值为 1 意味着 LNI 将作为第二个网络接口 (eth1) 附加到您的实例上。

在子网上启用 LNI 后，您可以创建网络接口并将其连接到设备索引 1 处的实例，从而与本地网络建立第 2 层连接。

有关架构图和其他配置示例的完整演练，请参阅[架构以实现与 Out AWS posts 服务器的无缝本地连接](https://aws.amazon.com/blogs/networking-and-content-delivery/architecting-for-seamless-on-premises-connectivity-with-aws-outposts-servers/)。

# 向 Outposts 子网中的 EC2 实例添加本地网络接口
<a name="add-lni"></a>

您可以在启动期间或之后，向 Outposts 子网上的 Amazon EC2 实例添加本地网络接口。为此，您可以使用您在为本地网络接口启用 Outpost 子网时指定的设备索引向实例添加辅助网络接口。

**考虑因素**  
使用控制台指定辅助网络接口时，将使用设备索引 1 来创建网络接口。如果这不是您在为本地网络接口启用 Outpost 子网时指定的设备索引，则可以改用 AWS CLI 或 AWS SDK 来指定正确的设备索引。例如，使用 AWS CLI:[create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html)和中的以下命令[attach-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-network-interface.html)。

启动实例后，使用以下步骤添加本地网络接口。有关在实例启动过程中进行添加的信息，请参阅[在 Outpost 上启动实例](launch-instance.md#launch-instances)。

**向 EC2 实例添加本地网络接口**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，依次选择**网络与安全**、**网络接口**。

1. **创建网络接口**

   1. 选择**创建网络接口**。

   1. 选择与实例相同的 Outpost 子网。

   1. 确认**私有 IPv4 地址**已设置为**自动分配**。

   1. 选择安全组 安全组不适用于本地网络接口，因此您选择的安全组无关紧要。

   1. 选择**创建网络接口**。

1. **将网络接口连接至实例**

   1. 选中与新创建的网络接口对应的复选框。

   1. 依次选择**操作**、**附加**。

   1. 选择实例。

   1. 选择 **附加**。网络接口已连接到设备索引 1。如果指定 1 作为 Outpost 子网本地网络接口的设备索引，则此网络接口就是实例的本地网络接口。

## 查看本地网络接口
<a name="interface-types"></a>

当实例处于运行状态时，您可以使用 Amazon EC2 控制台来查看 Outpost 子网中实例的弹性网络接口和本地网络接口。选择实例，再选择**网络**选项卡。

控制台显示来自子网 CIDR 的本地网络接口的私有 IPv4 地址。该地址不是本地网络接口的 IP 地址，因此无法使用。但是，此地址是从子网 CIDR 中分配的，因此您必须在子网大小调整中将其考虑在内。您必须在来宾操作系统中以静态方式或通过 DHCP 服务器为本地网络接口设置 IP 地址。

## 配置操作系统
<a name="os-configuration-lni"></a>

启用本地网络接口后，Amazon EC2 实例将有两个网络接口，其中之一就是本地网络接口。确保将启动的 Amazon EC2 实例的操作系统配置为支持多宿主联网配置。

# Outposts 服务器的本地网络连接
<a name="local-server"></a>

使用本主题了解托管 Outposts 服务器的网络布线和拓扑要求。有关更多信息，请参阅 [Outposts 服务器的本地网络接口](local-network-interface.md)。

**Topics**
+ [网络上的服务器拓扑](#lni-topology)
+ [服务器物理连接](#lni-physical)
+ [服务器的服务链路流量](#lni-sl)
+ [本地网络接口链路流量](#lni-al)
+ [服务器 IP 地址分配](#lni-address)
+ [服务器注册](#lni-register)

## 网络上的服务器拓扑
<a name="lni-topology"></a>

Outposts 服务器需要与网络设备进行两种不同的连接。每个连接使用一条不同的线缆，承载不同类型的流量。多条线缆仅用于流量级隔离，而不用于冗余。这两条线缆不需要连接到公共网络。

下表描述了 Outposts 服务器流量类型和标签。


| 流量标签 | 说明 | 
| --- | --- | 
|  **2**  |  **服务链路流量** — 此流量允许前哨基地和 AWS 地区之间进行通信，以管理前哨基地以及 AWS 区域与前哨基地之间的 VPC 内部流量。服务链路流量包括从 Outpost 到该区域的服务链路连接。服务链接是自定义 VPN 或 VPNs 从前哨基地到该地区。Outpost 连接到您在购买时选择的区域中的可用区。  | 
|  **1**  |  **本地网络接口链路流量** – 此流量支持通过本地网络接口从您的 VPC 与本地 LAN 进行通信。本地链路流量包括在 Outpost 上运行并与您的本地网络通信的实例。本地链路流量还可能包括通过您的本地网络与互联网通信的实例。  | 

## 服务器物理连接
<a name="lni-physical"></a>

每个 Outposts 服务器包括非冗余的物理上行链路端口。每个端口有自己的速度和连接器要求，如下所示：
+ **10Gbe** — 连接器类型 QSFP\$1

**QSFP\$1 线缆**  
QSFP\$1 线缆有一个连接器，可以将其连接到 Outposts 服务器上的端口 3。QSFP\$1 线缆的另一端有四个 SFP\$1 接口，可以将其连接到交换机上。交换机一端的两个接口被标记为 `1`和 `2`。这两个接口都是 Outposts 服务器正常运行所必需的。`2` 接口用于服务链路流量，`1` 接口则用于本地网络接口链路流量。其余接口没有用到。

## 服务器的服务链路流量
<a name="lni-sl"></a>

将交换机上的服务链路端口配置为 VLAN 的无标记接入端口，使其具通往以下区域端点的网关和路由：
+ 服务链路端点
+ Outpost 注册端点

服务链接连接必须有公共 DNS，Outpost 才能发现其在该 AWS 地区的注册端点。该连接可在 Outposts 服务器和注册端点之间使用 NAT 设备。有关公有地址范围的更多信息 AWS，请参阅 *Amazon VPC 用户指南*中的 [AWS IP 地址范围](https://docs.aws.amazon.com/vpc/latest/userguide/aws-ip-ranges.html)和中的[AWS Outposts 终端节点和配额*AWS 一般参考*](https://docs.aws.amazon.com/general/latest/gr/outposts_region.html)。

要注册服务器，请打开以下网络端口：
+ TCP 443
+ UDP 443
+ UDP 53

## 本地网络接口链路流量
<a name="lni-al"></a>

配置上游网络设备上的本地网络接口链路端口，作为本地网络 VLAN 的标准接入端口。如果您有多个 VLAN，请将上游网络设备上的所有端口配置为中继端口。将上游网络设备上的端口配置为需要多个 MAC 地址。在服务器上启动的每个实例都要使用一个 MAC 地址。某些网络设备提供端口安全功能，这些功能会关闭报告多个 MAC 地址的端口。

**注意**  
AWS Outposts 服务器不标记 VLAN 流量。如果您将本地网络接口配置为中继，则必须确保操作系统标记 VLAN 流量。

以下示例演示了如何在 Amazon Linux 2023 上为本地网络接口配置 VLAN 标记。如果您正在使用其他 Linux 分配，请参阅有关配置 VLAN 标记的 Linux 发行版文档。

**示例：在 Amazon Linux 2023 和 Amazon Linux 2 上为本地网络接口配置 VLAN 标记**

1. 确保 8021q 模块已加载到内核中。如果没有，请使用 `modprobe` 命令来加载。

   ```
   modinfo 8021q
   modprobe --first-time 8021q
   ```

1. 创建 VLAN 设备。在本示例中：
   + 本地网络接口的接口名称是 `ens6`
   + VLAN ID 是 `59`
   + 为 VLAN 设备分配的名称是 `ens6.59`

   ```
   ip link add link ens6 name ens6.59 type vlan id 59
   ```

1. 可选。如果您要手动分配 IP，请完成此步骤。在本例中，我们将分配 IP 192.168.59.205，其中子网 CIDR 是 192.168.59.0/24。

   ```
   ip addr add 192.168.59.205/24 brd 192.168.59.255 dev ens6.59
   ```

1. 激活链路。

   ```
   ip link set dev ens6.59 up
   ```

要在操作系统级别配置网络接口，并使 VLAN 标记更改持续有效，请参阅以下资源：
+ *如果你使用的是 Amazon Linux 2，请参阅亚马逊 Linux 2 用户指南[中的 AL2使用 ec2-net-utils 配置网络接口](https://docs.aws.amazon.com/linux/al2/ug/ec2-net-utils.html)。*
+ 如果您使用的是 Amazon Linux 2023，请参阅 *Amazon Linux 2023 用户指南*中的[网络服务](https://docs.aws.amazon.com/linux/al2023/ug/networking-service.html)。

## 服务器 IP 地址分配
<a name="lni-address"></a>

您不需要为 AWS Outposts 服务器的服务链路和实例上的本地网络接口分配公有 IP 地址。对于服务链接，您可以手动分配 IP 地址或使用动态主机控制协议 (DHCP)。要配置服务链接连接，请参阅*AWS Outposts 服务器安装指南*中的[配置和测试连接](https://docs.aws.amazon.com/outposts/latest/install-server/authorize-3.html)。

要配置本地网络接口链接，请参阅[配置操作系统](add-lni.md#os-configuration-lni)。

**注意**  
确保为 Outposts 服务器使用稳定的 IP 地址。IP 地址更改可能会导致 Outpost 子网上的服务暂时中断。

## 服务器注册
<a name="lni-register"></a>

当 Outposts 服务器在本地网络上建立连接时，它们会使用服务链路连接来连接到 Outpost 注册端点并自行完成注册。注册需要公有 DNS。当服务器注册时，它们会创建一条通往该区域中服务链路端点的安全隧道。Outposts 服务器使用 TCP 端口 443 来协助通过公共互联网与区域进行通信。Outposts 服务器不支持通过 VPC 进行私有连接。