Table of Contents

Enum SplitDnsMode

Namespace
VpnHood.Core.Client.Abstractions
Assembly
VpnHood.Core.Client.Abstractions.dll

Specifies where DNS may go, whatever the other splits say.

[JsonConverter(typeof(JsonStringEnumFallbackConverter<SplitDnsMode>))]
[JsonEnumFallback(SplitDnsMode.IncludeAll)]
public enum SplitDnsMode

Fields

IncludeAll = 0

DNS the tunnel captures goes through it, past any split that would send it out, though a filter's block still drops it; a query the server cannot deliver fails there rather than going around the tunnel. The default.

DNS is told by its destination port: 53, or 853 for DNS over TLS or QUIC. DNS over HTTPS, on port 443, cannot be told from other HTTPS and follows the splits. What the device's ranges leave uncaptured, as the local network may be, never reaches the tunnel.

DefaultRoute = 1

No rule for DNS: it follows the splits as any traffic does, and leaks what they exclude. A way out for a setup the default breaks.

Remarks

A resolver reached around the tunnel shows the local network every name the user looks up, and lets it answer, so the default keeps DNS inside. In JSON it is a name; a name this version does not know reads as IncludeAll.