Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Requirements for vSRX Virtual Firewall on KVM

This section presents an overview of requirements for deploying a vSRX Virtual Firewall instance on KVM;

Software Specifications

The table below lists the system software requirement specifications when deploying vSRX Virtual Firewall in a KVM environment. The table outlines the Junos OS release in which a particular software specification for deploying vSRX Virtual Firewall on KVM was introduced. You will need to download a specific Junos OS release to take advantage of certain features.

CAUTION:

A Page Modification Logging (PML) issue related to the KVM host kernel might prevent the vSRX Virtual Firewall from successfully booting. If you experience this behavior with the vSRX Virtual Firewall, we recommend that you disable the PML at the host kernel level. See Prepare Your Server for vSRX Installation for details about disabling the PML as part of enabling nested virtualization.

Table 1: Feature Support on vSRX Virtual Firewall
Features Specification Junos OS Release Introduced
vCPUs/Memory

2 vCPU / 4 GB RAM

Junos OS Release 15.1X49-D15 and Junos OS Release 17.3R1 (vSRX Virtual Firewall)

5 vCPU / 8 GB RAM

Junos OS Release 15.1X49-D70 and Junos OS Release 17.3R1 (vSRX Virtual Firewall)

9 vCPU / 16 GB RAM

Junos OS Release 18.4R1 (vSRX Virtual Firewall)

Junos OS Release 19.1R1 (vSRX Virtual Firewall 3.0)

17 vCPU / 32 GB RAM

Junos OS Release 18.4R1 (vSRX Virtual Firewall)

Junos OS Release 19.1R1 (vSRX Virtual Firewall 3.0)

Flexible flow session capacity scaling by an additional vRAM

NA

Junos OS Release 19.1R1 (vSRX Virtual Firewall)

Junos OS Release 19.2R1 (vSRX Virtual Firewall 3.0)

Multicore scaling support (Software RSS)

NA Junos OS Release 19.3R1 (vSRX Virtual Firewall 3.0 only)

Reserve additional vCPU cores for the Routing Engine (vSRX Virtual Firewall and vSRX Virtual Firewall 3.0)

NA  

Virtio (virtio-net, vhost-net) (vSRX Virtual Firewall and vSRX Virtual Firewall 3.0)

NA  
Supported Hypervisors

Linux KVM Hypervisor support

Note:

Starting with the specified Junos OS Releases mentioned here, all subsequent Junos OS Releases also support these RHEL versions and later releases.

Ubuntu 14.04.5, 16.04, and 16.10

Junos OS Release 18.4R1
Ubuntu 18.04 and 20.04 Junos OS Release 20.4R1
Red Hat Enterprise Linux (RHEL) 7.3, 7.6, and 7.7 Junos OS Release 18.4R1
Red Hat Enterprise Linux (RHEL) 8.2 Junos OS Release 19.2R1
Red Hat Enterprise Linux (RHEL) 9 Junos OS Release 23.4R1
CentOS 7.1, 7.2, 7.6, and 7.7 Junos OS Release 20.4R1
Other Features

Cloud-init

NA  

Powermode IPSec (PMI)

NA  

Chassis cluster

NA  

GTP TEID based session distribution using Software RSS

NA Yes (Junos OS Release 19.3R1 onwards)

On-device antivirus scan engine (Avira)

NA Yes (Junos OS Release 19.4R1 onwards)

LLDP

NA Yes (Junos OS Release 21.1R1 onwards)

Junos Telemetry Interface

NA Yes (Junos OS Release 20.3R1 onwards)
System Requirements

Hardware acceleration/enabled VMX CPU flag in the hypervisor

NA  

Disk space

16 GB (IDE or SCSI drives) (vSRX Virtual Firewall)

Junos OS Release 15.1X49-D15 and Junos OS Release 17.3R1

18 GB (vSRX Virtual Firewall 3.0)

 
Table 2: vNIC Support on vSRX Virtual Firewall
vNICs Release Introduced
Virtio SA and HA  
SR-IOV SA and HA over Intel 82599/X520 series Junos OS Release 15.1X49-D90 and Junos OS Release 17.3R1
SR-IOV SA and HA over Intel X710/XL710/XXV710 series Junos OS Release 15.1X49-D90
SR-IOV SA and HA over Intel E810 series Junos OS Release 21.2R1
Note:

