KVM 上的 vSRX 虚拟防火墙要求

本节概述在 KVM 上部署 vSRX 虚拟防火墙实例的要求;

软件规格

下表列出了在 KVM 环境中部署 vSRX 虚拟防火墙时的系统软件要求规格。下表概述了 Junos OS 版本,其中引入了用于在 KVM 上部署 vSRX 虚拟防火墙的特定软件规范。您需要下载特定的 Junos OS 版本才能使用某些功能。

注意:

与 KVM 主机内核相关的页面修改日志记录 (PML) 问题可能会导致 vSRX 虚拟防火墙无法成功启动。如果在使用 vSRX 虚拟防火墙时遇到此行为,建议您在主机内核级别禁用 PML。请参阅 为 vSRX 安装准备服务器 ,了解有关在启用嵌套虚拟化过程中禁用 PML 的详细信息。

表 1:vSRX 虚拟防火墙上的功能支持
特性 规格 Junos OS 版本介绍
vCPU/内存

2 个 vCPU / 4 GB RAM

Junos OS 15.1X49-D15 和 Junos OS 17.3R1 版本(vSRX 虚拟防火墙)

5 个 vCPU / 8 GB RAM

Junos OS 15.1X49-D70 和 Junos OS 17.3R1 版本(vSRX 虚拟防火墙)

9 个 vCPU / 16 GB RAM

Junos OS 18.4R1 版(vSRX 虚拟防火墙)

Junos OS 19.1R1 版(vSRX 虚拟防火墙 3.0)

17 个 vCPU / 32 GB RAM

Junos OS 18.4R1 版(vSRX 虚拟防火墙)

Junos OS 19.1R1 版(vSRX 虚拟防火墙 3.0)

通过额外 vRAM 灵活扩展流会话容量

不适用

Junos OS 19.1R1 版(vSRX 虚拟防火墙)

Junos OS 19.2R1 版(vSRX 虚拟防火墙 3.0)

多核扩展支持(软件 RSS)

不适用 Junos OS 19.3R1 版(仅限 vSRX 虚拟防火墙 3.0)

为路由引擎预留额外的 vCPU 核心(vSRX 虚拟防火墙和 vSRX 虚拟防火墙 3.0)

不适用  

Virtio (virtio-net, vhost-net)(vSRX 虚拟防火墙和 vSRX 虚拟防火墙 3.0)

不适用  
支持的虚拟机管理程序

Linux KVM 虚拟机管理程序支持

注意:

从此处提到的指定 Junos OS 版本开始,所有后续 Junos OS 版本也支持这些 RHEL 版本和更高版本。

Ubuntu 14.04.5、16.04 和 16.10

Junos OS 18.4R1 版
Ubuntu 18.04 和 20.04 Junos OS 20.4R1 版
Red Hat Enterprise Linux (RHEL) 7.3、7.6 和 7.7 Junos OS 18.4R1 版
红帽企业 Linux (RHEL) 8.2 Junos OS 19.2R1 版
红帽企业 Linux (RHEL) 9 Junos OS 23.4R1 版
CentOS 7.1、7.2、7.6 及 7.7 Junos OS 20.4R1 版
其他功能

云初始化

不适用 是(Junos OS 15.1X49-D100 和 Junos OS 17.4R1 及更高版本)

电源模式 IPSec (PMI)

不适用  

机箱群集

不适用 是(Junos OS 12.1X46-D10 及更高版本)

使用软件 RSS 进行基于 GTP TEID 的会话分配

不适用 是(Junos OS 19.3R1 及更高版本)

设备上的防病毒扫描引擎 (Avira)

不适用 是(Junos OS 19.4R1 及更高版本)

LLDP

不适用 是(Junos OS 21.1R1 及更高版本)

Junos 遥测接口

不适用 是(Junos OS 20.3R1 及更高版本)
系统要求

虚拟机管理程序中的硬件加速/已启用 VMX CPU 标志

