Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Meta VR Glasses(meta.com)
    165comments
  2. Linux support is coming to Snapdragon X2 Series(qualcomm.com)
    65comments
  3. Claude discovers a novel enzyme system with CRISPR-like repeats(anthropic.com)
    531comments
  4. ArXiv receives multiyear commitments to support it as an independent nonprofit(arxiv.org)
    8comments
  5. VSCode's SSH Agent Is Bananas (2025)(fly.io)
    86comments
  6. Mercury 2.5 LLM hits 770 tokens per second(artificialanalysis.ai)
    23comments
  7. The "Windows XP Box" (2003)(mini-itx.com)
    7comments
  8. Fixing the Portobello Police Station Clock(pointinthecloud.com)
    88comments
  9. FLAWED's Flaws and What This Means for Industry Research(suhacker.ai)
    discuss
  10. We just shipped support for the ugliest part of HTTP: Vary(cloudflare.com)
    10comments
  11. LensVLM: Compressing long context as images, expanding only relevant pages(huggingface.co)
    6comments
  12. The mystery animal on an ancient god's head(signoregalilei.com)
    16comments
  13. Italian parliament votes for return to nuclear energy(apnews.com)
    383comments
  14. Show HN: An open-source manufacturing ERP/MES/QMS(carbon.ms)
    1comments
  15. A brief history of Windows scroll bar shortcuts(devblogs.microsoft.com/oldnewthing)
    50comments
  16. Making Tailscale Faster(tailscale.com)
    32comments
  17. Augustofaces: Pareidolia Fine Art(augusto.at)
    1comments
  18. Gemini 3.8 text-to-speech(blog.google)
    124comments
  19. Radicle: Disclosure of Vulnerability in the Network Protocol(radicle.dev)
    48comments
  20. Tokens too cheap to meter(jyn.dev)
    179comments
  21. The Curious Power of Punctuation(newyorker.com)
    4comments
  22. Swap, ZRAM, Zswap and Hibernate on NixOS(matthewbrunelle.com)
    7comments
  23. A refined phylochronology of the second plague pandemic in Western Eurasia(pnas.org)
    discuss
  24. I don't want the details(michaelheap.com)
    197comments
  25. Z80 REPL (2018)(abagames.github.io)
    18comments
  26. Claude Code reads AGENTS.md only when telemetry is on [fixed](szypowi.cz)
    257comments
  27. Once Claude can measure something, it can make it faster(claude.dev)
    106comments
  28. Show HN: I built a post-mortem debugger for native Windows x64/x86 crashes(forensicdbg.com)
    5comments
  29. QuestDB (YC S20) Is Hiring a Sales Engineer(questdb.com)
    discuss
  30. 28% of job postings on company career sites have been open over 90 days(unlisted.careers)
    299comments

Making Tailscale Faster

71 pointsby 8h agotailscale.com
31 comments
4h agoHN ↗

I wonder if the post's focus on Linux/Android is just because that's where they started, or because they're leveraging techniques that are only possible on Linux/Android?

3h agoHN ↗

it sounds like they’re leveraging Linux features that may not exist 1:1 on Darwin and NT

3h agoHN ↗

Leaves them where they landed. Slop check : yes +++ATH

3h agoHN ↗

Also makes it sound like they were the first to do stuff like NAT traversal, which goes WAY back.

1h agoHN ↗

I like to think of them like Docker. None of Docker's functionality was new, they just wrapped it in a smooth enough DX for it to reach escape velocity.

3h agoHN ↗

In our use case latency went parabolic at 250 sessions pumping just 60 mb/s through a tunnel.

3h agoHN ↗

I would like less battery usage with exit node.

44m agoHN ↗

You’re using a battery powered device as an exit node?

2h agoHN ↗

