There are three types of macOS Client. For a quick overview of the differences, refer to the Client compatibility matrix.
Designed for normal enterprise usage - including pre-installation as part of standard builds | |
For installation on unattended machines such as Servers. | |
For normal enterprise usage where an always-on connection to/from certain (protected) hosts is required |
Ensure the Client version is designed for use with the associated software OS version. See the Download Center for more information.
NOTE
When macOS FileVault is enabled, the headless Client will not be started on boot by the operating system until a user with permission to decrypt the drive logs in. This affects both the Headless and the Always-On Clients.
Installing macOS Clients
All the elements required for full, headless, and always-on Clients are installed from the standard installer file. The pages for each type of macOS Client contain more specific details about the installation of each.
The default installation will operate as a full Client. Modifying the Client to operate in either headless or always-on modes requires some manual configurations. See macOS headless Client for details.
It is not uncommon for end-point protection software to interfere with or break the installation of the Client. The Client contains a number of components/executables which may need to be allowed within the end-point protection software.
Uninstalling macOS Clients
Run the AppGate SDP Uninstaller script in the .dmg file used to install the Client to uninstall it.
There is an option to keep saved configurations and credentials in Keychain. Other configurations will be removed.
Never try to partially uninstall the Client, for example removing only the AppGate ZTNA driver.
You can manually uninstall the Client by running the following as root:
/Library/Application\ Support/Appgate/interactive-uninstall
To remove all secrets stored in the Keychain, run the following as root:
/Library/Application\ Support/Appgate/interactive-uninstall --clear-settings
Components and executables for macOS Clients
Upgraded Clients may retain some existing paths even when new paths are used. This only shows the paths used in new installations.
Location | Component/Executable | Description |
|---|---|---|
|
| Contains the executable |
|
| The virtual network adapter that handles connections to the Gateways. |
| Contains the executable AppGate Service and runs as USER handling the business logic. | |
| Runs with root privileges handling auto-update of the Client. | |
| Used for headless and always-on Clients. | |
| Tool to control the headless Client. Requires that the AppGate Service is running. | |
| The uninstall script. | |
| Runs with root privileges and full disk access rights. | |
|
| The configuration file containing the parameters required for the headless Client to sign-in. |
Setting defaults
You can configure some default options by running the following commands:
Option | Command |
|---|---|
Skip the data usage user approval screen |
|
Prevent the running of device claim scripts |
|
Set multiple default profiles after a fresh install of the Client Each profile should be separated using a semicolon encapsulated in quotes ["profile1;profile2"] |
|
Set the default attention mode |
|
Prevent the full Client from auto-starting on boot |
|
Configuration settings
To list local firewall rules |
|
To clean all Client settings |
|
To remove a profile link |
|
To remove all stored passwords and certificates |
The following image shows typical AppGate Keychain entries:
|
DNS configuration
The Client comes with the option of running a custom DNS script. The custrom script tries to change the network configuration when connecting to AppGate ZTNA, so that the AppGate ZTNA DNS is called for AppGate ZTNA domains. The regular DNS will remain in charge of resolving everything else. You might require this if you are using legacy applications that rely on resolving through /etc/resolv.conf, for example.
To achieve this, add a script that will be will be used when the Client connects. The script resets the network configuration when AppGate ZTNA disconnects.
To use a custom DNS script:
Create your script and save it somewhere, such as in
/etc/custom_dns_script.shCreate a new file containing the line
dns_script=/etc/custom_dns_script.shSave this file as
/etc/appgate.conf
When the Client connects, the script will be called with:
--servers <dns-server-ips> --domains <dns-domains>
When the Client disconnects, the script will be called with:
--reset
