Routing rules and traffic splitting
Routing rules match connections by domain, IP, port or other conditions, then select an outbound such as proxy, direct or block. Traffic splitting uses these rules to send different traffic along different paths. In common Xray routing configurations, rules are checked in order, so the first match affects what happens next. Before adding a rule, confirm its outbound tag exists and place specific conditions appropriately to avoid an earlier, broader match.
GeoIP
GeoIP is a categorized collection of IP addresses that routing rules can reference in forms such as geoip:private. It reflects the address ranges in the loaded data file, not real-time geolocation, and does not prove a server's physical location. Whether a domain connection matches an IP rule also depends on the resolution result and domainStrategy.
GeoSite
GeoSite is a categorized collection of domains used to match groups of related domains in routing rules. A category name must exist in the currently loaded data file; a category copied from another configuration may not be available. If a service is not routed as expected, check the actual domain being accessed and the list's coverage rather than assuming a match based on the service's display name.
domainStrategy
In routing, domainStrategy controls how domains are handled during matching: AsIs matches the original domain; IPIfNonMatch attempts resolution if no rule matches; IPOnDemand resolves when an IP rule requires it. A field with the same name elsewhere in a configuration may have different meanings and accepted values. This is not a simple “faster” switch and does not directly determine the DNS server used by every app.
Local DNS
Local DNS refers to the client's ability to handle domain queries on the device; “local” does not mean every answer comes from an offline cache. After enabling the relevant setting in v2rayNG, the actual query path also depends on VPN traffic capture, DNS routing and upstream resolver settings. Apps with built-in encrypted DNS may use a separate path, so check the logs rather than relying only on whether the toggle is on.
FakeDNS
FakeDNS returns synthetic IP addresses to apps, then maps them back to the original domains when subsequent connections reach the core, preserving domain-based handling. It requires DNS requests, traffic capture and compatible core settings; entering a public resolver address alone will not enable it. If an app still has an old address cached after switching modes, you may need to reconnect or clear the relevant cache.
DNS leak
A DNS leak generally means domain queries are not following the expected path—for example, queries expected to go through a proxy are handled by another resolver path. Check the client's DNS settings, the outbound used for queries, and any encrypted DNS built into the browser or app. Resolver names shown by test sites are clues, not proof of the actual connection path or resolver location; verify against the configuration and logs.