I used to LOVE tailscale. Then I put wireguard on my home network exposed to the internet with a dynamic DNS provider and it immediately became irrelevant. Not only is raw wireguard more stable (I don't have to fight the DNS issues on my mobile phones) it feels faster and is amazingly simple to set up.

2h agoHN ↗

Care to share your setup? I did some research into self hosting my own wireguard for my nuc and rpi, before ultimately settling on Tailscale because of how much simpler and plug-and-lay it was to add/remove devices compared to self hosting wireguard, not dealing with certificates, maintenance, etc.

2h agoHN ↗

There are no certificates to share with Wireguard. Nothing to rotate if you don't want to. Once it works, it works.

I've even got a backup wireguard server running on a Pi 1b. Works fine. We currently run wireguard on our router (and it seems more and more routers are supporting it).

There are keys to configure for each client, but once you have the configuration for one client, the rest come very quickly and easily.

I should add that I don't have any experience with Tailscale, but compared to OpenVPN and other VPN solutions, Wireguard is lightweight, simple, and easy to setup/configure.

We use it on all our mobile devices (phones, laptops, tablets) to tunnel our traffic through our home network with all the filtering it offers (along side access to private services we host).

40m agoHN ↗

Get a Unifi system. It's built in. Works great!

2h agoHN ↗

My favorite thing about Tailscale is how it lets you SSH/RDP INTO servers without having to open any ports.

2h agoHN ↗

In my opinion, this is Tailscale's largest issue.

It is slow. It cannot achieve speeds of greater than 1Gbps on clients systems (Windows & Mac), where you'd normally see it being used. On Linux, it struggles to achieve 10Gbps even when using a synthetic large packet benchmark [1]. With an IMIX benchmark, it would not be competitive whatsoever.

This problem is fixable. WireGuard achieves higher performance (Kernel vs Userspace implementation) and IPsec implementations can achieve 100Gbps/400Gbps (DPDK/XDP). Zero-copy networking.

From this blog post, I can say Tailscale still seems to not have the appetite for that, which is a shame.

[1] https://tailscale.com/blog/more-throughput

2h agoHN ↗

Tailscale's netstack is barely even WireGuard and they aren't compatible whatsoever. It's all marketing at this point.

So it's not that simple: it's impossible for Tailscale to use any existing kernel or accelerated WireGuard implementation. They could derive inspiration, but a kernel module for Linux won't fix Windows & Mac. With that said, I feel they have enough funding to maintain a few platforms (:

1h agoHN ↗

(Tailscale cofounder) That’s a good callout on DoH support, thanks.

That said, note that if you run your own DNS server on your tailnet, the regular UDP DNS is automatically private because it’s carried over Tailscale. That’s the most common setup for non-SaaS DNS servers. DoH doesn’t really add anything in that arrangement. (And it’s more fiddly because you need to get and refresh a TLS cert.)

1h agoHN ↗

Kernel networking is not automatically faster then userspace.

1h agoHN ↗

You're correct, kernel isn't faster by default. With that said, the following is true:

1) the WireGuard kernel implementation, despite not even being zero-copy, exceeds the performance of the userspace implementation

2) implementations utilizing the userspace network stack have a maximum potential performance (context switch + memcpy is very slow, and that affects UDP disproportionately). It's the wrong approach for meaningful improvement.

1h agoHN ↗

(Tailscale cofounder) I see a few comments here that using kernel wireguard would make it faster; it’s not really that simple. In fact, for a while (and we wrote a blog post about it), our optimizations made wireguard-go faster than kernel wireguard because it was better optimized. They adopted some of those improvements and now we’re on to the next order of magnitude together.

For really high bandwidth cases, things like DPDK are the long term best choice and are primarily userspace, for good reasons. Kernel mode is not the pure benefit it once was (if it ever was).

Separately, wireguard itself has a problem that the crypto suite it uses is not supported by hardware accelerators. So if we want to get into the hundreds of gigabits range, we will possibly need to switch packet formats entirely. (But, wireguard also needs to update to support post-quantum so maybe they’ll fix both problems at the same time and we can join in.)

1h agoHN ↗