不适用  

磁盘空间

16 GB(IDE 或 SCSI 驱动器)(vSRX 虚拟防火墙)

Junos OS 15.1X49-D15 和 Junos OS 17.3R1 版本

18 GB(vSRX 虚拟防火墙 3.0)

 
表 2:vSRX 虚拟防火墙上的 vNIC 支持
vNIC 版本介绍
Virtio SA 和高可用性  
基于 Intel 82599/X520 系列的 SR-IOV SA 和高可用性 Junos OS 15.1X49-D90 和 Junos OS 17.3R1 版本
基于英特尔 X710/XL710/XXV710 系列的 SR-IOV SA 和高可用性 Junos OS 15.1X49-D90 版本
基于英特尔 E810 系列的 SR-IOV SA 和高可用性 Junos OS 21.2R1 版
注意:

从 Junos OS 23.2R2 版开始,只有 ICE 驱动程序 1.12.7 与 E810 和 vSRX 3.0 兼容。低于 1.12.7 的版本会导致兼容性问题,并且不会联机显示 FPC。

基于 Mellanox ConnectX-3 的 SR-IOV SA 和高可用性 不支持
基于 Mellanox ConnectX-4/5/6 的 SR-IOV SA 和高可用性(仅限 MLX5 驱动程序)

Junos OS 18.1R1 版(vSRX 虚拟防火墙)

vSRX 虚拟防火墙 3.0 上的 Junos OS 21.2R1 及更高版本

英特尔 NIC 物理功能 (PF) PCI 直通支持

PF PCI 直通将整个物理 NIC 端口直接分配给基于内核的虚拟机 (KVM) 和 VMware ESXi 虚拟机管理程序上的 vSRX3.0 虚拟机 (VM)。借助 PF 直通,vSRX3.0 数据平面可以绕过虚拟机管理程序的虚拟交换堆栈,直接访问 NIC 硬件。具有 PF 直通 NIC 的虚拟机不支持实时迁移。通过 PF 直通分配的 NIC 专用于单个虚拟机,不能共享。

与半虚拟化 NIC 和 SR-IOV 虚拟功能 (VF) 直通相比,此部署模型改变了性能特征和操作行为。仅将 PF 直通与虚拟机管理程序、NIC 和驱动程序的合格组合一起使用。

支持的 NIC 类别映射到 DPDK PF 驱动程序,每个类别选择一个具有代表性的 NIC。

表 2:映射到 DPDK PF 驱动程序的受支持的 NIC
PF 驱动器 NIC
冰 E810
I40E XL710
ixgbe 82599
IGC* I225
IGB/E1000* I350

表 3:平台支持
虚拟机管理程序 冰 I40E ixgbe IGC IGB/E1000
KVM Y Y Y N N
Junos OS 26.2R1 版

数据平面开发工具包 (DPDK) 版本 17.05

Junos OS 18.2R1 版

数据平面开发工具包 (DPDK) 版本 18.11

vSRX 虚拟防火墙支持 DPDK 18.11 版。借助此功能,vSRX 虚拟防火墙上的 Mellanox 连接网络接口卡 (NIC) 现在支持 OSPF、组播和 VLAN。

Junos OS 19.4R1 版

数据平面开发工具包 (DPDK) 版本 20.11

我们已将数据平面开发工具包 (DPDK) 从版本 18.11 升级到版本 20.11。新版本支持 ICE 轮询模式驱动程序 (PMD),可在 vSRX 虚拟防火墙 810 上启用物理英特尔 E100 系列 3.0G NIC 支持。
Junos OS 21.2R1 版
注意:

使用 KVM 上的 vSRX 虚拟防火墙部署要求您在包含英特尔虚拟化技术 (VT) 处理器的主机操作系统上启用基于硬件的虚拟化。您可以在此处验证 CPU 兼容性: http://www.linux-kvm.org/page/Processor_support

