Brad Fitzpatrick and Brad Fitzpatrick
98ab533324
cmd/tailscale/cli: include GOOS in BSD warning message
...
instead of just lowercase "bsd"
Updates #1475
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-15 21:02:16 -07:00
David Anderson
380a3526f6
cmd/tailscale/cli: warn if using subnet routing on BSD
...
Fixes #1475 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-03-15 17:25:59 -07:00
Naman Sood
770aa71ffb
client, cmd/hello, ipn, wgengine: fix whois for netstack-forwarded connections
...
Updates #504
Updates #707
Signed-off-by: Naman Sood <mail@nsood.in >
2021-03-15 18:14:09 -04:00
Brad Fitzpatrick
44ab0acbdb
net/portmapper, wgengine/monitor: cache gateway IP info until link changes
...
Cuts down allocs & CPU in steady state (on regular STUN probes) when network
is unchanging.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-15 14:27:39 -07:00
Christine Dodrill and GitHub
deff20edc6
cmd/tailscale/cli: don't permit setting self IP as exit node ( #1491 )
...
This change makes it impossible to set your own IP address as the exit node for this system.
Fixes #1489
Signed-off-by: Christine Dodrill <xe@tailscale.com >
2021-03-15 15:44:56 -04:00
Brad Fitzpatrick and Brad Fitzpatrick
2bc518dcb2
cmd/tailscaled, ipn/{ipnlocal,ipnserver}: let netstack get access to LocalBackend
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-15 09:31:25 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
d491adbf09
cmd/tailscaled: on Synology, fall back to netstack if needed
...
Updates tailscale/tailscale-synology#35
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-12 15:04:13 -08:00
Brad Fitzpatrick
cc99059fc2
Revert "--advertise-routes option enabled in Mac tailscale CLI; it checks for IP forwarding enabled"
...
This reverts commit 08949d4ef1 .
I think this code was aspirational. There's no code that sets up the
appropriate NAT code using pfctl/etc. See #911 and #1475 .
Updates #1475
Updates #911
2021-03-09 19:30:26 -08:00
Brad Fitzpatrick
66480755c2
cmd/tailscale/cli: document how to see subcommand usage
...
From user feedback.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-09 12:52:25 -08:00
Brad Fitzpatrick
d3e56aa979
cmd/tailscaled: fix monitor debug tool's output
...
Logic was backwards, introduced in earlier monitor refactoring last
week in e3df29d488 .
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-08 20:34:18 -08:00
Aleksandar Pesic and Brad Fitzpatrick
258d0e8d9a
wgengine/monitor: simplify the Windows monitor to make it more reliable
...
Updates tailscale/tailscale#1414
Signed-off-by: Aleksandar Pesic <peske.nis@gmail.com >
2021-03-08 14:54:57 -08:00
Brad Fitzpatrick
bc159dc689
cmd/tailscale: fix depaware.txt
...
git fail.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-05 13:32:00 -08:00
Brad Fitzpatrick
c136f48b79
cmd/tailscale/cli: restore hidden debug subcommand
...
The debub subcommand was moved in
6254efb9ef because the monitor brought
in tons of dependencies to the cmd/tailscale binary, but there wasn't
any need to remove the whole subcommand itself.
Add it back, with a tool to dump the local daemon's goroutines.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-05 12:14:24 -08:00
Brad Fitzpatrick
0d0ec7853c
cmd/tailscaled: don't require root on darwin with --tun=userspace-networking
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-02 08:36:25 -08:00
Brad Fitzpatrick
c0cdca6d06
cmd/tailscaled, logtail: share link monitor from wgengine to logtail
...
Part of overall effort to clean up, unify, use link monitoring more,
and make Tailscale quieter when all networks are down. This is especially
bad on macOS where we can get killed for not being polite it seems.
(But we should be polite in any case)
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-01 22:09:43 -08:00
David Anderson and Dave Anderson
793cb131f0
wgengine/router: toggle killswitch when using default routes on windows.
...
Fixes #1398 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-03-01 19:37:22 -08:00
Brad Fitzpatrick
30a37622b4
cmd/hello: break out local HTTP client into client/tailscale
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-01 19:11:31 -08:00
Brad Fitzpatrick
b46e337cdc
cmd/hello: use go:embed for the template
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-01 18:47:28 -08:00
Brad Fitzpatrick and Brad Fitzpatrick
9df4185c94
control/controlclient, net/{dnscache,dnsfallback}: add DNS fallback mechanism
...
Updates #1405
Updates #1403
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-01 18:42:03 -08:00
Brad Fitzpatrick
03c344333e
cmd/tailscale: remove Windows console fixing
...
Not needed, as we don't build this as a GUI app ever.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-01 15:31:20 -08:00
Brad Fitzpatrick
e3df29d488
wgengine{,/monitor}: move interface state fetching/comparing to monitor
...
Gets it out of wgengine so the Engine isn't responsible for being a
callback registration hub for it.
This also removes the Engine.LinkChange method, as it's no longer
necessary. The monitor tells us about changes; it doesn't seem to
need any help. (Currently it was only used by Swift, but as of
14dc790137 we just do the same from Go)
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-01 13:01:08 -08:00
Brad Fitzpatrick
38dc6fe758
cmd/tailscaled, wgengine: remove --fake, replace with netstack
...
And add a --socks5-server flag.
And fix a race in SOCKS5 replies where the response header was written
concurrently with the copy from the backend.
Co-authored with Naman Sood.
Updates #707
Updates #504
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-01 11:09:19 -08:00
Brad Fitzpatrick
ee6475a44d
wgengine: unify NewUserspaceEngine, NewUserspaceEngineAdvanced
...
Also rename EngineConfig to Config to avoid wgengine.EngineConfig
stutter.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-27 21:52:24 -08:00
Brad Fitzpatrick
dda03a911e
wgengine/monitor: change API to permit multiple independent callbakcks
...
Currently it assumes exactly 1 registered callback. This changes it to
support 0, 1, or more than 1.
This is a step towards plumbing wgengine/monitor into more places (and
moving some of wgengine's interface state fetching into monitor in a
later step)
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-27 19:36:52 -08:00
Naman Sood and Brad Fitzpatrick
fec9dcbda1
wgengine/netstack: start SOCKS5 server in netstack mode
...
Updates #707
Updates #504
Signed-off-by: Naman Sood <mail@nsood.in >
2021-02-26 13:44:49 -08:00
Brad Fitzpatrick and Brad Fitzpatrick
f68431fc02
cmd/derper: add /bootstrap-dns handler
...
For option (d) of #1405 .
For an HTTPS request of /bootstrap-dns, this returns e.g.:
{
"log.tailscale.io": [
"2600:1f14:436:d603:342:4c0d:2df9:191b",
"34.210.105.16"
],
"login.tailscale.com": [
"2a05:d014:386:203:f8b4:1d5a:f163:e187",
"3.121.18.47"
]
}
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-26 09:29:28 -08:00
Brad Fitzpatrick
99d67493be
cmd/derper: update a link from godoc.org to pkg.go.dev
...
Save a redirect.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-26 08:14:15 -08:00
Brad Fitzpatrick
3fd00c4a40
cmd/tailscaled: create /usr/local/bin on macOS install-system-daemon if needed
...
Fixes #1400
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-25 12:01:17 -08:00
Naman Sood and GitHub
517c90d7e5
wgengine, cmd/tailscaled: refactor netstack, forward TCP to hello as demo ( #1301 )
...
Updates #707
Updates #504
Signed-off-by: Naman Sood <mail@nsood.in >
2021-02-25 14:18:16 -05:00
David Anderson
ebf3f2fd9f
cmd/tailscale/cli: add CLI option to offer an exit node to the tailnet.
...
Finishes up linux part of #1154 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-02-24 11:34:06 -08:00
Brad Fitzpatrick and Brad Fitzpatrick
c64bd587ae
net/portmapper: add NAT-PMP client, move port mapping service probing
...
* move probing out of netcheck into new net/portmapper package
* use PCP ANNOUNCE op codes for PCP discovery, rather than causing
short-lived (sub-second) side effects with a 1-second-expiring map +
delete.
* track when we heard things from the router so we can be less wasteful
in querying the router's port mapping services in the future
* use portmapper from magicsock to map a public port
Fixes #1298
Fixes #1080
Fixes #1001
Updates #864
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-23 09:07:38 -08:00
Matt Layher and Brad Fitzpatrick
2c500cee23
go.mod: bump github.com/mdlayher/netlink, github.com/jsimonetti/rtnetlink
...
Signed-off-by: Matt Layher <mdlayher@gmail.com >
2021-02-22 06:20:56 -08:00
Brad Fitzpatrick and Brad Fitzpatrick
86d3a6c9a6
Switch to Go 1.16.
...
Fixes #1370
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-19 13:18:31 -08:00
Brad Fitzpatrick
826f64e863
cmd/tailscale/cli: add netcheck dev knob TS_DEBUG_NETCHECK_UDP_BIND
2021-02-19 07:48:35 -08:00
Brad Fitzpatrick
7ad3af2141
cmd/tailscale/cli: remove outdated TODO
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-18 15:11:00 -08:00
Sonia Appasamy and GitHub
76fb27bea7
dnsname,tailcfg: add hostname sanitation logic to node display names ( #1304 )
...
Signed-off-by: Sonia Appasamy <sonia@tailscale.com >
2021-02-18 17:15:38 -05:00
Brad Fitzpatrick and Brad Fitzpatrick
fd8e070d01
health, control/controlclient, wgengine: report when router unhealthy
...
Updates tailscale/corp#1338
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-18 11:48:48 -08:00
Brad Fitzpatrick
38629b62fc
cmd/tailscaled: on darwin, fail early if not root with nicer message
...
Don't do it on all platforms, as Linux folk might be playing
container + capability games.
2021-02-17 15:45:50 -08:00
Brad Fitzpatrick
d3efe8caf6
safesocket, ipn/ipnserver: look up peer creds on Darwin
...
And open up socket permissions like Linux, now that we know who
connections are from.
This uses the new inet.af/peercred that supports Linux and Darwin at
the moment.
Fixes #1347
Fixes #1348
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-16 20:38:44 -08:00
Brad Fitzpatrick
dec01ef22b
safesocket: make ConnectDefault use paths pkg, fixing tailscaled-on-macOS
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-15 11:33:12 -08:00
Brad Fitzpatrick
7e00100a0a
cmd/hello: make whois client work on macOS against GUI client
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-15 11:33:09 -08:00
Brad Fitzpatrick
fdac0387a7
ipn/ipnserver, ipn/ipnlocal: move whois handler to new localapi package
2021-02-15 10:46:22 -08:00
Brad Fitzpatrick
d7569863b5
cmd/tailscaled: fix up install-system-daemon on darwin, add uninstall too
...
Tangentially related to #987 , #177 , #594 , #925 , #505
2021-02-14 21:12:30 -08:00
Brad Fitzpatrick and Brad Fitzpatrick
52e24aa966
net/{interfaces,ns}: add tailscaled-mode darwin routing looping prevention
...
Fixes #1331
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-02-14 12:47:47 -08:00
Brad Fitzpatrick
29b028b9c4
cmd/tailscaled: add subcommand on darwin to install+start tailscaled under launchd
...
Tangentially related to #987 , #177 , #594 , #925 .
2021-02-13 12:57:49 -08:00
Brad Fitzpatrick
741d654aa3
derp/derphttp: add a context and infoLogger option to RunWatchConnectionLoop
2021-02-12 10:59:11 -08:00
Brad Fitzpatrick
6680976b50
cmd/tailscaled: pick automatic tun device name on darwin
2021-02-11 20:10:07 -08:00
Ross Zurowski and GitHub
25321cbd01
cmd/hello: truncate long strings ( #1328 )
...
Signed-off-by: Ross Zurowski <ross@rosszurowski.com >
2021-02-11 20:56:22 -05:00
Brad Fitzpatrick
5378776043
cmd/hello: chop DNS name at first dot
2021-02-11 16:38:26 -08:00
Ross Zurowski and GitHub
6075135e0a
cmd/hello: style welcome message ( #1325 )
...
Signed-off-by: Ross Zurowski <ross@rosszurowski.com >
2021-02-11 17:42:07 -05:00