Pairing Script and Package Installation (Linux & Windows)
The following information is provided for your reference so that you understand the process and events that occur when you install a VEN by using a pairing script in the PCE or by installing a package with the CLI.
Linux Pairing Script for VEN Library
The following example shows a typical Linux pairing script. The pairing script works with the VEN Library in the PCE web console:
rm -fr /opt/illumio_ven_data/tmp && \ umask 026 && mkdir -p /opt/illumio_ven_data/tmp && \ curl --tlsv1 "https://example.com:8443/api/v18/software/ven/image?pair_script=pair.sh&profile_id=2" -o /opt/illumio_ven_data/tmp/pair.sh && \ chmod +x /opt/illumio_ven_data/tmp/pair.sh && \ /opt/illumio_ven_data/tmp/pair.sh \ --management-server example.com:8443 \ --activation-code <code>
This pairing script performs the following actions on the workload:
Deletes the
/opt/illumio_ven_data/tmp
directory, if it already exists.Changes
umask
to026
to prevent thegroup-write
andothers-read,write
permissions as it creates the/opt/illumio_ven_data/tmp
directory.Uses curl to download the pairing script from the VEN repository and store it in the
/opt/illumio_ven_data/tmp
directory.Changes the script permissions to allow execution.
Runs the
opt/illumio_ven_data/tmp
script with the following command line options:6.
--management-server
to communicate with the PCE7.
--activation-code
to authenticate the VEN to the PCE and authorize the VEN to pair with the PCE
The pair script installs the VEN packages on the workload and pairs the VEN with the PCE. The output of pair is captured in /var/log/illumio_install.log
.
Next, the script performs the following operations:
Detects OS release and CPU architecture. Ensure the combination is supported.
Downloads the package to
/opt/illumio_ven_data/tmp
.Uses native OS package manager (detected by line 1) to install the package.
Using native package managers is simpler for newer operating systems. For example, Illumio can use yum to manage package dependencies for the VEN and workloads. For older operating systems, customers have to manage dependencies by manually installing packages.
Verifies installation by invoking installed scripts.
Invokes
/opt/illumio_ven/bin/init_Platform start
.Generates the activation file
/opt/illumio_ven_data/etc/agent_activation.cfg
.Invokes
/opt/illumio_ven/bin/agent_status.sh
to activate the VEN.
RPM Installation
RPM installation performs the following operations:
Creates the
ilo-ven
user and group, unless a custom username is specified at installation.Prepares and then starts the Illumio Core to perform the following actions:
Loads the necessary kernel modules:
ip_tables
,iptable_filter
,nf_conntrack
,nf_conntrack_ipv4
,nf_conntrack_ftp
,ipt_LOG, ip_set
,ip6_tables
,ip6table_filter
,nf_conntrack_ipv6
,ip6t_LOG
Sets
net.netfilter.nf_conntrack_tcp_timeout_established
to 8 hours (28,800 seconds).Takes control of the system firewall.
Disables and stops the system firewall service iptables.
This action is acceptable because the Illumio services act in place of the iptables service.
Saves existing iptables rules if any.
Loads iptables rules computed from PCE firewall policy.
Starts the VEN components described in "Description of VEN Components" in the VEN Administration Guide .
This step includes monitoring system iptables configuration (similar to the service iptables performed).
Windows Pairing Script
The following example shows a typical Windows pairing script. The pairing script works with the VEN Library in the PCE web console. (Line breaks have been added for readability only.)
PowerShell -Command "& {Set-ExecutionPolicy -Scope process remotesigned -Force; Start-Sleep -s 3; Set-Variable -Name ErrorActionPreference -Value SilentlyContinue; [System.Net.ServicePointManager]::SecurityProtocol=[Enum]::ToObject([System.Net.SecurityProtocolType], 3072); Set-Variable -Name ErrorActionPreference -Value Continue; (New-Object System.Net.WebClient).DownloadFile('https://example.com:8443/api/v18/software/ven/image?pair_script=pair.ps1&profile_id=1', (echo $env:windir\temp\pair.ps1)); & $env:windir\temp\pair.ps1 -management-server example.com:8443 -activation-code <code> }"
This pairing script performs the following actions on the workload:
Changes execution policy of the host PowerShell process to RemoteSigned.
Configures the .NET framework
System.Net
class to negotiate TLS 1.2.The Windows VEN uses “3072” instead of “Tls12” because the
enum
value is not defined in older Windows operating systems. Whensystem.net
does not support TLS 1.2, the script fallbacks to using the system default.Using the .NET framework
WebClient
class, downloadspair.ps1
from the VEN repository and stores it in the$env:windir\temp
directory.Runs the
pair.ps1
script with the following command line options:-management-server
: Used by the VEN to communicate with the PCE-activation-code
: Used by the PCE to authenticate and authorize the VEN during the pairing process
The pairing script installs the VEN packages on the workload and pairs the VEN with the PCE. The output of
pair.ps1
is captured in$env:windir\temp\illumio.log
or$env:tmp\illumio.log
.The script performs the following actions:
Downloads the VEN installer from the VEN repository and installs it.
Generates
agent_activation.cfg
file with PCE informationRetrieves agent activation status and displays it.