Forwarding
Use one ordered list of network rules to send traffic from selected devices through an exit device, with application and network conditions.
Rule list
Configuration → Forwarding shows every forwarding rule in the network. Rules match from top to bottom and the first match wins. Traffic that matches no rule connects directly.
The page keeps How it works above the rules table. Each row shows the drag handle, name, devices, matched traffic (applications and networks), action and status. The status comes from checking the saved rules; hover over a status with warnings to see them. Edit at the end of a row opens the rule editor. Delete a rule from the editor footer and confirm the deletion.
Drag the handle, or focus it and move it with the keyboard, to reorder rules; the new order saves immediately. Put specific rules before broader rules so that a rule above does not match first.
In the page header, New rule adds a rule.
Editing a rule
Create and edit rules with the same steps: Name, Devices, Traffic source, Traffic match, Action and Preview. Editing prefills the saved configuration and retains changes when you revisit a step. Review the highlighted changes and checks, then choose Save and apply; intermediate steps do not save. Traffic source is skipped when none of the selected devices runs Linux.
| Step | Field | Meaning |
|---|---|---|
| Name | Name | Required; shown in the rule list |
| Devices | Devices | Required; click device tags to select several. The rule applies only on the selected devices |
| Traffic source | All source networks / Specific source networks | Shown only when at least one selected device is a Linux device; otherwise it is hidden and the rule matches all source networks. Defaults to all source networks. For specific networks, enter sources in rows; each row is a Host (a single IP address), a Network or a Regex matched against the source address. It matches downstream LAN traffic forwarded by the device and applies by source only on Linux devices; other devices get the rule for all source networks |
| Traffic match | Applications | Defaults to No application conditions. Choose Include only these applications, then use Add applications to select at least one catalog or custom application |
| Traffic match | Destination CIDRs | Defaults to No network conditions. Choose Include only these networks or Exclude only these networks, then use Add networks to select at least one catalog entry or custom network. The network catalog supports search by country or region and selecting all listed entries; Custom lists this network's custom networks. A destination inside an excluded network does not match the rule |
| Action | Exit device | Matched traffic reaches its destination through the selected exit device; traffic that matches no rule already goes direct |
| Action | Exit device DNS resolution and exit device upstream proxy | Optional; see below and the next section |
The Choose applications dialog lists the network's custom applications and the platform application catalog. Search by name or vendor, and filter by all, catalog, custom or selected. The table shows each application's name, vendor, source and domain count; click a row to select or clear it. The platform catalog shows only names, vendors and domain counts, not domain lists. The bottom shows the selected applications, their total domains and the share of the selected devices' rule set capacity. To add a system the catalog does not have, create a custom application under the Custom filter; it is selected when saved. Changes reach the rule only after Done.
Before continuing or saving, select at least one destination application or network condition, including exclusions. Leaving No application conditions and No network conditions selected together is not allowed; source networks do not count as a destination condition. Selecting an include or exclude mode without adding any entries also blocks continuing or saving.
Destination applications and included destination CIDRs are OR: matching either matches the destination. Excluded destination CIDRs take precedence: a destination inside the exclusion does not match the rule. With no application or included network, an exclusion-only rule matches any destination outside its excluded networks, for example all destinations outside mainland China. Source CIDR and destination are AND, so both must match. Values within one field are OR.
Rules do not take domains or IP ranges typed in directly. Domain conditions are added through applications: for a system that is not in the catalog, create a custom application and enter its domains. Networks are chosen from the network catalog or custom networks. HTTP Host, TLS / QUIC SNI or a DNS address mapping can each satisfy an application domain.
Under Exit device DNS resolution, Use the exit device’s default DNS resolver uses the exit device's system DNS for the rule's application domains. Choose Use another DNS resolver through the exit device to enter an IP or IP:port, which the exit device queries over UDP. The address cannot be a loopback address or sit inside a site advertised by another device. If the exit is unavailable or the resolver does not answer, resolution fails rather than falling back to the local device or system DNS. Rules that use the device itself as the exit without a specified resolver use the local system DNS. Destination CIDRs do not involve DNS, so rules that match only CIDRs do not show this option.
The rules determine which traffic each device captures, so there is no separate capture range to configure.
Delete rule at the bottom left of the editor deletes the rule.
Applications and custom applications
The platform maintains the application catalog. Each application has a name and a domain list that covers those domains and their subdomains. Clients read DNS query names, TLS SNI and HTTP Host on the device and match connections by these domains and ranges; they do not collect traffic content.
When a rule's only destination is applications and none of them currently has a domain or range, the rule does not take effect on the device and the check shows a warning. It never falls back to matching every destination.
In the Choose applications dialog, switch to the Custom filter and select New custom application to add an application for this network:
| Field | Meaning |
|---|---|
| Name | Unique within the network, up to 64 characters |
| Domains | Exact, suffix or regex, up to 4096 entries. Regex uses RE2 syntax against the lowercased host name, for example ^api[0-9]+\.example\.com$ |
| IP CIDRs | Entered in rows; each row is either Host (a single IPv4 or IPv6 address) or Network (with a prefix length, for example 10.0.0.0/8), up to 4096 entries. A row can also be Regex, which matches the destination address: RE2 syntax against the textual IP address, for example ^203\.0\.113\., up to 256 entries |
Each application needs at least one domain or CIDR, and a network can have up to 1024 custom applications. Choose Edit at the end of a custom application's row to change or delete it; the editor lists the rules that reference it; after an edit, those rules use the new domains and ranges. An application referenced by a rule cannot be deleted; remove it from those rules first.
Custom networks are a named set of IP ranges that belongs to this network and can be used on the Include or Exclude side of several rules. In the Add networks dialog, switch to Custom and select New custom networks, then enter a name (unique within the network, up to 64 characters) and the IP ranges, in Host, Network or Regex rows as for custom applications: at least one entry, up to 4096 ranges and 256 regexes. A network can have up to 1024 custom networks. Choose Edit at the end of its row to change or delete it; the editor lists the rules that reference it; after an edit, those rules use the new ranges. Custom networks referenced by a rule cannot be deleted; remove them from those rules first.
Actions and exits
A rule has one action: matched traffic uses the selected exit device, optionally with an upstream SOCKS5 server. Traffic that matches no rule connects directly.
The exit must be a Linux or Windows device in the same network; macOS and mobile devices cannot act as exits. Offline or pending devices can be selected but must be approved and available to forward traffic. Exit failures do not fall back to direct access.
The exit can also be one of the rule's own devices. On that device itself, the rule connects directly without an upstream SOCKS5 server; with one, the device connects through the upstream proxy from the host. The other listed devices still go through that device.
SOCKS5 addresses use host:port or [IPv6]:port. Credentials are optional. Saved passwords are write-only: they are not shown, leaving the field blank keeps them, and they can be cleared explicitly; clearing the upstream address removes credentials. Changing the upstream address, username or exit device requires re-entering the password. Upstream failures do not fall back to direct access.
Site networks normally go to the announcing device; an explicit rule match applies the rule's action instead.
Save and checks
Saving rules runs a check first. Problems that block saving are highlighted on the affected fields, for example:
- The exit device does not exist or its platform cannot act as an exit.
- The proxy password must be re-entered after changing the upstream address, username or exit device.
- A device's application domain lists or forwarding configuration exceed its capacity.
These warnings can be confirmed and saved. When the Preview step has already shown them for the current draft, the save button reads "Accept n warning(s) and save" and clicking it confirms them:
- A rule is unreachable, for example because a rule above covers it completely.
- A destination overlaps a site network.
- A selected application has no domain or range.
- A rule references a deleted exit device, so traffic matching that rule is blocked.
When several people edit at the same time, saving reports that the rules were changed by someone else. Reload the page, reapply the change to the latest content and save again.
Verify the policy
For a first rule, start with a limited destination and a known reachable exit:
- Add a rule for a single source device, choose one destination application or network, and select the exit device.
- Move the rule before any broader rule that would match first, and check that the rule's excluded networks do not cover the destination.
- Review the check results, fix blocking problems, confirm warnings and save.
- Start a new connection from that source device and verify that the intended service is reachable through the chosen exit. Compare Insights → Transmission when checking the participating devices.
To reverse the change, delete the rule just added or remove the device from it. Other matching rules and effective site routes still apply.
Quick troubleshooting
| Symptom | Check and action |
|---|---|
| Save is blocked | Fix highlighted fields or unsupported platform conditions |
| Save reports a change by someone else | Reload the page and reapply the change to the latest content |
| A rule does not match | Check that the rule lists the device, earlier matching rules, the domains in its applications and excluded ranges |
| A rule using applications has no effect | Check that the selected applications have domains or ranges; add them to custom applications |
| A device shows Upgrade needed and cannot be selected | Upgrade the client; it can be selected afterward |
| A rule does not apply to IPv6 traffic | Forwarding handles IPv4 traffic only. Domains matched by a rule resolve to IPv4 addresses only, and when a device has a rule for any destination or one that uses the network catalog, every domain on that device resolves to IPv4 only. Traffic an application sends straight to an IPv6 address does not go through forwarding |
| DNS resolution fails | Check that the exit device is online and connected, and that its system DNS or the resolver entered in the rule works |
| A custom application cannot be deleted | Remove it from the rules that reference it first |
| Traffic does not use the exit | Check approval, online status, client version and earlier matching rules |
| Traffic is blocked after an exit is deleted | Select another exit for the affected rules or delete them |
| An upstream change requires credentials | Re-enter the password or explicitly clear the stored credentials |