David Anderson
b49d9bc74d
net/portmapper: fix "running a test" condition.
...
Fixes #2686 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-08-25 20:16:35 -07:00
David Anderson
bf8556ab86
portlist: fix build tag to build only on macOS, not macOS+iOS.
2021-08-18 16:18:02 -07:00
David Anderson
d2d55bd63c
cmd/microproxy: delete.
...
Thank goodness.
Fixes #2635
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-08-12 14:17:42 -07:00
David Anderson and Dave Anderson
d98829583a
derp: use a dedicated queue for disco traffic.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-07-12 14:23:27 -07:00
David Anderson
67158549ab
derp: actually export the new drop counter.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-07-12 13:32:04 -07:00
David Anderson and Dave Anderson
36492ace9d
derp: add counters to track the type of dropped packets.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-07-12 13:15:59 -07:00
David Anderson
c69d30cdd7
VERSION.txt: this is v1.11.0.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-24 15:45:08 -07:00
David Anderson
084d48d22d
net/dns: always proxy through quad-100 on windows 8.1.
...
Windows 8.1 incorrectly handles search paths on an interface with no
associated resolver, so we have to provide a full primary DNS config
rather than use Windows 8.1's nascent-but-present NRPT functionality.
Fixes #2237 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-23 17:50:19 -07:00
David Anderson and Dave Anderson
0022c3d2e2
tsweb: replace NewMux with a more flexible DebugHandler.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-16 19:00:47 -07:00
David Anderson
48c25fa36f
tsweb: fold StdHandlerOpts and StdHandler200s with StdHandler.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-15 21:55:33 -07:00
David Anderson
72343fbbec
tsweb: register expvars once at startup.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-15 21:27:54 -07:00
David Anderson
9337826011
net/dns: fix inverted test for NetworkManager version.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-15 20:53:03 -07:00
David Anderson and Dave Anderson
320cc8fa21
net/dns: verify that systemd-resolved is actually in charge.
...
It's possible to install a configuration that passes our current checks
for systemd-resolved, without actually pointing to systemd-resolved. In
that case, we end up programming DNS in resolved, but that config never
applies to any name resolution requests on the system.
This is quite a far-out edge case, but there's a simple additional check
we can do: if the header comment names systemd-resolved, there should be
a single nameserver in resolv.conf pointing to 127.0.0.53. If not, the
configuration should be treated as an unmanaged resolv.conf.
Fixes #2136 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-15 19:52:02 -07:00
David Anderson
e7164425b3
net/dns: don't use NetworkManager for DNS on very old NetworkManagers.
...
Fixes #1945 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-15 15:34:35 -07:00
David Anderson
ac07ff43bf
cmd/tailscaled: start after NetworkManager and systemd-resolved.
...
The dependency is a "soft" ordering dependency only, meaning that
tailscaled will start after those services if those services were
going to be run anyway, but doesn't force either of them to run.
That's why it's safe to specify this dependency unconditionally,
even for systems that don't run those services.
Updates #2127 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-15 14:25:44 -07:00
Dave Anderson and GitHub
144c68b80b
net/dns: avoid using NetworkManager as much as possible. ( #1945 )
...
Addresses #1699 as best as possible.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-10 10:46:08 -04:00
David Anderson and Dave Anderson
8236464252
packages/deb: add package to extract metadata from .deb files.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-07 16:22:23 -07:00
David Anderson and Dave Anderson
1c6946f971
cmd/mkpkg: allow zero files in a package.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-07 16:22:23 -07:00
David Anderson and Dave Anderson
7fab244614
net/dns/resolver: don't spam logs on EHOSTUNREACH.
...
Fixes #1719 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-07 10:45:29 -07:00
David Anderson
aa6abc98f3
build_dist.sh: fix after the change to version stamping.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-03 13:14:32 -07:00
David Anderson
5088af68cf
version: remove all the redo stuff, only support embedding via go ldflags.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-06-02 14:17:46 -07:00
David Anderson
33bc06795b
go.mod: update for corp resync.
2021-05-31 21:47:37 -07:00
David Anderson and Dave Anderson
c54cc24e87
util/dnsname: make ToFQDN take exactly 0 or 1 allocs for everything.
...
name old time/op new time/op delta
ToFQDN/www.tailscale.com.-32 9.55ns ± 2% 12.13ns ± 3% +27.03% (p=0.000 n=10+10)
ToFQDN/www.tailscale.com-32 86.3ns ± 1% 40.7ns ± 1% -52.86% (p=0.000 n=10+9)
ToFQDN/.www.tailscale.com-32 86.5ns ± 1% 40.4ns ± 1% -53.29% (p=0.000 n=10+9)
ToFQDN/_ssh._tcp.www.tailscale.com.-32 12.8ns ± 2% 14.7ns ± 2% +14.24% (p=0.000 n=9+10)
ToFQDN/_ssh._tcp.www.tailscale.com-32 104ns ± 1% 45ns ± 0% -57.16% (p=0.000 n=10+9)
name old alloc/op new alloc/op delta
ToFQDN/www.tailscale.com.-32 0.00B 0.00B ~ (all equal)
ToFQDN/www.tailscale.com-32 72.0B ± 0% 24.0B ± 0% -66.67% (p=0.000 n=10+10)
ToFQDN/.www.tailscale.com-32 72.0B ± 0% 24.0B ± 0% -66.67% (p=0.000 n=10+10)
ToFQDN/_ssh._tcp.www.tailscale.com.-32 0.00B 0.00B ~ (all equal)
ToFQDN/_ssh._tcp.www.tailscale.com-32 112B ± 0% 32B ± 0% -71.43% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
ToFQDN/www.tailscale.com.-32 0.00 0.00 ~ (all equal)
ToFQDN/www.tailscale.com-32 2.00 ± 0% 1.00 ± 0% -50.00% (p=0.000 n=10+10)
ToFQDN/.www.tailscale.com-32 2.00 ± 0% 1.00 ± 0% -50.00% (p=0.000 n=10+10)
ToFQDN/_ssh._tcp.www.tailscale.com.-32 0.00 0.00 ~ (all equal)
ToFQDN/_ssh._tcp.www.tailscale.com-32 2.00 ± 0% 1.00 ± 0% -50.00% (p=0.000 n=10+10)
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-31 21:13:50 -07:00
David Anderson and Dave Anderson
d7f6ef3a79
util/dnsname: add a benchmark for ToFQDN.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-31 21:13:50 -07:00
David Anderson and Dave Anderson
caaefa00a0
util/dnsname: don't validate the contents of DNS labels.
...
DNS names consist of labels, but outside of length limits, DNS
itself permits any content within the labels. Some records require
labels to conform to hostname limitations (which is what we implemented
before), but not all.
Fixes #2024 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-31 21:13:50 -07:00
David Anderson
df350e2069
ipn/ipnlocal: initialize DNS config maps unconditionally.
...
Fixes #1963 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-20 20:22:39 -07:00
David Anderson and Dave Anderson
e2dcf63420
net/dns: replace AuthoritativeSuffixes with nil Route entries.
...
This leads to a cleaner separation of intent vs. implementation
(Routes is now the only place specifying who handles DNS requests),
and allows for cleaner expression of a configuration that creates
MagicDNS records without serving them to the OS.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-18 14:15:17 -07:00
David Anderson and Dave Anderson
6690f86ef4
net/dns: always offer MagicDNS records at 100.100.100.100.
...
Fixes #1886 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-18 14:15:17 -07:00
David Anderson
85df1b0fa7
go.mod: bump wireguard-go.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-17 16:30:24 -07:00
David Anderson
4f92f405ee
scripts: fix up installer script comments.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-14 14:13:31 -07:00
David Anderson
0e9ea9f779
scripts: detect curl vs. wget and use the right one.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-14 14:12:31 -07:00
David Anderson
783f125003
scripts: use codenames for ubuntu, since that's what our repo uses.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-14 14:12:28 -07:00
David Anderson
a3b15bdf7e
.github: remove verbose issue templates, add triage label.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-06 19:14:19 -07:00
David Anderson and Dave Anderson
5bd38b10b4
net/dns: log the correct error when NM Reapply fails.
...
Found while debugging #1870 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-06 16:02:09 -07:00
David Anderson and Dave Anderson
7d16c8228b
net/dns: set IPv4 auto mode in NM, so it lets us set DNS.
...
Part of #1870 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-06 16:02:09 -07:00
David Anderson and Dave Anderson
77e2375501
net/dns: don't try to configure LLMNR or mdns in NetworkManager.
...
Fixes #1870 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-05-06 16:02:09 -07:00
David Anderson
bf5fc8edda
go.mod: update wireguard-go.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-29 16:36:55 -07:00
David Anderson and Dave Anderson
1d7e7b49eb
ipn/ipnlocal: be authoritative for the entire MagicDNS record tree.
...
With this change, shared node names resolve correctly on split DNS-supporting
operating systems.
Fixes tailscale/corp#1706
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-29 16:06:01 -07:00
David Anderson
bf9ef1ca27
net/dns: stop NetworkManager breaking v6 connectivity when setting DNS.
...
Tentative fix for #1699
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-29 12:25:47 -07:00
David Anderson
72b6d98298
net/interfaces: return all Tailscale addresses from Tailscale().
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-29 12:25:47 -07:00
David Anderson
306a094d4b
ipn/ipnlocal: remove IPv6 records from MagicDNS.
...
Fixes #1813 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-28 01:01:56 -07:00
David Anderson
44c2b7dc79
net/dns: on windows, skip site-local v6 resolvers.
...
Further refinement for tailscale/corp#1662 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-27 18:24:54 -07:00
David Anderson and Dave Anderson
97d2fa2f56
net/dns: work around WSL DNS implementation flaws.
...
Fixes tailscale/corp#1662
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-26 16:54:50 -07:00
David Anderson
f6b7d08aea
net/dns: work around new NetworkManager in other selection paths.
...
Further bits of #1788
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-23 22:09:00 -07:00
David Anderson
25ce9885a2
net/dns: don't use NM+resolved for NM >=1.26.6.
...
NetworkManager fixed the bug that forced us to use NetworkManager
if it's programming systemd-resolved, and in the same release also
made NetworkManager ignore DNS settings provided for unmanaged
interfaces... Which breaks what we used to do. So, with versions
1.26.6 and above, we MUST NOT use NetworkManager to indirectly
program systemd-resolved, but thankfully we can talk to resolved
directly and get the right outcome.
Fixes #1788
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-23 21:13:19 -07:00
David Anderson
31f81b782e
util/cmpver: move into OSS from corp repo.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-23 20:55:45 -07:00
David Anderson and Dave Anderson
30f5d706a1
net/dns/resolver: remove unnecessary/racy WaitGroup.
...
Fixes #1663
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-22 19:17:37 -07:00
David Anderson and Dave Anderson
30629c430a
cmd/tailscale/cli: don't force an interactive login on --reset.
...
Fixes #1778
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-22 15:53:50 -07:00
David Anderson
36d030cc36
ipn/ipnlocal: use fallback default DNS whenever exit nodes are on.
...
Fixes #1625
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-22 15:24:18 -07:00
David Anderson
67ba6aa9fd
cmd/tailscale/cli: fix typo in ExitNodeID mapping.
...
Prevented turning off exit nodes.
Fixes #1777
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-22 14:55:29 -07:00
David Anderson
6fd9e28bd0
ipn/ipnlocal: add arpa suffixes to MagicDNS for reverse lookups.
...
This used to not be necessary, because MagicDNS always did full proxying.
But with split DNS, we need to know which names to route to our resolver,
otherwise reverse lookups break.
This captures the entire CGNAT range, as well as our Tailscale ULA.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-20 18:05:17 -07:00
David Anderson
89c81c26c5
net/dns: fix resolved match domains when no nameservers are provided.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-20 17:10:39 -07:00
David Anderson
4be26b269f
net/dns: correctly capture all traffic in non-split configs.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-20 16:57:46 -07:00
David Anderson
ca283ac899
net/dns: remove config in openresolv when given an empty DNS config.
...
Part of #1720 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-20 16:19:34 -07:00
David Anderson
48d4f14652
ipn/ipnlocal: only set authoritative domains when using MagicDNS.
...
Otherwise, the existence of authoritative domains forces full
DNS proxying even when no other DNS config is present.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-20 15:52:19 -07:00
David Anderson
53213114ec
net/dns: make debian_resolvconf correctly clear DNS configs.
...
More of #1720 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-20 15:51:14 -07:00
David Anderson
3b1ab78954
net/dns: restore resolv.conf when given an empty config in directManager.
...
Fixes #1720 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-20 15:14:40 -07:00
David Anderson
158328ba24
net/dns: remove ForceSplitDNSForTesting.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-20 12:50:08 -07:00
David Anderson and Dave Anderson
1e5c608fae
ipn/ipnlocal: plumb fallback DNS in as a workaround for split DNS issues.
...
Cause of #1743 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-20 12:49:48 -07:00
David Anderson and Dave Anderson
28ba20d733
tailcfg: add FallbackResolvers to DNSConfig.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-20 12:49:48 -07:00
David Anderson
7055f870f8
control/controlclient: only use a single DNS label as the hostname.
...
Fixes #971
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-15 17:08:58 -07:00
David Anderson
bb0710d51d
net/dns: add debugging traces to DNS manager selection on linux.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-14 15:52:41 -07:00
David Anderson
4b70c7b717
net/dns: fix inverted test for NetworkManager.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-14 15:52:22 -07:00
David Anderson
4849a4d3c8
net/dns: error out on linux if /etc/resolv.conf can't be read.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-14 15:35:32 -07:00
David Anderson
1f9b73a531
net/dns: fix freebsd DNS manager selection.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-14 15:34:59 -07:00
David Anderson
84bd50329a
net/dns: fix staticheck.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-13 17:28:37 -07:00
David Anderson
d6bb11b5bf
net/dns: implement correct manager detection on linux.
...
Part of #953 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-13 17:19:00 -07:00
David Anderson
9ef932517b
net/dns: fix NM's GetBaseConfig when no configs exist.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-13 17:19:00 -07:00
David Anderson
fe3b1ab747
net/dns: refactor dbus connection setup in resolved manager.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-13 17:19:00 -07:00
David Anderson
854d5d36a1
net/dns: return error from NewOSManager, use it to initialize NM.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-12 15:51:37 -07:00
David Anderson and Dave Anderson
9aa33b43e6
net/dns: support split and unsplit DNS in NetworkManager.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-12 14:34:08 -07:00
David Anderson
87eb8384f5
net/dns: fix up NetworkManager configurator a bit.
...
Clear LLMNR and mdns flags, update reasoning for our settings,
and set our override priority harder than before when we want
to be primary resolver.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-11 23:19:50 -07:00
David Anderson
3d81e6260b
net/dns: set resolved DefaultRoute setting according to split-dns mode.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-11 20:53:28 -07:00
David Anderson
cca230cc23
net/dns: fix staticcheck errors.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-11 20:53:28 -07:00
David Anderson
a7340c2015
net/dns: support split DNS in systemd-resolved.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-11 18:14:23 -07:00
David Anderson
84430cdfa1
net/dns: improve NetworkManager detection, using more DBus.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-11 15:22:06 -07:00
David Anderson
9a48bac8ad
net/dns: rename resolvconf.go to debian_resolvconf.go.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-10 23:31:14 -07:00
David Anderson
9831f1b183
net/dns: also include 'tail' and 'base' files when fixing up resolv.conf.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-10 23:01:11 -07:00
David Anderson
e43afe9140
net/dns: implement prior config reading for debian resolvconf.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-10 22:37:13 -07:00
David Anderson
143e5dd087
net/dns: rename script variable.
...
Debian resolvconf is not legacy, it's alive and well,
just historically before the other implementations.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-10 21:28:27 -07:00
David Anderson
55b39fa945
net/dns: add documentation to openresolv's config fetch.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-10 20:21:05 -07:00
David Anderson
61b361bac0
net/dns: teach the openresolv manager to read DNS config.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-10 19:37:11 -07:00
David Anderson
19eca34f47
wgengine/router: fix FreeBSD configuration failure on the v6 /48.
...
On FreeBSD, we add the interface IP as a /48 to work around a kernel
bug, so we mustn't then try to add a /48 route to the Tailscale ULA,
since that will fail as a dupe.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-10 19:36:26 -07:00
David Anderson
58760f7b82
net/dns: split resolvconfManager into a debian and an openresolv manager.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-10 18:55:05 -07:00
David Anderson and Dave Anderson
5480189313
net/dns: implement a DNS override workaround for legacy resolvconf.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-10 17:58:13 -07:00
David Anderson and Dave Anderson
1a371b93be
util/dnsname: add FQDN type, use throughout codebase.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-10 17:58:13 -07:00
David Anderson
e638a4d86b
net/dns: make directManager support split DNS, and work in sandboxes.
...
Fixes #1495 , #683 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-09 02:52:21 -07:00
David Anderson
2685260ba1
net/dns: add temporary fallback to quad-9 resolver for split-DNS testing.
...
This allows split-DNS configurations to not break clients on OSes that
haven't yet been ported to understand split DNS, by falling back to quad-9
as a global resolver when handed an "impossible to implement"
split-DNS config.
Part of #953 . Needs to be removed before shipping 1.8.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-08 23:26:22 -07:00
David Anderson
b9e194c14b
net/dns: add missing FQDN qualification.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-08 23:07:16 -07:00
David Anderson
b74a8994ca
net/dns: make FQDN dot style consistent in more places.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-08 22:03:32 -07:00
David Anderson
2f398106e2
ipn/ipnlocal: allow setting MagicDNS without DefaultResolvers.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-08 16:23:33 -07:00
David Anderson and Dave Anderson
fad21af01c
tailcfg: add DNS routes and advanced resolver config.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-08 15:29:08 -07:00
David Anderson
6def647514
net/dns/resolver: don't avoid tailscale routes for DNS forwarding.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-08 12:20:42 -07:00
David Anderson and Dave Anderson
4a64d2a603
net/dns: some post-review cleanups.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-07 15:40:31 -07:00
David Anderson and Dave Anderson
720c1ad0f0
net/dns: insert OS base config when emulating split DNS.
...
Part of #953 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-07 15:40:31 -07:00
David Anderson and Dave Anderson
e560be6443
net/dns: sort matchDomains to avoid test flake.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-07 15:40:31 -07:00
David Anderson and Dave Anderson
68f76e9aa1
net/dns: add GetBaseConfig to OSConfigurator interface.
...
Part of #953 , required to make split DNS work on more basic
platforms.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-07 15:40:31 -07:00
David Anderson and Dave Anderson
fe9cd61d71
net/dns: add tests for DNS config generation.
...
Part of #953 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-07 15:40:31 -07:00
David Anderson and Dave Anderson
0ba6d03768
net/dns/resolver: add a test helper to get at the resolver config.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-07 15:40:31 -07:00
David Anderson and Dave Anderson
da4cc8bbb4
net/dns: handle all possible translations of high-level DNS config.
...
With this change, all OSes can sort-of do split DNS, except that the
default upstream is hardcoded to 8.8.8.8 pending further plumbing.
Additionally, Windows 8-10 can do split DNS fully correctly, without
the 8.8.8.8 hack.
Part of #953 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-07 15:40:31 -07:00