Wireguard with PQ won't be Wireguard, anymore. It'll just be a rehash of IKE+IPsec. What made Wireguard better was the very simple handshake and minimal state, but no PQ algorithms can support that simplicity because the keys are too large and/or not as simple to use as ECC.

Might as well switch to IPsec. Everything is already in place, including hardware acceleration. But most people won't, and we'll live in a world with duck-tape hacks built around a compromised Wireguard-ish layer.

42m agoHN ↗

(Tailscale cofounder) I’m a little more optimistic; wireguard was always going to need a v2 eventually, that’s just the nature of cryptography. It’ll always be simpler than IPsec as long as it avoids live negotiation (you need to specify your suite up front for each node you talk to; v1 and v2 are the only suites) and continues to go over UDP instead of IPsec’s “it’s a different transport protocol!” madness.

Things like Google’s PSP already achieve that while still being hardware acceleratable: https://github.com/google/psp

Post-quantum negotiation will kinda suck but you don’t have to sacrifice everything.

35m agoHN ↗

IPSec suffers from the "it can do everything" syndrome.

Storytime: 15 years ago I co-founded a startup to build easy-to-use infrastructure management for AWS. At that time, it did not have cross-region VPC peering or routing, so you couldn't easily and safely have apps that communicate between regions.

So I started working on creating an overlay network. My idea was to use IPsec, it even has an RFC that documents its kernel interface. So that when a host wants to send a packet to the secure network, the kernel goes to my userspace daemon, that in turn goes to the central server that provides it the key for the given host pair.

And it turned out that the interface lacked a crucial part - on-demand key negotiation for incoming packets. It had this for _outgoing_ packets, but not incoming. The only sane way to make it work was to create a proactively updated database of all the hosts.

Well, I did that. It also did not work (tm). I found so many issues with broken MTU handling, broken NAT traversal, etc.

I eventually gave up on that idea and started working on a simple TUN/TAP-based overlay. I almost made everything work, but our startup got acquired by AWS, and this line of work was abandoned.

32m agoHN ↗

IPsec is a terrible fit. Tailscale uses a control plane for peer & key distribution and renders almost all of the complexity in the IPsec protocol useless.

22m agoHN ↗

(Tailscale cofounder) Many years ago I made a VPN for experimental purposes that kept IPsec’s data plane but abandoned IKE. It’s actually a pretty good arrangement and might be applicable here.

My implementation relied on the extremely finicky Linux kernel IPsec and would never have worked in userspace macOS or windows. But yes, a Tailscale control plane with a per-node switchable data plane, one of which is IPsec with PQC, is a real option that would work.

By locking down the control plane it becomes incompatible with classic IPsec, but also avoids most of the security gotchas that plagued IPsec.

20m agoHN ↗

Yes, I agree, IPsec's complexity is definitely why client implementations are so universally finicky. That complexity is not needed by Tailscale.

49m agoHN ↗

I always thought that just kernel mode makes it better.

Didn't know that WG can't use hardware crypto accelerators. I hope it will someday

23m agoHN ↗

It's only half the story. WireGuard uses chacha20-poly1305 and certain implementations can still achieve 100Gbps. Hardware acceleration is the path to 400Gbps and power efficiency though.

40m agoHN ↗

But, wireguard also needs to update to support post-quantum

It's quantum-resistant if you define a PSK. You still have to distribute the key out of band, but you already have to do that anyways for the public keys of the peers.

40m agoHN ↗

1) Besides marketing, I see no reason that Tailscale needs to concern itself with the WireGuard protocol spec at all. Tailscale is already incompatible.

2) Tailscale's control plane model for peer distribution avoids every concern affecting IPsec in regard to protocol negotiation security and compatibility.

TL;DR, diverging from WireGuard & supporting AES (via protocol negotiation with hardware acceleration), would be relatively painless.

16m agoHN ↗

Any chance the Apple TV can get a performance boost? Specially as an exit node. It always gives very little bandwidth. Thank you!