KVM 上的 vSRX 虚拟防火墙要求
本节概述在 KVM 上部署 vSRX 虚拟防火墙实例的要求;
软件规格
下表列出了在 KVM 环境中部署 vSRX 虚拟防火墙时的系统软件要求规格。下表概述了 Junos OS 版本,其中引入了用于在 KVM 上部署 vSRX 虚拟防火墙的特定软件规范。您需要下载特定的 Junos OS 版本才能使用某些功能。
与 KVM 主机内核相关的页面修改日志记录 (PML) 问题可能会导致 vSRX 虚拟防火墙无法成功启动。如果在使用 vSRX 虚拟防火墙时遇到此行为,建议您在主机内核级别禁用 PML。请参阅 为 vSRX 安装准备服务器 ,了解有关在启用嵌套虚拟化过程中禁用 PML 的详细信息。
| 特性 | 规格 | 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) |
||
| 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。
|
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 版本。
|
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 主机操作系统上的其他软件包。如果您的服务器上不存在这些软件包,请参阅您的主机操作系统文档,了解如何安装它们。
|
文件包 |
版本 |
下载链接 |
|---|---|---|
|
libvirt |
0.10.0 |
|
|
virt-manager(推荐) |
0.10.0 |
硬件规格
表 7 列出了运行 vSRX 虚拟防火墙虚拟机的主机的硬件规格。
|
组件 |
规格 |
|---|---|
|
主机处理器类型 |
英特尔x86_64多核 CPU
注意:
DPDK 需要 CPU 中的英特尔虚拟化 VT-x/VT-d 支持。请参阅英特尔虚拟化技术。 |
|
对 vSRX 虚拟防火墙和 vSRX 虚拟防火墙 3.0 的物理 NIC 支持 |
注意:
如果将 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 虚拟防火墙虚拟机,请执行以下操作:
-
在 Linux 主机 OS 上使用命令
virsh list列出正在运行的 VM。hostOS# virsh list
Id Name State ---------------------------------------------------- 9 centos1 running 15 centos2 running 16 centos3 running 48 vsrx running 50 1117-2 running 51 1117-3 running
-
使用此
virsh domiflist vsrx-name命令列出该 vSRX 虚拟防火墙虚拟机上的虚拟接口。hostOS# virsh domiflist vsrx
Interface Type Source Model MAC ------------------------------------------------------- vnet1 bridge brem2 virtio 52:54:00:8f:75:a5 vnet2 bridge br1 virtio 52:54:00:12:37:62 vnet3 bridge brconnect virtio 52:54:00:b2:cd:f4
注意:第一个虚拟接口映射到 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 虚拟防火墙虚拟机的接口名称和映射。
|
网络 适配器 |
用于 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 虚拟防火墙虚拟机的接口名称和映射。
|
网络 适配器 |
用于 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 虚拟防火墙上安全策略的出厂默认设置。
|
源区段 |
目标区域 |
策略操作 |
|---|---|---|
|
信任 |
不信任 |
允许 |
|
信任 |
信任 |
允许 |
|
不信任 |
信任 |
拒绝 |