tailscale/net
Brad Fitzpatrick 3ae701f0eb net/tsaddr, wgengine/netstack: add IPv6 range that forwards to site-relative IPv4
This defines a new magic IPv6 prefix, fd7a:115c:a1e0:b1a::/64, a
subset of our existing /48, where the final 32 bits are an IPv4
address, and the middle 32 bits are a user-chosen "site ID". (which
must currently be 0000:00xx; the top 3 bytes must be zero for now)

e.g., I can say my home LAN's "site ID" is "0000:00bb" and then
advertise its 10.2.0.0/16 IPv4 range via IPv6, like:

    tailscale up --advertise-routes=fd7a:115c:a1e0:b1a::bb:10.2.0.0/112

(112 being /128 minuse the /96 v6 prefix length)

Then people in my tailnet can:

     $ curl '[fd7a:115c:a1e0:b1a::bb:10.2.0.230]'
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ....

Updates #3616, etc

RELNOTE=initial support for TS IPv6 addresses to route v4 "via" specific nodes

Change-Id: I9b49b6ad10410a24b5866b9fbc69d3cae1f600ef
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2022-04-11 17:26:07 -07:00
..
dns net/dns, net/dns/resolver, wgengine: refactor DNS request path (#4364) 2022-04-08 12:17:31 -07:00
dnscache net/dnscache: do not call LookupIPFallback if the context was canceled. 2022-03-24 22:43:01 -07:00
dnsfallback net/dnsfallback: do not attempt lookups of IPs. 2022-03-24 22:43:01 -07:00
flowtrack all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
interfaces net/interfaces: add FreeBSD default route lookup (portmapping, etc) 2022-03-08 13:02:02 -08:00
netcheck all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
neterror net/{neterror,dns/resolver}: move PacketWasTruncated to neterror from DNS code 2022-01-03 14:03:30 -08:00
netknob all: disable TCP keep-alives on iOS/Android 2021-09-28 12:03:18 -07:00
netns net/netns: remove a useless probe of the "ip" command 2022-01-11 17:47:06 -08:00
netstat all: gofmt with Go 1.17 2021-08-05 15:54:00 -07:00
nettest net/nettest: deflake TestPipeTimeout 2021-11-30 12:21:59 -08:00
netutil net/netutil: add CheckIPForwardingLinux (#4301) 2022-03-28 10:24:11 -07:00
packet net/packet, wgengine/netstack: remove workaround for old gvisor ECN bug 2022-03-26 21:24:24 -07:00
portmapper all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
proxymux net/proxymux: add a listener mux that can run SOCKS and HTTP on a single socket. 2021-11-29 16:49:48 -08:00
socks5 all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
speedtest all: fix spelling mistakes 2021-10-12 21:23:14 -07:00
stun all: gofmt with Go 1.17 2021-08-05 15:54:00 -07:00
tlsdial envknob: add new package for all the strconv.ParseBool(os.Getenv(..)) 2022-01-24 11:51:23 -08:00
tsaddr net/tsaddr, wgengine/netstack: add IPv6 range that forwards to site-relative IPv4 2022-04-11 17:26:07 -07:00
tsdial cmd/tailscale: write fewer known_hosts, resolve ssh host to FQDN early 2022-03-25 15:17:27 -07:00
tshttpproxy net/tshttpproxy: ensure we pass the correct flags to WinHttpOpen on Win7 and Win8.0 2022-03-18 11:05:02 -06:00
tstun wgengine: inject packetbuffers rather than bytes (#4220) 2022-03-21 14:58:43 -07:00