You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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>
2 years ago
..
dns net/dns, net/dns/resolver, wgengine: refactor DNS request path (#4364) 2 years ago
dnscache net/dnscache: do not call LookupIPFallback if the context was canceled. 2 years ago
dnsfallback net/dnsfallback: do not attempt lookups of IPs. 2 years ago
flowtrack all: use any instead of interface{} 2 years ago
interfaces net/interfaces: add FreeBSD default route lookup (portmapping, etc) 2 years ago
netcheck all: use any instead of interface{} 2 years ago
neterror net/{neterror,dns/resolver}: move PacketWasTruncated to neterror from DNS code 3 years ago
netknob all: disable TCP keep-alives on iOS/Android 3 years ago
netns net/netns: remove a useless probe of the "ip" command 2 years ago
netstat all: gofmt with Go 1.17 3 years ago
nettest net/nettest: deflake TestPipeTimeout 3 years ago
netutil net/netutil: add CheckIPForwardingLinux (#4301) 2 years ago
packet net/packet, wgengine/netstack: remove workaround for old gvisor ECN bug 2 years ago
portmapper all: use any instead of interface{} 2 years ago
proxymux net/proxymux: add a listener mux that can run SOCKS and HTTP on a single socket. 3 years ago
socks5 all: use any instead of interface{} 2 years ago
speedtest all: fix spelling mistakes 3 years ago
stun all: gofmt with Go 1.17 3 years ago
tlsdial envknob: add new package for all the strconv.ParseBool(os.Getenv(..)) 2 years ago
tsaddr net/tsaddr, wgengine/netstack: add IPv6 range that forwards to site-relative IPv4 2 years ago
tsdial cmd/tailscale: write fewer known_hosts, resolve ssh host to FQDN early 2 years ago
tshttpproxy net/tshttpproxy: ensure we pass the correct flags to WinHttpOpen on Win7 and Win8.0 2 years ago
tstun wgengine: inject packetbuffers rather than bytes (#4220) 2 years ago