I was working on my home lab, specifically setting up a Citrix XenDesktop environment. Since I didn’t have a Netscaler in place (yet), I connected to my home network via a Cisco AnyConnect VPN via a Mac.
While tunneling through the VPN connection, I could connect to the storefront and resources via HTML5, but I could never get the receiver client to connect – I could authenticate, but I couldn’t ever connect to the storefront (error:Citrix Receiver cannot connect to the server. Check your network connection.). I rebuilt the environment several times.
After some debugging of “Library/Logs/com.citrix.AuthManager.log” I figured it out. The error I was getting was:
CMacServiceRecordConnector::CallARGetNetworkLocationForStore url=https://storefront.domain.com/Citrix/Main/discovery Thu Jul 28 14:33:09 2016 > T:00006A3F api . . . . . . . { Thu Jul 28 14:33:09 2016 < T:00006A3F api . . . . . . . } Thu Jul 28 14:33:09 2016 T:00006A3F api . . . . . . . Receiver status = success Thu Jul 28 14:33:09 2016 T:00006A3F api . . . . . . . location=NETWORK_LOCATION_NONE Thu Jul 28 14:33:09 2016 <<<<< T:00006A3F api . . . . . . . Throwable created: CHttpException: ARGetNetworkLocationForStore returned NETWORK_LOCATION_NONE; server URL: 'https://storefront.domain.com/Citrix/Main/discovery' --- Processing exception, type='HTTP exception' description='ARGetNetworkLocationForStore returned NETWORK_LOCATION_NONE; server URL: 'https://https://storefront.domain.com/Citrix/Main/discovery''
The “location=NETWORK_LOCATION_NONE” was the issue. Citrix receiver didn’t know if it was inside or out. I figured the issue was the beacons, but setting them to obvious settings did not fix the issue.
It wasn’t until I set the internal beacon of the storefront to an IP address rather than a DNS name, did I get everything working.
My conclusion is that the Receiver client uses different DNS setting (most likely resolve.conf) than the browser. A browser (or any other networking app) on a mac uses the “scutil –dns” settings.
From here:
Note: AnyConnect does not change the resolv.conf file on Macintosh OS X, but rather changes OS X-specific DNS settings. Macintosh OS X keeps the resolv.conf file current for compatibility reasons. Use the scutil --dns command in order to view the DNS settings on Macintosh OS X.
I believe this is a bug in the way the receiver is programmed.