Connection setup

Connect to your host.

The host is the remote computer you want to use. Luxwarp can try reachable direct paths over the regular internet, a local network, or a routed WireGuard VPN. Choose the path that fits your network.

Regular internet connection

Sign in to Luxwarp on the host and viewer, leave the host online, and choose it from the normal Luxwarp host list. Direct connection needs a working UDP path through the networks' NAT and firewall rules. Try a connection first; if it fails, use the host router options below.

Router changes need its administrator login. If someone else manages the network, ask them before changing it.

LAN or WireGuard VPN connection

On the same LAN, or when you already have a routed WireGuard tunnel, keep the host and viewer online and choose the host from the normal Luxwarp host list. Luxwarp attempts reachable advertised paths automatically; it does not force a particular VPN route.

  1. Make the host reachable from the viewer. Put both devices on the LAN or set up WireGuard on both devices or through a router gateway. The host may run macOS, Linux, or Windows; use the network's actual address and route.
  2. Check routes in both directions. WireGuard AllowedIPs and the network routes must cover the destination host address and the return path to the viewer. If a gateway carries the tunnel, configure forwarding and return routing there.
  3. Allow the host's Luxwarp UDP port. Limit the host firewall rule to the actual listening port (default 7000) and the trusted LAN/VPN network. A working private path does not need a public Luxwarp port-forwarding rule.

WireGuard tunnel setup is managed by you or your network administrator. See WireGuard's Quick Start and routing and network namespace guide.

Account and connection checks

The host and viewer still need to appear under the correct Luxwarp account. Team access also requires HTTPS reachability to the Luxwarp control service even when media travels over a VPN. Test from the network you will actually use; a tunnel being up alone does not prove that UDP reaches the host and returns.

Method 1: Turn on automatic setup

Recommended
  1. Open the router admin page from the host network. Find its address on the router label or app, or as “Router” / “Default gateway” in the operating system's network details.
  2. Enable UPnP and save. Find “UPnP” in the router settings. The menu name varies by router.
  3. Keep Luxwarp automatic mapping on. In the Luxwarp host app, open Settings → Network → UPnP and leave the default setting enabled.

Method 2: pfSense automatic setup

Allow the host's IPv4 address and listening port.

  1. Reserve the host IP. The example below uses 192.168.1.50. Replace it and port 7000 with the host's real reserved address and Host Port.
  2. Configure port mapping. In Services → UPnP IGD & PCP, enable the service, UPnP IGD, and PCP/NAT-PMP. Choose the default-gateway WAN as the external interface and the host's LAN or VLAN as the internal interface.
  3. Restrict access, then save. Check Default Deny, enter the line below in ACL Entries, then select Save. Add a separate line for each host.
allow 1024-65535 192.168.1.50/32 7000

Restart Luxwarp on the host, then check for its IP and port under Status → UPnP IGD & PCP.

What about STUN?

With a public WAN address, leave Enable STUN off and Override WAN Address blank. STUN checks the public IP and incoming reachability; it does not open an upstream router. See Netgate’s official setup guide.

Method 3: Manual port forwarding

Before starting, check that the host router has a public WAN address. If it shows a private or CGNAT address, forwarding on this router alone cannot cross the upstream NAT.

  1. Reserve the host IP. For example, reserve 192.168.1.50 in DHCP. This is an example, not your address.
  2. Confirm the app port. In the Luxwarp host app, open Settings → Network → Host Port. The default is 7000; use your actual port if changed.
  3. Add and save a port-forwarding rule. Find “Port Forwarding”, “NAT”, or “Virtual Server”. Use the example below with your host IP and port. Allow Luxwarp in the host firewall.
Protocol
UDP
External port
7000
Host IP (example)
192.168.1.50
Internal port
7000

Finish and test

After changing router settings, save them and restart Luxwarp on the host. Keep Luxwarp hosting enabled and the host online, then connect through the normal host list from the network you intend to use. For a public internet path, try a different network such as a phone hotspot; for LAN or VPN, test with that route active.

Troubleshooting and advanced networks

Find the host IP and reserve it

Open the router admin page from the host network. Its address is usually shown on the router label or app, or as “Router” / “Default gateway” in network details. Find the host in the DHCP client list and reserve its current local IP before making a manual rule or pfSense ACL.

Several hosts

For manual forwarding, give each host a distinct matching app and external port, such as 7000 and 7001. For pfSense, add one narrow ACL per host. With automatic mapping, hosts may all keep internal port 7000; the router can assign different external ports.

Private WAN or CGNAT

For manual IPv4 forwarding, check the host router's WAN address. 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 are private ranges; 100.64.0.0/10 is shared space commonly used for CGNAT. A rule on your router cannot cross an upstream NAT. Ask its administrator or ISP about a public address. Automatic NAT traversal may still work, so a private WAN does not prove every path will fail.

Manual external port and pfSense Static Port

If manual forwarding still stays on “Connecting”, Luxwarp must discover the same external port as your forwarding rule. Some routers change the outgoing source port. Advanced pfSense users can use Hybrid Outbound NAT with a targeted rule: Interface WAN, Protocol UDP, Source 192.168.1.50/32, Source port 7000, Translation WAN address, Static Port on, endpoint-independent mapping off. Keep the matching inbound rule limited to UDP 7000. See Netgate's port-forward and outbound NAT guides.

IPv6

A global IPv6 direct path requires IPv6 at both ends and a firewall rule allowing Luxwarp. ULA and link-local addresses are not reachable across the public internet.

Viewer network blocks UDP

Hotels, offices, hotspots, and VPNs may restrict UDP or use CGNAT. Try another permitted network or ask its administrator. Working web access does not prove UDP works.

Host missing or black screen

If the host is not listed, check the account, host power, sign-in, and that Luxwarp is running. If it connects but shows black, check the host Mac's Screen Recording permission before changing router settings.

Linux host port

The Linux host also defaults to UDP port 7000. If you launch it with --port, use that same port in any manual forwarding rule.

Luxwarp's UPnP switch does not enable UPnP on a router. UPnP on both routers is not mandatory, and NAT hole punching can work without UPnP or forwarding. Never use DMZ or disable a firewall. No setup guarantees a direct path on every network. Free, Personal, and Team use direct connections. Optional Enterprise relay is planned under a separate contract and is unavailable in the current beta.

Mac to Windows remote desktop: installation and first connection →