VEN Proxy Support
This section describes how to enable proxy support for the VEN on all supported operating systems: Windows, Linux, AIX, and Solaris.
For both platforms (Windows and Unix-based operating systems), the VEN does not automatically add IP addresses of proxy servers to the allowlist. Instead, be sure to write allow rules for proxy server IP addresses on the PCE. When the VEN is moved into Enforced mode, failure to write allow rules will result in permanent loss of connectivity between the VEN and the PCE. If that were to happen, the PCE will not be able to apply rules to the VEN to help restore connectivity.
Proxy support setup for the VEN is different between Unix-based versus Windows operating systems due to platform differences. The VENs for Unix-based operating systems do not require system wide proxy setting. For Unix-based VENs, each application obtains the proxy settings from the user, for example, curl --proxy myproxy:80
. On Windows, the operating system provides proxy settings; for example, the Chrome browser uses the same proxy setting as Microsoft Edge. See the topics below for the details of setting up VEN proxy support by platform.
VEN Connections via Windows Proxy Servers
For Windows workloads only, Illumio Xpress supports a VEN-to-PCE connection through proxy servers.
- The default proxy configuration on the OS is used and proxy configuration might not be required or available on the VEN.
- Only non-authenticated proxy is supported, which might require you that add an exception for the PCE address.
- Only HTTP proxy is supported. The VEN will detect the proxy automatically and configuration or mode change will not be required.
Configuration for a Windows Proxy Server
- If the network environment supports WPAD protocol, the VEN will automatically use WPAD to discovery proxies and no special configuration is required.
-
If proxy configuration is done via a PAC file, you will have to import Internet Explorer's (IE) proxy setting with the PAC file URL to the LocalSystem user (S-1-5-8). The VEN only supports
http://
PAC file URL. It does not supportfile://
URLs. - If proxies are statistically configured, you can configure using one of the following two methods:
Using
netsh winhttp set proxy
command. This method takes precedence.
Fornetsh winhttp
usage, refer to https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731131(v=ws.10).- Importing IE setting with static proxies setting to the LocalSystem user.
For importing IE settings for the VEN, refer to https://serverfault.com/questions/34940/how-do-i-configure-proxy-settings-for-local-system.
NOTE:Both IE-based proxy setting and
netsh winhttp
can be pushed to the endpoints (PCs) using Group Policy.
For information about the proxy string format to use for Windows proxy servers, see also WINHTTP_PROXY_INFO (winhttp.h) - Win32 apps in the Microsoft documentation for information.
VEN Connections via Unix-based Proxy Servers
VEN proxy support is provided for all operating systems: Windows, Linux, AIX, and Solaris systems.
In comparison with Windows, the following limitation affects this feature for Unix-based proxy servers. Illumio Xpress doesn't support the Web Proxy Auto Discovery (WPAD) protocol or proxy discovery via the Proxy Auto Discovery (PAC) file for Unix-based proxy servers. This limitation occurs because VENs use LibCurl as the HTTP transport library, but LibCurl does not provide JavaScript execution capability needed to run proxy scripts. For a workaround, see Proxies - Everything curl.
Configuration for Unix-based Proxy Servers
To set up your environment for a Unix-based proxy server, perform the following steps:
-
Set the proxy string during activation using the
--proxy-server
option. For example, useillumio-ven-ctl activate --proxy-server proxy-string
as shown:root@qual-solaris11-L:/opt/illumio# /opt/illumio_ven/illumio-ven-ctl activate --management-server example.com:8443 --activation-code <code> --proxy-server 172.24.88.114:3128 Checking Runtime Environment.......... Activating Illumio ------------------ Storing Activation Configuration ..... Starting Illumio Processes............ Pairing Status -------------- Pairing Configuration exists ......SUCCESS VEN Manager Daemon running ........SUCCESS Master Configuration retrieval ....SUCCESS VEN Configuration retrieval .......SUCCESS VEN has been SUCCESSFULLY paired with Illumio root@qual-solaris11-L:/opt/illumio# /opt/illumio_ven/illumio-ven-ctl show-proxy proxy_server: 172.24.88.114:3128
-
Set or modify the proxy string using
illumio-ven-ctl set-proxy proxy-string
and clear the proxy setting usingillumio-ven-ctl reset-proxy
as shown:[root@ven-rhel illumio_ven]# ./illumio-ven-ctl set-proxy http://proxy.example.com:3128 Updating proxy to http://proxy.example.com:3128. VEN restart needed. [root@ven-rhel illumio_ven]# ./illumio-ven-ctl restart Shutting down illumio-control: - venAgentMonitor Stopping venAgentMonitor: [ OK ] <snip> Starting illumio-control: - Environment Setting up Illumio VEN Environment: [ OK ] <snip> [root@ven-rhel illumio_ven]# ./illumio-ven-ctl show-proxy proxy_server: http://proxy.example.com:3128 [root@ven-rhel illumio_ven]# ./illumio-ven-ctl reset-proxy Resetting proxy. VEN restart needed. [root@ven-rhel illumio_ven]# ./illumio-ven-ctl restart Shutting down illumio-control: - venAgentMonitor Stopping venAgentMonitor: [ OK ] <snip> Starting illumio-control: - Environment Setting up Illumio VEN Environment: [ OK ] <snip> [root@ven-rhel illumio_ven]# ./illumio-ven-ctl show-proxy No proxy is set
- Restart the VEN after the proxy is set, modified, or cleared, except when the proxy is enabled using
--proxy-server
during activation. Query your current proxy setting using theillumio-ven-ctl show-proxy
command. -
Use the proxy string format:
[<scheme>"://"]<server>[":"<port>]
In the string format,
[]
indicates optional values in the command and<>
indicates required values in the command; therefore, specifying either--proxy-server 172.24.88.114:3128
orhttp://172.24.88.114:3128
are both valid.NOTE:When specified, only the “http” scheme is supported. Schemes such as “https” or any other schemes are not supported. For example,
http://myproxy:8080
orhttp://10.0.0.2:80
.
For Linux RPM (or AIX installp
) installation, you can set the proxy string by setting and exporting the proxy string from the VEN_PROXY_SERVER
shell variable before invoking the RPM (or installp
) command.
For Solaris pkgadd
, you can set the proxy string by setting the VEN_PROXY_SERVER
variable to an answer file (typically created using the pkgask
command).
Linux Pairing Script Activation for Proxy Servers
Typically, VENs are paired with the PCE directly. However, if a workload is behind a Web Proxy, you must follow these steps to enable your Linux/Unix VEN to successfully pair to your PCE:
- From the PCE web console main menu, choose Workloads and VENs > Pairing Profile.
- Copy the pairing line from the Linux/Unix OS Pairing Script window.
- Paste this pairing line into a text file so that you can edit it.
-
Edit the pairing line to make the following two changes (displayed in bold):
-
Add –x <proxy-string> to the curl command to indicate the proxy string.
-
Add --proxy-server <proxy-string> to the switch to pass the proxy string to the pairing script.
rm -fr /opt/illumio_ven_data/tmp && umask 026 && mkdir -p /opt/illumio_ven_data/tmp && curl –x <proxy-string> --tlsv1 "https://example.com:8443/api/v18/software/ven/image?pair_script=pair.sh&profile_id=1" -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 <server fqdn> --proxy-server <proxy-string>
-
- Paste the revised script into the Linux/Unix terminal and press Enter.
The workload starts the pairing process. As the pairing script runs, you will see success messages appear. Wait until you see the message “Workload has been SUCCESSFULLY paired with Illumio,” which means your VEN (behind a proxy server) and the PCE are paired.