I was working from home on our company VPN, connected to one of our internal relays. After disconnecting from the VPN, I expected my device to failover to one of our public relays, but instead it continued trying to connect to the internal relay for about an hour. Ideally it would switch over relays instantly, but some time under 15 minutes would be acceptable.
Here are some clientsettings we have configured, I think all that are relevant:
_BESClient_RelaySelect_AlwaysOnIPListChange=1
_BESClient_RelaySelect_FailoverRelay=externalrelay1;externalrelay2
_BESClient_RelaySelect_IntervalSeconds=43200
_BESClient_RelaySelect_MaximumTTLToPing=20
_BESClient_RelaySelect_MaxRetryIntervalSeconds=14400
_BESClient_RelaySelect_MinRetryIntervalSeconds=60
_BESClient_RelaySelect_ResistFailureIntervalSeconds=600
_BESClient_Register_Affiliation_SeekList=Internal;*
Automatic relay selection is enabled for my endpoint. Ping is not possible to our external relays from inside or outside our network, but the internal relays can be pinged internally.
Our internal relays have a _BESRelay_Register_Affiliation_AdvertisementList of Internal;*, and our external relays are DMZ;*. We skipped adding DMZ to our clients' affiliation seeklist because they can't be pinged anyway.
When I disconnected from my VPN, as expected I got the following in the log file:
At 20:45:58 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay:52311/cgi-bin/bfenterprise/BESGatherMirror.exe?url=http://rootserver:52311/cgi-bin/bfgather.exe/CustomSite_BigFix_Administration&Time=19Aug20:43:27&rand=d88d574f&ManyVersionSha1=d47fb82c490c3403da4470799f695fe2a36d4a89
That same error (rotating slightly for the different sites it was trying to gather) repeated again at the following times:
At 20:51:10 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 20:53:41 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 20:56:11 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 20:59:45 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 21:02:16 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 21:04:46 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 21:07:16 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 21:09:47 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 21:13:21 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 21:15:52 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 21:18:22 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 21:20:53 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 21:23:23 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 21:27:08 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 21:29:38 -0400 -
FAILED to Synchronize - General transport failure. - SOCKET CONNECT (socket error 4294967288 - gather url - http://internalrelay[...]
At 21:30:27 -0400 -
FAILED to Synchronize - User interrupted process. - gather url -
At 21:30:31 -0400 -
Client shutdown (Service manager stop request)
At the end I tried restarting the BES client, and the issue still continued for a bit, even after a Beginning Relay Select:
[...client starting...]
Processing Download plugins
Setting _BESClient_Download_FastHashVerify enabled: On
Beginning Relay Select
At 21:30:33 -0400 -
RegisterOnce: Attempting secure registration with 'https://internalrelay[..]'
At 21:33:03 -0400 -
RegisterOnce: GetURL failed - General transport failure. - SOCKET CONNECT (socket error 4294967288 - registration url - http://internalrelay[...]
Unrestricted mode
Configuring listener failed to initialize as wake-on-lan forwarder(AdapterInfo=).
At 21:33:05 -0400 -
Entering Service Loop.
Starting Service Loop.
At 21:33:07 -0400 -
PollForCommands: Requesting commands
At 21:35:37 -0400 -
PollForCommands: GetURL failed
ActiveDirectory: Refreshed Computer Information - Domain: (N/A)
User interface process started for user 'username'
[ThreadTime:21:33:06] Setup Listener success: reusing existing socket.
At 21:35:38 -0400 -
RegisterOnce: Attempting secure registration with 'https://internalrelay[...]'
At 21:38:08 -0400 -
RegisterOnce: GetURL failed - General transport failure. - SOCKET CONNECT (socket error 4294967288 - registration url -
At 21:39:54 -0400 -
RegisterOnce: Attempting secure registration with 'https://externalrelay[...]'
Finally at the end it selected one of our public relays to try, and it connected successfully right away with a persistent connection.
Is there anything we can do to make this process snappier?