pub struct DnsResolver {
pub transport: ResolverTransport,
pub use_with_exit_node: bool,
}Expand description
An upstream DNS resolver to forward non-overlay queries to (Go tailcfg.DNSResolver).
Only plaintext UDP resolvers (IP:port, default port 53) are supported today; encrypted
transports (DoH/DoT) are parsed off the wire but dropped here as a documented TODO seam —
adding them only requires extending from_serde and the magic_dns
forwarder, not the wire format.
Fields§
§transport: ResolverTransportThe transport/address of this resolver. Only ResolverTransport::Udp is supported.
use_with_exit_node: boolContinue using this resolver even while an exit node is in use (Go UseWithExitNode).
When an exit node is selected, recursive DNS is normally delegated to the exit node’s
peerAPI DoH server; a resolver with this flag set is kept locally instead (e.g. a split-DNS
server reachable over the tailnet that the exit node can’t see). See
DnsConfig::resolvers_with_exit_node.
Implementations§
Trait Implementations§
impl Eq for Resolver
impl StructuralPartialEq for Resolver
Auto Trait Implementations§
impl Freeze for Resolver
impl RefUnwindSafe for Resolver
impl Send for Resolver
impl Sync for Resolver
impl Unpin for Resolver
impl UnsafeUnpin for Resolver
impl UnwindSafe for Resolver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.