Starting with Junos OS Release 23.2R2, only ICE driver 1.12.7 is compatible for E810 with vSRX 3.0. Version below 1.12.7 causes compatibility issue and will not bring up the FPC online.

SR-IOV SA and HA over Mellanox ConnectX-3 Not supported
SR-IOV SA and HA over Mellanox ConnectX-4/5/6 (MLX5 driver only)

Junos OS Release 18.1R1 (vSRX Virtual Firewall)

Junos OS Release 21.2R1 onwards on vSRX Virtual Firewall 3.0

PCI passthrough over Intel 82599/X520 series Not supported
PCI passthrough over Intel X710/XL710 series Not supported

Data Plane Development Kit (DPDK) version 17.05

Junos OS Release 18.2R1

Data Plane Development Kit (DPDK) version 18.11

Starting in Junos OS Release 19.4R1, DPDK version 18.11 is supported on vSRX Virtual Firewall. With this feature the Mellanox Connect Network Interface Card (NIC) on vSRX Virtual Firewall now supports OSPF Multicast and VLANs.

Junos OS Release 19.4R1

Data Plane Development Kit (DPDK) version 20.11

Starting in Junos OS Release 21.2R1, we've upgraded the Data Plane Development Kit (DPDK) from version 18.11 to version 20.11. The new version supports ICE Poll Mode Driver (PMD), which enables the physical Intel E810 series 100G NIC support on vSRX Virtual Firewall 3.0.
Junos OS Release 21.2R1
Note:

A vSRX Virtual Firewall on KVM deployment requires you to enable hardware-based virtualization on a host OS that contains an Intel Virtualization Technology (VT) capable processor. You can verify CPU compatibility here: http://www.linux-kvm.org/page/Processor_support

The table below lists the specifications on the vSRX Virtual Firewall VM.

Starting in Junos OS Release 19.1R1, the vSRX Virtual Firewall instance supports guest OS using 9 or 17 vCPUs with single-root I/O virtualization over Intel X710/XL710 on Linux KVM hypervisor for improved scalability and performance.

KVM Kernel Recommendations for vSRX Virtual Firewall

Table 3 lists the recommended Linux kernel version for your Linux host OS when deploying vSRX Virtual Firewall on KVM. The table outlines the Junos OS release in which support for a particular Linux kernel version was introduced.

Table 3: Kernel Recommendations for KVM

Linux Distribution

Linux Kernel Version

Supported Junos OS Release

CentOS

3.10.0.229

Upgrade the Linux kernel to capture the recommended version.

Junos OS Release 15.1X49-D15 and Junos OS Release 17.3R1 or later release

Ubuntu

3.16

Junos OS Release 15.1X49-D15 and Junos OS Release 17.3R1 or later release

4.4

Junos OS Release 15.1X49-D15 and Junos OS Release 17.3R1 or later release

18.04

Junos OS Release 20.4R1 or later release

20.04

Junos OS Release 20.4R1 or later release

RHEL

3.10

Junos OS Release 15.1X49-D15 and Junos OS Release 17.3R1 or later release

Additional Linux Packages for vSRX Virtual Firewall on KVM

Table 4 lists the additional packages you need on your Linux host OS to run vSRX Virtual Firewall on KVM. See your host OS documentation for how to install these packages if they are not present on your server.

Table 4: Additional Linux Packages for KVM

Package

Version

Download Link

libvirt

0.10.0

libvirt download

virt-manager (Recommended)

0.10.0

virt-manager download

Hardware Specifications

Table 5 lists the hardware specifications for the host machine that runs the vSRX Virtual Firewall VM.

Table 5: Hardware Specifications for the Host Machine

Component

Specification

Host processor type

Intel x86_64 multi-core CPU

Note:

DPDK requires Intel Virtualization VT-x/VT-d support in the CPU. See About Intel Virtualization Technology.

Physical NIC support for vSRX Virtual Firewall and vSRX Virtual Firewall 3.0

  • Virtio

  • SR-IOV (Intel X710/XL710, X520/540, 82599)

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

Note:

If using SR-IOV with either the Mellanox ConnectX-3 or ConnectX-4 Family Adapters, on the Linux host, if necessary, install the latest MLNX_OFED Linux driver. See Mellanox OpenFabrics Enterprise Distribution for Linux (MLNX_OFED).

Note:

