VXLAN 接口

本章介绍如何配置虚拟可扩展局域网 (VXLAN) 接口。VXLAN 作为第 3 层物理网络之上的第 2 层虚拟网络,可对第 2 层网络进行扩展。

关于 VXLAN 接口

VXLAN 提供与 VLAN 相同的以太网第 2 层网络服务,但其可扩展性和灵活性更为出色。与 VLAN 相比,VXLAN 提供以下优势:

  • 可在整个数据中心中灵活部署多租户网段。

  • 更高的可扩展性可提供更多的第 2 层网段,最多可达 1600 万个 VXLAN 网段。

本节介绍 VXLAN 如何工作。有关 VXLAN 的详细信息,请参阅 RFC 7348。有关 Geneve 的详细信息,请参阅 RFC 8926。

封装

ASA 支持两种类型的 VXLAN 封装:

  • VXLAN(所有型号)- VXLAN 使用 MAC Address-in-User 数据报协议 (MAC-in-UDP) 的封装方式。原始第 2 层帧已添加 VXLAN 报头,然后放入 UDP-IP 数据包中。

  • Geneve(仅限 ASA virtual)- Geneve 具有不限于 MAC 地址的灵活内部报头。要在 Amazon Web 服务 (AWS) 网关负载均衡器和设备之间透明路由数据包,以及发送额外信息,则需要使用 Geneve 封装。

VXLAN 隧道端点

VXLAN 隧道终端 (VTEP) 设备执行 VXLAN 封装和解封。每个 VTEP 有两种接口类型:一个或多个虚拟接口称为 VXLAN 网络标识符 (VNI) 接口,您可以向其应用安全策略;以及称为 VTEP 源接口的常规接口,用于为 VTEP 之间的 VNI 接口建立隧道。VTEP 源接口连接到传输 IP 网络,进行 VTEP 至 VTEP 通信。

下图显示第 3 层网络范围内用作 VTEP 的两个 ASA 和虚拟服务器 2,扩展了站点之间的 VNI 1、2 和 3 网络。ASA 可用作 VXLAN 与非 VXLAN 网络之间的网桥或网关。

VTEP 之间的底层 IP 网络与 VXLAN 重叠无关。封装的数据包根据外部 IP 地址报头路由,该报头具有初始 VTEP(用作源 IP 地址)和终止 VTEP(作为目标 IP 地址)。对于 VXLAN 封装:当远程 VTEP 未知时,目标 IP 地址可以是组播组。在使用 Geneve 时,ASA 仅支持静态对等体。默认情况下, VXLAN 的目标端口是 UDP 端口 4789(用户可配置)。Geneve 的目的端口是 6081。

VTEP 源接口

VTEP 源接口是一个计划要与所有 VNI 接口相关联的常规 ASA 接口(物理EtherChannel 接口,甚至 VLAN 接口)。每个 ASA/安全情景可以配置一个 VTEP 源接口。 由于只能配置一个 VTEP 源接口,因此不能在同一设备上同时配置 VXLAN 和 Geneve 接口。AWS或 Azure上的集群有一个例外,您可以在其中有两个 VTEP 源接口:一个 VXLAN 接口用于集群控制链路,一个 Geneve (AWS) 或 VXLAN (Azure) 接口可用于 AWS 网关负载均衡器。

尽管并未将 VTEP 源接口限制为全部用于传输 VXLAN 流量,但是可以实现该用途。如果需要,可以使用该接口传输常规流量,并将一个安全策略应用于传输此类流量的该接口。但是,对于 VXLAN 流量,必须对 VNI 接口应用所有安全策略。VTEP 接口仅作为物理端口。

在透明防火墙模式下,VTEP 源接口不是 BVI 的一部分,并且类似于对待管理接口的方式,不为该源接口配置 IP 地址。

VNI 接口

VNI 接口类似于 VLAN 接口:它们是虚拟接口,通过使用标记,实现网络流量在给定物理接口上的分离。将安全策略直接应用于每个 VNI 接口。

