SXAccessSXAccessDocs
Open dashboard

Ports and firewalls

What the agent needs to reach, and why no inbound rule is required anywhere.

Required outbound access

Allow these from every device running SXAccess. A rule that allows outbound UDP to any address and port covers direct tunnels and STUN.

DestinationPortPurpose
mgmt.sxaccess.comTCP 443Management - enrolment, the network map stream, access rule updates. Built into every client.
app.sxaccess.comTCP 443Sign-in from the browser, the apps and the CLI; the dashboard; the REST API.
pkgs.sxaccess.comTCP 443Installers and update checks.
DiscoveryTCP 443 over TLS; endpoint handed out by managementSealed negotiation messages while two agents set up a tunnel.
RelayTCP 443 over TLS; endpoint handed out by managementCarries the tunnel until a direct path is found, and whenever none can be found.
STUN / TURNHanded out by managementLearning the device's public address; TURN relaying, only when one of the two devices has no SXAccess relay.
Other devices, at any addressUDP, any portDirect tunnels. The port on the far end is whatever that device's NAT maps, so it cannot be listed in advance.
shell - see the endpoints this agent was given
sxaccess info -d

The tunnel port

The CLI agent listens on UDP 51820 by default. If that port is already in use, it picks another free one. The apps use a random UDP port. That is only the local end: the other device can use any port its NAT picks, so do not limit outbound UDP to 51820.

You never have to open or forward this port. Both devices send to each other at the same time, and each side's NAT or firewall lets the other's packets in as replies; that is hole punching, explained in NAT and connectivity. An outbound rule that allows UDP to any address and port is all a direct tunnel needs. If a firewall between your own networks filters UDP, allow it between the devices that should talk directly.

Restrictive environments

Some corporate networks block UDP outbound entirely. Direct tunnels then cannot form and every connection stays on the relay; the relay runs over TLS on TCP 443, so the network keeps working at the cost of latency.

The apps trust only the certificate authorities bundled with them, so a proxy that inspects TLS on the way to mgmt.sxaccess.com or app.sxaccess.com breaks them. Exempt both hosts from TLS inspection, together with the Discovery and relay endpoints that sxaccess info -d lists.

sxaccess info -d tells you which devices are P2P and which are Relayed. In the apps, the Path on the Devices page says the same: it begins with Direct or Relayed. That is the fastest way to tell a blocked-UDP network from a NAT problem. A headline of Partly connected means the agent reaches only one of the two: the management service or Discovery.

To check a host, run the commands below. Each curl prints an HTTP status code: any code other than 000 means the host answered, and 000 means no answer arrived. The first tests the management service, the second sign-in, the dashboard and the REST API. sxaccess info -d then shows what the agent itself thinks.

shell - verify reachability from a host
curl -sS -o /dev/null -w '%{http_code}\n' https://mgmt.sxaccess.comcurl -sS -o /dev/null -w '%{http_code}\n' https://app.sxaccess.comsxaccess info -d