You must enable the Intel VT-d extensions to provide hardware support for directly assigning physical devices per guest. See Configure SR-IOV and PCI on KVM.

Physical NIC support for vSRX Virtual Firewall 3.0

Support SR-IOV on Intel X710/XL710/XXV710, and Intel E810.

Best Practices for Improving vSRX Virtual Firewall Performance

Review the following practices to improve vSRX Virtual Firewall performance.

NUMA Nodes

The x86 server architecture consists of multiple sockets and multiple cores within a socket. Each socket has memory that is used to store packets during I/O transfers from the NIC to the host. To efficiently read packets from memory, guest applications and associated peripherals (such as the NIC) should reside within a single socket. A penalty is associated with spanning CPU sockets for memory accesses, which might result in nondeterministic performance. For vSRX Virtual Firewall, we recommend that all vCPUs for the vSRX Virtual Firewall VM are in the same physical non-uniform memory access (NUMA) node for optimal performance.

CAUTION:

The Packet Forwarding Engine (PFE) on the vSRX Virtual Firewall will become unresponsive if the NUMA nodes topology is configured in the hypervisor to spread the instance’s vCPUs across multiple host NUMA nodes. vSRX Virtual Firewall requires that you ensure that all vCPUs reside on the same NUMA node.

We recommend that you bind the vSRX Virtual Firewall instance with a specific NUMA node by setting NUMA node affinity. NUMA node affinity constrains the vSRX Virtual Firewall VM resource scheduling to only the specified NUMA node.

Mapping Virtual Interfaces to a vSRX Virtual Firewall VM

To determine which virtual interfaces on your Linux host OS map to a vSRX Virtual Firewall VM:

  1. Use the virsh list command on your Linux host OS to list the running VMs.

  2. Use the virsh domiflist vsrx-name command to list the virtual interfaces on that vSRX Virtual Firewall VM.

    Note:

    The first virtual interface maps to the fxp0 interface in Junos OS.

Interface Mapping for vSRX Virtual Firewall on KVM

Each network adapter defined for a vSRX Virtual Firewall is mapped to a specific interface, depending on whether the vSRX Virtual Firewall instance is a standalone VM or one of a cluster pair for high availability. The interface names and mappings in vSRX Virtual Firewall are shown in Table 6 and Table 7.

Note the following:

  • In standalone mode:

    • fxp0 is the out-of-band management interface.

    • ge-0/0/0 is the first traffic (revenue) interface.

  • In cluster mode:

    • fxp0 is the out-of-band management interface.

    • em0 is the cluster control link for both nodes.

    • Any of the traffic interfaces can be specified as the fabric links, such as ge-0/0/0 for fab0 on node 0 and ge-7/0/0 for fab1 on node 1.

Table 6 shows the interface names and mappings for a standalone vSRX Virtual Firewall VM.

Table 6: Interface Names for a Standalone vSRX Virtual Firewall VM

Network Adapter

Interface Name in Junos OS for vSRX Virtual Firewall

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

Table 7 shows the interface names and mappings for a pair of vSRX Virtual Firewall VMs in a cluster (node 0 and node 1).

Table 7: Interface Names for a vSRX Virtual Firewall Cluster Pair

Network Adapter

Interface Name in Junos OS for vSRX Virtual Firewall

1

fxp0 (node 0 and 1)

2

em0 (node 0 and 1)

3

ge-0/0/0 (node 0)ge-7/0/0 (node 1)

4

ge-0/0/1 (node 0)ge-7/0/1 (node 1)

5

ge-0/0/2 (node 0)ge-7/0/2 (node 1)

6

ge-0/0/3 (node 0)ge-7/0/3 (node 1)

7

ge-0/0/4 (node 0)ge-7/0/4 (node 1)

8

ge-0/0/5 (node 0)ge-7/0/5 (node 1)

vSRX Virtual Firewall Default Settings on KVM

vSRX Virtual Firewall requires the following basic configuration settings:

  • Interfaces must be assigned IP addresses.

  • Interfaces must be bound to zones.

  • Policies must be configured between zones to permit or deny traffic.

Table 8 lists the factory-default settings for security policies on the vSRX Virtual Firewall.

Table 8: Factory Default Settings for Security Policies

Source Zone

Destination Zone

Policy Action

trust

untrust

permit

trust

trust

permit

untrust

trust

deny