ApplicGate
(v11.1.8216.21656 started 2022-06-30 10:03:49 on VM1)

Backup (hot standby) configuration:
Two instances of the Application Gateway can run in an active (primary) and hot standby (backup) configuration.
The machines where the instances of the Application Gateway are runninng must have at least two network interfaces.
On one interface the backup machine pings the primary to see if it is running.
The other interfaces have the same MAC addresses and IP addresses on the primary and backup machine.
On the backup machine these interfaces are disabled whenn the primary machine is running.
These interfaces will be enabled on the backup if the backup does not get a ping response from the primary.

If an Application Gateway should run in a hot standby configuration a 3rd argument in the command line at process start must be specified.
This 3rd argument specifies a subkey of HKLM\SOFTWARE\SimAppGw\ or a file name.
Notes:
- If the specified string contains "." (full stop) then the values mentioned below are stored in a file using this string as file name (may contain a path).
- ApplicGate for .NET version 5.0 (or higher) does not support the registry, therefore a file must be used to store the values.
- If the file does not exist it will be created by the Application Gateway and initialized with the default settings.
- Each value is stored within a separate line.
- Syntax is name=value (for integer) and name==value (for strings)

Without this 3rd argument the Application Gateway runs in primary mode.

Additionally this mechanism can be used to update the configuration files from a central Application Gateway installation:
Multiple instances of the Application Gateway runing as primary can share the same configuration files.
Differences in the routing table can be configured using the keyword "NODE".
AddressOfPrimary and MinTableLoad (<0) must be configured. All other values are not used (see below).

Following names and values are used:
Note:
- If a value (within registry or file) does not exist it will be initialized with a default setting (see below).
- Ensure full access to the registry key by the Application Gateway!

BackupState:
-1 .. gateway runs as primary (0xffffffff)
0 ... gateway runs as backup, standby mode
3 ... gateway runs as backup, active mode
Modes can be switched via configuration menu.

AddressOfPrimary (optional):
IP address and port number to load routing table, group table and OTP list from primary, e.g. 158.123.1.3:6000 or [fe80::2e0:81ff:fe73:379a]:88
IPaddress:port should point to a manage routing entry of the primary Application Gateway.
If port is not specified: Loading of configuration (see MinTableLoad) is not possible but pings will be done (dependent on value PrimaryNoResponseMax).
Hint: If there is an authentication necessary at the primary a local rule has to be specified to configure the necessary certificates (PrimaryNoResponseMax should be 0 in that case).

MinTableLoad:
Interval in minutes to load tables from primary automatically:
If MinTableLoad>0: In standby mode following tables will be loaded from primary:
-- routing table, group table, OTP list, ReverselogonData.csv, UIDlist.csv
-- If the routing table, group table or OTP list has been changed, the old one will be renamed with actual date (yyyy-MM-dd_HHmmss_) as prefix.
If MinTableLoad<0: routing table, group table and OTP list will be loaded in primary mode also (interval is absolute value)
-- This can be used to share configuration files but statistics data such as ReverselogonData.csv and UIDlist.csv are separate.
If MinTableLoad=0: no table load

PrimaryNoResponseMax:
Number of 10 second units without response from primary to change from Standby to Active
Remark: Every 10 seconds standby sends ping requests to primary (AddressOfPrimary)
If PrimaryNoResponseMax=0: no automatic failover

CmdActive (optional):
Command to execute when switching from standby to active mode, usually to enable LAN interfaces e.g.
Examples for scripts on Windows can be found here

CmdStandby (optional):
Command to execute when switching from active to standby mode, usually to disable LAN interfaces e.g.
Examples for scripts on Windows can be found here

maxProcTime (optional):
Maximum wait time (in seconds) for commands when switching from active to standby mode
Default value is 60 seconds, negative value means infinite wait.

If a value does not exist, it will be initialized as follows:
BackupState=0
AddressOfPrimary==
MinTableLoad=15
PrimaryNoResponseMax=0
CmdActive==
CmdStandby==
maxProcTime=60

Following keywords are used in the routing table for primary-backup processing:
(any combination possible, BCA+BCS=BCK, especially used for entries to allow management of gateways)
BCA ... entry for backup active only
BCK ... entry for backup only (active and standby mode)
BCS ... entry for backup standby only
PRM ... entry for primary only
If both BCK and PRM are specified: entry is active for all modes, usually used for management entries with gateway IP 127.0.0.1.
All other entries (no keyword out of the list above specified) are active at the primary gateway and the backup gateway in active mode (not active in standby mode).

Remarks:
BackupState (modes) can be switched via the operater interface.
For automatic switch PrimaryNoResponseMax must be > 0 and CmdActive and/or CmdStandby must be defined.
Before switching from standby to active mode don't forget to define all necessary IP addresses at the local interfaces.
On Windows this can be done using the command "netsh interface ip add adress ..." .

Values can be loaded via configuration menu "Reload backup configuration" or updated via web interface "Update backup configuration".
This can be done via manage links only if accessed via loopback address or the keyword BCKUPD is defined.

Sample picture for primary - backup configuration in a high security and high availability environment

ApplicGate Logo  reinhold.leitner@applicgate.com (C) June 2022
www.applicgate.com