您智能添加一个 VTEP 接口,并且所有 VNI 接口都与同一 VTEP 接口相关联。 AWS 或 Azure上的 ASA Virtual 集群例外。对于 AWS 集群,您可以在其中有两个 VTEP 源接口:一个 VXLAN 接口用于集群控制链路,一个 Geneve 接口可用于 AWS 网关负载均衡器。对于 Azure 集群,您可以在其中有两个 VTEP 源接口:一个 VXLAN 接口用于集群控制链路,第二个 VXLAN 接口可用于 Azure 网关负载均衡器。

VXLAN 数据包处理

VXLAN

进出 VTEP 源接口的流量取决于 VXLAN 处理,特别是封装或解封。

封装处理包括以下任务:

  • VTEP 源接口通过 VXLAN 报头封装内部 MAC 帧。

  • UDP 校验和字段设置为零。

  • 外部帧源 IP 设置为 VTEP 接口 IP。

  • 外部帧目标 IP 通过远程 VTEP IP 查找确定。

解封;ASA 仅在以下条件下解封 VXLAN 数据包:

  • VXLAN 数据包是目标端口设置为 4789(用户可配置该值)的 UDP 数据包。

  • 入口接口是 VTEP 源接口。

  • 入口接口 IP 地址与目标 IP 地址相同。

  • VXLAN 数据包格式符合标准。

Geneve

进出 VTEP 源接口的流量取决于 Geneve 处理,特别是封装或解封。

封装处理包括以下任务:

  • VTEP 源接口通过 Geneve 报头封装内部 MAC 帧。

  • UDP 校验和字段设置为零。

  • 外部帧源 IP 设置为 VTEP 接口 IP。

  • 外部帧目标 IP 会被设置为您配置的对等体 IP 地址。

解封;ASA 仅在以下条件下解封 Geneve 数据包:

  • VXLAN 数据包是目标端口设置为 6081(用户可配置该值)的 UDP 数据包。

  • 入口接口是 VTEP 源接口。

  • 入口接口 IP 地址与目标 IP 地址相同。

  • Geneve 数据包格式符合标准。

对等体 VTEP

ASA 向对等体 VTEP 后的设备发送数据包时,ASA 需要两条重要信息:

  • 远程设备的目标 MAC 地址

  • 对等体 VTEP 的目标 IP 地址

ASA 维护目标 MAC 地址到 VNI 接口的远程 VTEP IP 地址的映射。

VXLAN 对等体

ASA 可以通过两种方式找到这些信息:

  • 单个对等体 VTEP IP 地址可以在 ASA 上静态配置。

    无法手动定义多个对等体。

    对于 IPv4: 然后,ASA 设备将已封装 VXLAN 的 ARP 广播发送到 VTEP,以获取终端节点 MAC 地址。

    对于 IPv6:然后,ASA 将 IPv6 邻居请求消息发送到 IPv6 被请求节点的组播地址。对等体 VTEP 以具有其链路本地地址的 IPv6 邻居通告消息作为响应。

  • 可以在每个 VNI 接口(或者总的来说,在 VTEP 上)配置组播组。



    Geneve 不支持此选项。


    对于 IPv4: ASA 将通过 VTEP 源接口在 IP 组播数据包内发送一个 VXLAN 封装的 ARP 广播数据包。对此 ARP 请求的响应使 ASA 可以获悉远程 VTEP IP 地址以及远程结束节点的目标 MAC 地址。

    对于 IPv6:ASA 通过 VTEP 源接口发送组播侦听程序发现 (MLD) 报告消息,以指示 ASA 正在 VTEP 接口上侦听组播地址流量。

Geneve 对等体

ASA virtual 仅支持静态定义的对等设备。您可以在 AWS 网关负载均衡器上定义 ASA virtual 对等体 IP 地址。由于 ASA virtual 绝不会向网关负载均衡器发起流量,因此您也不必在 ASA virtual 上指定网关负载均衡器 IP 地址;它会在收到 Geneve 流量时获知对等体 IP 地址。Geneve 不支持组播组。

VXLAN 使用案例