下表列出了 vSRX 虚拟防火墙虚拟机的规格。

从 Junos OS 19.1R1 版开始,vSRX 虚拟防火墙实例支持使用 9 或 17 个 vCPU,并通过 Linux KVM 虚拟机管理程序上的英特尔 X710/XL710 实现单根 I/O 虚拟化的来宾操作系统,以提高可扩展性和性能。

针对 vSRX 虚拟防火墙的 KVM 内核建议

表 5 列出了在 KVM 上部署 vSRX 虚拟防火墙时,适用于 Linux 主机操作系统的推荐 vSRX 虚拟防火墙版本。下表概述了引入对特定 Linux 内核版本的支持的 Junos OS 版本。

表 5:KVM 的内核建议

Linux 发行版

Linux 内核版本

支持的 Junos OS 版本

CentOS

3.10.0.229

升级 Linux 内核以捕获推荐版本。

Junos OS 15.1X49-D15 和 Junos OS 17.3R1 或更高版本

Ubuntu 的

3.16

Junos OS 15.1X49-D15 和 Junos OS 17.3R1 或更高版本

4.4

Junos OS 15.1X49-D15 和 Junos OS 17.3R1 或更高版本

18.04

Junos OS 20.4R1 或更高版本

20.04

Junos OS 20.4R1 或更高版本

RHEL

3.10

Junos OS 15.1X49-D15 和 Junos OS 17.3R1 或更高版本

KVM 上的 vSRX 虚拟防火墙的其他 Linux 软件包

表 6 列出了在 KVM 上运行 vSRX 虚拟防火墙所需的 Linux 主机操作系统上的其他软件包。如果您的服务器上不存在这些软件包,请参阅您的主机操作系统文档,了解如何安装它们。

表 6:用于 KVM 的其他 Linux 软件包

文件包

版本

下载链接

libvirt

0.10.0

libvirt 下载

virt-manager(推荐)

0.10.0

virt-manager 下载

硬件规格

表 7 列出了运行 vSRX 虚拟防火墙虚拟机的主机的硬件规格。

表 7:主机的硬件规格

组件

规格

主机处理器类型

英特尔x86_64多核 CPU

注意:

DPDK 需要 CPU 中的英特尔虚拟化 VT-x/VT-d 支持。请参阅英特尔虚拟化技术。

对 vSRX 虚拟防火墙和 vSRX 虚拟防火墙 3.0 的物理 NIC 支持

  • Virtio

  • SR-IOV(英特尔 X710/XL710、X520/540、82599)

  • SR-IOV(Mellanox ConnectX-3/ConnectX-3 Pro 和 Mellanox ConnectX-4 EN/ConnectX-4 Lx EN)

注意:

如果将 SR-IOV 与 Mellanox ConnectX-3 或 ConnectX-4 系列适配器一起使用,请在 Linux 主机上安装最新的 MLNX_OFED Linux 驱动程序。

注意:

您必须启用英特尔 VT-d 扩展才能为每个来宾直接分配物理设备提供硬件支持。请参阅 在 KVM 上配置 SR-IOV 和 PCI。

vSRX 虚拟防火墙 3.0 的物理 NIC 支持

支持 Intel X710/XL710/XXV710 和 Intel E810 上的 SR-IOV。

提高 vSRX 虚拟防火墙性能的最佳实践

查看以下做法,提高 vSRX 虚拟防火墙的性能。

NUMA 节点

x86 服务器架构由多个套接字和套接字内的多个内核组成。每个套接字都有内存,用于在从 NIC 到主机的 I/O 传输期间存储数据包。为了有效地从内存中读取数据包,来宾应用程序和相关外围设备(如 NIC)应驻留在单个套接字中。惩罚与跨越内存访问的 CPU 套接字相关联,这可能会导致不确定的性能。对于 vSRX 虚拟防火墙,我们建议将 vSRX 虚拟防火墙虚拟机的所有 vCPU 位于同一个物理非统一内存访问 (NUMA) 节点中,以获得最佳性能。