本部分介绍在 ASA 上实施 VXLAN 的使用案例。

VXLAN 网桥或网关概述

每个 ASA VTEP 都可作为终端节点(例如 VM、服务器和 PC)和 VXLAN 重叠网络之间的网桥或网关。对于通过 VTEP 源接口借助 VXLAN 封装接收的传入帧,ASA 去掉 VXLAN 报头,并基于内部以太网帧的目标 MAC 地址,将传入帧转发到连接非 VXLAN 网络的物理接口。

ASA 始终会处理 VXLAN 数据包;而不仅仅是在两个其他 VTEP 之间转发未处理的 VXLAN 数据包。

VXLAN 网桥

在使用网桥组(透明防火墙模式或可选的路由模式)时,ASA 可以用作 VXLAN 网段与本地网段之间的 VXLAN 网桥(远程),其中二者均位于同一网络中。在这种情况下,网桥组的一个成员是常规接口,而另一个成员是 VNI 接口。

VXLAN 网关(路由模式)

ASA 可充当 VXLAN 和非 VXLAN 域之间的路由器,用于连接不同网络上的设备。

VXLAN 域之间的路由器

借助通过 VXLAN 扩展的第 2 层域,虚拟机可以指向一个 ASA 作为其网关,即使 ASA 位于不同机架中,甚至当 ASA 位于第 3 层网络上很远的位置也是如此。

请参阅有关此场景的以下注释:

  1. 对于从 VM3 到 VM1 的数据包,目标 MAC 地址为 ASA MAC 地址,因为 ASA 是默认网关。

  2. 虚拟服务器 2 上的 VTEP 源接口接收来自 VM3 的数据包,然后使用 VNI 3 的 VXLAN 标签封装数据包,并将数据包发送到 ASA

  3. ASA 接收数据包时,会解封数据包以获得内部帧。

  4. ASA 使用内部帧进行路由查找,然后发现目标位于 VNI 2 上。如果尚不具有 VM1 的映射,ASA 会在 VNI 2 上的组播组 IP 上发送封装的 ARP 广播。



    ASA 必须使用动态 VTEP 对等体发现,因为 ASA 在此场景下有多个 VTEP 对等体。


  5. ASA 再次使用 VXLAN 标签为 VNI 2 封装数据包,并且将数据包发送到虚拟服务器 1。在封装之前,ASA 将内部帧目标 MAC 地址更改为 VM1 的 MAC 地址(ASA 可能需要组播封装的 ARP,以获取 VM1 MAC 地址)。

  6. 当虚拟服务器 1 接收 VXLAN 数据包时,该虚拟服务器会解封数据包并向 VM1 提供内部帧。

AWS 网关负载均衡器和 Geneve 单臂代理



这是 Geneve 接口当前唯一支持的使用案例。


AWS 网关负载均衡器结合了透明网络网关和按需分配流量和扩展虚拟设备的负载均衡器。ASA virtual 支持具有分布式数据平面的网关负载均衡器集中控制平面(网关负载均衡器终端)。下图显示了从网关负载均衡器终端转发到网关负载均衡器的流量。网关负载均衡器会在多个流量之间进行均衡 ,这些流量在丢弃流量或将其发送回网关负载均衡器之前对其进行检查(掉头流量)。ASA virtual然后,网关负载均衡器会将流量发送回网关负载均衡器终端和目的地。

图 1. Geneve 单臂代理

Azure 网关负载均衡器和配对代理

在 Azure 服务链中, ASA virtual充当可以拦截互联网和客户服务之间的数据包的透明网关。 ASA virtual 通过已配对代理中的 VXLAN 网段在单个 NIC 上定义外部接口和内部接口。

下图显示了从外部 VXLAN 网段上的公共网关负载均衡器转发到 Azure 门户负载均衡器的流量。网关负载均衡器会在多个 ASA virtual流量之间进行均衡 ,这些流量在丢弃流量或将其发送回在内部 VXLAN 部分的网关负载均衡器之前对其进行检查。然后,Azure 网关负载均衡器会将流量发送回公共网关负载均衡器和目的地。

图 2. Azure 网关负载均衡器和配对代理
Azure 网关负载均衡器和配对代理

VXLAN 接口的要求和前提条件

型号要求

  • 不支持将 Firepower 1010 交换机端口和 VLAN 接口用作 VTEP 接口。

  • 以下型号支持 Geneve 封装:Amazon Web Services (AWS) 上的 ASAv30、ASAv50、ASAv100

  • 以下型号支持配对代理模式下的 VXLAN:

    • Azure 中的 ASA Virtual

VXLAN 接口准则

防火墙模式

  • Geneve 接口仅在路由防火墙模式下支持。

  • 配对代理 VXLAN 接口仅在路由防火墙模式下支持。

IPv6

  • VNI 接口支持 IPv4 和 IPv6 流量。

  • 对于 VXLAN 封装,VTEP 源接口同时支持 IPv4 和 IPv6。 ASA virtual 集群控制链路 VTEP 源接口仅支持 IPv4。

    对于 Geneve,VTEP 源接口仅支持 IPv4。

集群和多情景模式

  • 集群在单个接口模式 下不支持 VXLAN,但集群控制链路除外(仅限ASA virtual。仅跨区以太网通道模式支持 VXLAN。

    AWS 上的 ASA virtual例外,它可以使用额外的 Geneve 接口与 GWLB 配合使用,而 Azure 可以使用额外的成对代理 VXLAN 接口与 GWLB配合使用。

  • Geneve 接口仅在独立的单情景模式下受支持。 多情景模式不支持它们。

路由

  • VNI 接口上仅支持静态路由或基于策略的路由;动态路由协议不受支持。

MTU

  • VXLAN 封装-如果源接口 MTU 少于 1554 个字节 (IPv4) 或 1574 个字节 (IPv6),则 ASA 会自动将 MTU 提高到 1554 个字节或 1574 字节。在这种情况下,整个以太网数据报将被封装,因此,新数据包更大,需要更大的 MTU。如果其他设备使用的 MTU 更大,则您应 为 IPv4 将源接口 MTU 设置为网络 MTU + 54 个字节,或者为 IPv6 设置为 +64 个字节。此 MTU 需要您在一些型号上启用巨帧保留;请参阅 启用巨帧支持(ASA Virtual、ISA 3000)

  • Geneve 封装- 如果源接口 MTU 少于 1806 个字节,ASA 会自动将 MTU 提高到 1806 个字节。在这种情况下,整个以太网数据报将被封装,因此,新数据包更大,需要更大的 MTU。如果其他设备使用的 MTU 更大,您应将源接口 MTU 设置为网络 MTU + 306 个字节。此 MTU 需要您在一些型号上启用巨帧保留;请参阅 启用巨帧支持(ASA Virtual、ISA 3000)

VXLAN 接口默认设置

默认启用 VNI 接口。

配置 VXLAN 接口

要配置 VXLAN,请执行下列步骤:



您可以配置 VXLAN 或 Geneve(仅限 ASA virtual)。有关 Geneve 接口,请参阅配置 Geneve 接口


过程


步骤 1

配置 VTEP 源接口

步骤 2

配置 VNI 接口

步骤 3

(Azure GWLB) 允许网关负载均衡器运行状况检查


配置 VTEP 源接口

每个 ASA 或安全情景可以配置一个 VTEP 源接口。VTEP 定义为网络虚拟化终端 (NVE)。在 Azure 中,ASA virtual 上的集群是个例外,您可以使用一个 VTEP 源接口作为集群控制链路,将另一个 VTEP 源接口用于连接到 Azure GWLB 的数据接口。

开始之前

对于多情景模式,请在情景执行空间完成本节所述的任务。在 Configuration > Device List 窗格中双击主用设备 IP 地址下的情景名称。

过程


步骤 1

依次选择配置 > 设备设置 > 接口设置 > 接口,然后编辑要用于 VTEP 源接口的接口。

步骤 2

(透明模式)选中 VTEP Source Interface 复选框。

可以通过此设置配置接口的 IP 地址。此命令对于路由模式为可选命令,在此模式下,此设置仅限制到此接口上的 VXLAN 的流量。

步骤 3

配置源接口名称和 IPv4 和/或 IPv6 地址,然后点击 OK

ASA virtual 集群控制链路不支持 IPv6。

步骤 4

依次选择配置 > 设备设置 > 接口设置 > VXLAN

步骤 5

(可选)如果要更改默认值 4789,请输入 VXLAN Destination Port 值。

在多情景模式下,请在系统执行空间中配置此设置。

步骤 6

启用网络虚拟化终端封装使用下拉菜单中,选择 VXLAN

步骤 7

从下拉列表中选择 VTEP Tunnel Interface

 

如果 VTEP 接口 MTU 少于 1554 个字节 (IPv4) 或 1574 个字节 (IPv6),则 ASA 会自动将 MTU 提高到 1554 个字节 或 1574 字节

步骤 8

(可选)选中 Configure Packet Recipient 复选框。

  • (多情景模式;对于单情景模式为可选)输入 Specify Peer VTEP IP Address 以手动指定对等体 VTEP IP 地址

    如果指定对等体 IP 地址,则无法使用组播组发现。在多情景模式中不支持组播,因此只能选择手动配置。只能为 VTEP 指定一个对等体。

  • (仅限单情景模式)输入 Multicast traffic to default multicast address,以指定所有相关 VNI 接口的默认组播组。

    如果每个 VNI 接口未配置组播组,则使用该组。如果配置一个 VNI 接口级别的组,则该组将覆盖此设置。

步骤 9

点击应用


配置 VNI 接口

添加 VNI 接口,将其与 VTEP 源接口相关联,并配置基本的接口参数。

对于 Azure 中的 ASA Virtual,您可以配置常规 VXLAN 接口,也可以配置配对代理模式 VXLAN 接口,以便与 Azure GWLB 配合使用。配对代理模式是唯一支持的集群模式。

过程


步骤 1

依次选择配置 > 设备设置 > 接口设置 > 接口,然后点击添加 > VNI 接口

步骤 2

输入介于 1 和 10000 之间的 VNI ID

此 ID 仅为内部接口标识符。

步骤 3

输入介于 1 和 16777215 之间的 VNI Segment ID

网段 ID 用于 VXLAN 标记。

步骤 4

(透明模式)选择要向其分配此接口的 Bridge Group

请参阅配置网桥组接口,以配置 BVI 接口并将常规接口关联到此网桥组。

步骤 5

输入 Interface Name

name 是长度最多为 48 个字符的文本字符串,并且不区分大小写。使用一个新值重新输入此命令可更改名称。

步骤 6

输入介于 0(最低)和 100(最高)之间的 Security Level。请参阅安全级别

步骤 7

(单情景模式)输入 Multicast Group IP Address

如果没有为 VNI 接口设置组播组,请使用源自 VTEP 源接口配置的默认组(如果有)。如果手动设置 VTEP 源接口的 VTEP 对等体 IP,则无法为 VNI 接口指定组播组。多情景模式下不支持组播。

步骤 8

选中 映射到 VTEP 隧道接口 复选框。

此设置将 VNI 接口与 VTEP 源接口相关联。

步骤 9

选中 Enable Interface 复选框。此设置已默认启用。

步骤 10

(路由模式)在 IP Address 区域中,配置 IPv4 地址。要配置 IPv6,请点击 IPv6 选项卡。

步骤 11

点击确定 (OK),然后点击应用 (Apply)


配置 Geneve 接口

要为 ASA virtual 配置 Geneve 接口,请执行以下步骤:



您可以配置 VXLAN 或 Geneve。有关 VXLAN 接口的信息,请参阅配置 VXLAN 接口


过程


步骤 1

为 Geneve 配置 VTEP 源接口

步骤 2

为 Geneve 配置 VNI 接口

步骤 3

允许网关负载均衡器运行状况检查


为 Geneve 配置 VTEP 源接口

每个 ASA virtual 设备可以配置一个 VTEP 源接口。VTEP 定义为网络虚拟化终端 (NVE)。

过程


步骤 1

依次选择配置 > 设备设置 > 接口设置 > 接口,然后编辑要用于 VTEP 源接口的接口。

步骤 2

(可选) 选中 VTEP 源接口 复选框。

此设置限制此接口上仅允许流向 VXLAN 的流量。

步骤 3

配置源接口名称和 IPv4 地址,然后点击 OK

步骤 4

依次选择配置 > 设备设置 > 接口设置 > VXLAN

步骤 5

启用网络虚拟化终端封装使用 下拉菜单中,选择 Geneve

步骤 6

请勿更改 Geneve 端口;AWS 需要使用端口 6081。

步骤 7

从下拉列表中选择 VTEP Tunnel Interface

 

如果 VTEP 接口 MTU 少于 1806 个字节,ASA 会自动将 MTU 提高到 1806 个字节。

步骤 8

点击应用


为 Geneve 配置 VNI 接口

添加 VNI 接口,将其与 VTEP 源接口相关联,并配置基本的接口参数。

过程


步骤 1

依次选择配置 > 设备设置 > 接口设置 > 接口,然后点击添加 > VNI 接口

步骤 2

输入介于 1 和 10000 之间的 VNI ID

此 ID 仅为内部接口标识符。

步骤 3

输入 Interface Name

name 是长度最多为 48 个字符的文本字符串,并且不区分大小写。使用一个新值重新输入此命令可更改名称。

步骤 4

输入介于 0(最低)和 100(最高)之间的 Security Level。请参阅安全级别

步骤 5

选中 映射到 VTEP 隧道接口 复选框。

此设置将 VNI 接口与 VTEP 源接口相关联。

步骤 6

选中 Enable Interface 复选框。此设置已默认启用。

步骤 7

选中 启用单臂代理

步骤 8

IP Address 区域中,配置 IPv4 地址。要配置 IPv6,请点击 IPv6 选项卡。

步骤 9

点击确定 (OK)

步骤 10

要允许流量进出同一接口,请选中 启用同一接口上的两台或多台主机之间的流量

步骤 11

点击应用


允许网关负载均衡器运行状况检查

AWS 或 Azure 网关负载均衡器要求设备对运行状况检查进行正确应答。AWS 网关负载均衡器只会将流量发送到被视为正常的设备。

您必须将 ASA virtual 配置为响应 SSH、Telent、HTTP 或 HTTPS 运行状况检查。

SSH 连接

对于 SSH,允许来自网关负载均衡器的 SSH。网关负载均衡器将尝试与 ASA virtual 建立连接,而 ASA virtual 的登录提示将被视为运行状况的证明。



SSH 登录尝试会在 1 分钟后超时。为了适应此超时,您需要在网关负载均衡器上配置更长的运行状况检查间隔。


Telnet 连接

对于 Telnet,允许来自网关负载均衡器的 Telnet。网关负载均衡器将尝试与 ASA virtual 建立连接,而 ASA virtual 的登录提示将被视为运行状况的证明。



您无法通过 Telnet 连接到最低安全级别的接口,因此此方法可能不实用。


HTTP(S) 直通代理

您可以将 ASA 配置为提示网关负载均衡器进行 HTTP(S) 登录。

使用支持端口转换的静态接口 NAT 的 HTTP(S) 重定向。

您可以将 ASA virtual 配置为将运行状况检查重定向到元数据 HTTP(S) 服务器。对于 HTTP(S) 运行状况检查,HTTP(S) 服务器必须使用 200 到 399 范围内的状态代码来回复网关负载均衡器。由于 ASA virtual 对同时管理连接的数量存在限制,因此您可以选择将运行状况检查分流到外部服务器。

支持端口转换的静态接口 NAT 允许您将某个端口(例如端口 80)的连接重定向到其他 IP 地址。例如,将来自网关负载均衡器的 HTTP 数据包转换为 ASA virtual 外部接口的目标,使其看起来像是来自目标为 HTTP 服务器的 ASA virtual 外部接口。ASA virtual 随后会将数据包转发到映射的目标地址。HTTP 服务器会响应 ASA virtual 外部接口,然后 ASA virtual 会将响应转发回网关负载均衡器。您需要允许从网关负载均衡器到 HTTP 服务器的流量的访问规则。

VXLAN 接口示例

请参阅以下所示的 VXLAN 配置示例。

透明 VXLAN 网关示例

请参见以下有关此示例的说明:

  • GigabitEthernet 0/0 上的外部接口用作 VTEP 源接口,并且连接到第 3 层网络。

  • GigabitEthernet 0/1.100 上的 insidevm100 VLAN 子接口连接到 VM3 所在的 10.10.10.0/24 网络。当 VM3 与 VM1(未显示;两者均有 10.10.10.0/24 IP 地址)通信时,ASA 使用 VXLAN 标签 6000。

  • GigabitEthernet 0/1.200 上的 insidevm200 VLAN 子接口连接到 VM2 所在的 10.20.20.0/24 网络。当 VM2 与 VM4(未显示;两者均有 10.20.20.0/24 IP 地址)通信时,ASA 使用 VXLAN 标签 8000。

  • GigabitEthernet 0/2 上的 insidepc 接口连接到若干 PC 所在的 10.30.30.0/24 网络。当这些 PC 与属于同一网络(全部具有 10.30.30.0/24 IP 地址)的远程 VTEP 后面的 VM/PC(未显示)进行通信时,ASA 使用 VXLAN 标签 10000。

ASA 配置


firewall transparent
vxlan port 8427
!
interface gigabitethernet0/0
  nve-only
  nameif outside
  ip address 192.168.1.30 255.255.255.0
  no shutdown
!
nve 1
  encapsulation vxlan
  source-interface outside
!
interface vni1
  segment-id 6000
  nameif vxlan6000
  security-level 0
  bridge-group 1
  vtep-nve 1
  mcast-group 235.0.0.100
!
interface vni2
  segment-id 8000
  nameif vxlan8000
  security-level 0
  bridge-group 2
  vtep-nve 1
  mcast-group 236.0.0.100
!
interface vni3
  segment-id 10000
  nameif vxlan10000
  security-level 0
  bridge-group 3
  vtep-nve 1
  mcast-group 236.0.0.100
!
interface gigabitethernet0/1.100
  nameif insidevm100
  security-level 100
  bridge-group 1
!
interface gigabitethernet0/1.200
  nameif insidevm200
  security-level 100
  bridge-group 2
!
interface gigabitethernet0/2
  nameif insidepc
  security-level 100
  bridge-group 3
!
interface bvi 1
  ip address 10.10.10.1 255.255.255.0
!
interface bvi 2
  ip address 10.20.20.1 255.255.255.0
!
interface bvi 3
  ip address 10.30.30.1 255.255.255.0

备注

  • 对于 VNI 接口 vni1 和 vni2,在封装过程中将删除内部 VLAN 标签。

  • VNI 接口 vni2 和 vni3 通过组播共享封装的 ARP 的同一组播 IP 地址。系统允许此共享。

  • ASA 基于以上 BVI 和网桥组配置,将 VXLAN 流量桥接到非 VXLAN 支持的接口。对于每个扩展的第 2 层网段(10.10.10.0/24、10.20.20.0/24 和 10.30.30.0/24),ASA 充当网桥。

  • 在网桥组中允许有多个 VNI 或多个常规接口(VLAN 或仅物理接口)。VXLAN 网段 ID 与 VLAN ID(或物理接口)之间的转发或关联,由目标 MAC 地址和连接到目标的接口决定。

  • VTEP 源接口是透明防火墙模式下,由接口配置中的 nve-only 所指示的第 3 层接口。VTEP 源接口不是 BVI 接口或管理接口,但是具有 IP 地址,并且使用路由表。

VXLAN 路由示例

请参见以下有关此示例的说明:

  • VM1 (10.10.10.10) 通过虚拟服务器 1 进行托管,VM2 (10.20.20.20) 通过虚拟服务器 2 进行托管。

  • VM1 的默认网关是 ASA,它不与虚拟服务器 1 位于同一个 pod 上,但 VM1 对此并不知晓。VM1 只知道其默认网关 IP 地址为 10.10.10.1。同样,VM2 只知道其默认网关 IP 地址为 10.20.20.1。

  • 虚拟服务器 1 和 2 上的支持 VTEP 的虚拟机监控程序可以通过相同的子网或第 3 层网络(未显示;不管是哪种情况,ASA 和虚拟服务器的上行链路都具有不同的网络地址)与 ASA 进行通信。

  • VM1 的数据包将通过其虚拟机监控程序的 VTEP 进行封装,并通过 VXLAN 隧道发送到其默认网关。

  • 当 VM1 将数据包发送到 VM2 时,对数据包而言,它将通过默认网关 10.10.10.1 进行发送。虚拟服务器 1 知道 10.10.10.1 不是本地地址,因此 VTEP 会通过 VXLAN 封装数据包,并将其发送至 ASA 的 VTEP。

  • 在 ASA 上,对数据包进行解封。在解封过程中可获取 VXLAN 网段 ID。然后,ASA 会基于 VXLAN 网段 ID 将内部帧重新注入到对应的 VNI 接口 (vni1)。ASA 然后会执行路由查找,并通过 VNI 接口 vni2 发送内部数据包所有通过 vni2 的传出数据包都使用 VXLAN 网段 8000 进行封装,并通过 VTEP 发送到外部。

  • 最终,虚拟服务器 2 的 VTEP 接收封装的数据包、解封数据包,并将数据包转发到 VM2。

ASA 配置


interface gigabitethernet0/0
  nameif outside
  ip address 192.168.1.30 255.255.255.0
  no shutdown
!
nve 1
  encapsulation vxlan
  source-interface outside
  default-mcast-group 235.0.0.100
!
interface vni1
  segment-id 6000
  nameif vxlan6000
  security-level 0
  vtep-nve 1
  ip address 10.20.20.1 255.255.255.0
!
interface vni2
  segment-id 8000
  nameif vxlan8000
  security-level 0
  vtep-nve 1
  ip address 10.10.10.1 255.255.255.0
!

VXLAN 接口历史记录

表 1. VXLAN 接口历史记录

功能名称

版本

功能信息

VXLAN VTEP IPv6 支持

9.20(1)

现在,您可以为 VXLAN VTEP 接口指定 IPv6 地址。 ASA virtual 集群控制链路或 Geneve 封装不支持 IPv6。

新增/修改的屏幕:

  • 配置 > 设备设置 > 接口设置 > VXLAN

  • 配置 > 设备设置 > 接口设置 > 接口 > 添加 > VNI 接口

ASA Virtual 用于 Azure 网关负载均衡器的已配对代理 VXLAN

9.19(1)

您可以在 Azure 中为 ASA Virtual 配置配对代理模式 VXLAN 接口,以便与 Azure 网关负载均衡器 (GWLB) 配合使用。ASA Virtual 通过利用成对代理中的 VXLAN 网段在单个 NIC 上定义外部接口和内部接口。

新增/修改的命令: external-port、external-segment-id、internal-port、internal-segment-id、proxy paired

无 ASDM 支持。

AWS 网关负载均衡器对 AWS 上 ASA virtual 的 Geneve 支持

9.17(1)

添加了 Geneve 封装支持,以支持 ASAv30、ASAv50 和 ASAv100 网关负载均衡器的单臂代理。

新增/修改的屏幕:

Configuration > Device Setup > Interface Settings > Interfaces > Add > VNI Interface


Configuration > Device Setup > Interface Settings > VXLAN

VXLAN 支持

9.4(1)

增加了 VXLAN 支持,包括 VXLAN 隧道终端 (VTEP) 支持。每个 ASA 或安全情景可以定义一个 VTEP 源接口。

引入了以下菜单项:

Configuration > Device Setup > Interface Settings > Interfaces > Add > VNI Interface


Configuration > Device Setup > Interface Settings > VXLAN