注意:

如果在虚拟机管理程序中将 NUMA 节点拓扑配置为将实例的 vCPU 分布到多个主机 NUMA 节点上,则vSRX 虚拟防火墙上的数据包转发引擎 (PFE) 将变得无响应。vSRX 虚拟防火墙要求您确保所有 vCPU 都驻留在同一个 NUMA 节点上。

建议通过设置 NUMA 节点关联性,将 vSRX 虚拟防火墙实例与特定的 NUMA 节点进行绑定。NUMA 节点关联会将 vSRX 虚拟防火墙虚拟机资源调度限制为仅指定的 NUMA 节点。

将虚拟接口映射到 vSRX 虚拟防火墙虚拟机

要确定 Linux 主机操作系统上的哪些虚拟接口映射到 vSRX 虚拟防火墙虚拟机,请执行以下操作:

  1. 在 Linux 主机 OS 上使用命令 virsh list 列出正在运行的 VM。

  2. 使用此 virsh domiflist vsrx-name 命令列出该 vSRX 虚拟防火墙虚拟机上的虚拟接口。

    注意:

    第一个虚拟接口映射到 Junos OS 中的 fxp0 接口。

KVM 上 vSRX 虚拟防火墙的接口映射

为 vSRX 虚拟防火墙定义的每个网络适配器都会映射到特定接口,具体取决于 vSRX 虚拟防火墙实例是独立虚拟机还是为了实现高可用性的群集对之一。 表 8 和 表 9 显示了 vSRX 虚拟防火墙中的接口名称和映射。

请注意以下几点:

  • 在独立模式下:

    • fxp0 是带外管理接口。

    • ge-0/0/0 是第一个流量(收入)接口。

  • 在群集模式下:

    • fxp0 是带外管理接口。

    • em0 是两个节点的群集控制链路。

    • 可以将任何流量接口指定为交换矩阵链路,例如,节点 0 上的 ge-0/0/0 表示 fab0,节点 1 上的 ge-7/0/0 表示 fab1。

表 8 显示了独立 vSRX 虚拟防火墙虚拟机的接口名称和映射。

表 8:独立 vSRX 虚拟防火墙虚拟机的接口名称

网络 适配器

用于 vSRX 虚拟防火墙的 Junos OS 中的接口名称

1

fxp0

2

ge-0/0/0

3

ge-0/0/1

4

ge-0/0/2

5

ge-0/0/3

6

ge-0/0/4

7

ge-0/0/5

8

ge-0/0/6

表 9 显示了群集(节点 0 和节点 1)中一对 vSRX 虚拟防火墙虚拟机的接口名称和映射。

表 9:vSRX 虚拟防火墙群集对的接口名称

网络 适配器

用于 vSRX 虚拟防火墙的 Junos OS 中的接口名称

1

fxp0(节点 0 和 1)

2

em0(节点 0 和 1)

3

ge-0/0/0(节点 0)ge-7/0/0(节点 1)

4

ge-0/0/1(节点 0)ge-7/0/1(节点 1)

5

ge-0/0/2(节点 0)ge-7/0/2(节点 1)

6

ge-0/0/3(节点 0)ge-7/0/3(节点 1)

7

ge-0/0/4(节点 0)ge-7/0/4(节点 1)

8

ge-0/0/5(节点 0)ge-7/0/5(节点 1)

KVM 上的 vSRX 虚拟防火墙默认设置

vSRX 虚拟防火墙需要以下基本配置设置:

  • 必须为接口分配 IP 地址。

  • 接口必须绑定到区域。

  • 必须在区域之间配置策略以允许或拒绝流量。

表 10 列出了 vSRX 虚拟防火墙上安全策略的出厂默认设置。

表 10:安全性策略的出厂默认设置

源区段

目标区域

策略操作

信任

不信任

允许

信任

信任

允许

不信任

信任

拒绝