LWN: Comments on "WireGuard: a new VPN tunnel" https://lwn.net/Articles/693015/ This is a special feed containing comments posted to the individual LWN article titled "WireGuard: a new VPN tunnel". en-us Mon, 22 Sep 2025 14:58:29 +0000 Mon, 22 Sep 2025 14:58:29 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net WireGuard: a new VPN tunnel https://lwn.net/Articles/698034/ https://lwn.net/Articles/698034/ zx2c4 <div class="FormattedComment"> 1. It definitely is documented that it's UDP. This is written in several places, including the front page of the website. Please read the documentation before you make spurious claims like this. It's mentioned on: <a href="https://www.wireguard.io/">https://www.wireguard.io/</a> <a href="https://www.wireguard.io/protocol/">https://www.wireguard.io/protocol/</a> and <a href="https://www.wireguard.io/papers/wireguard.pdf">https://www.wireguard.io/papers/wireguard.pdf</a><br> <p> 2. For priority, would you like a nob to set the DSCP value? Is this what you have in mind?<br> <p> 3. For obfuscation, there was a mailing list thread about this some time ago -- <a href="https://lists.zx2c4.com/pipermail/wireguard/2016-July/000184.html">https://lists.zx2c4.com/pipermail/wireguard/2016-July/000...</a> -- you can read it starting there.<br> </div> Tue, 23 Aug 2016 13:03:37 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/698033/ https://lwn.net/Articles/698033/ Darkmere <div class="FormattedComment"> The tracing was more about, how do I track and separate the Wireguard traffic from the outside, and how do I identify it.<br> <p> For some cases, anonymity against the network is interested. Some "VPN" solutions go to great lengths (obf4) to hide the fact that the connection is a VPN. While for others, you want to identify it in order to correctly set priorities on routing level.<br> <p> I work a bit with SIP related tech, and then it's quite vital to have your VPN properly prioritized to guarantee short latency. IPSEC tends to be the given default, with OpenVPN in UDP mode a contender. Getting better latencies is always interesting in realtime communications.<br> <p> <p> So, from that side, knowing that it's UDP (I'm assuming, it's not documented) and port 51820-52000 may be enough for the firewalling. ( Hey, for all that I know it could have used SCTP! )<br> </div> Tue, 23 Aug 2016 12:55:52 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/697943/ https://lwn.net/Articles/697943/ zx2c4 <p>The default port is 51820. For convience, if your interface ends in 0 (such as wg0), you get that, if it ends in 1 (such as wg1) you get 51821, and so forth.</p> <p>As far as tracing WireGuard from the inside and outside, you can just use tcpdump or wireshark like usual:</p> <pre> # tcpdump -i wg0 -vv -xx # tcpdump -i eth0 -vv -xx </pre> <p>Good idea about putting this in the documentation. I'll do that.</p> <p>Hope this helps,<br> Jason</p> Mon, 22 Aug 2016 12:32:31 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/697942/ https://lwn.net/Articles/697942/ Darkmere <div class="FormattedComment"> I'd love to see a section on the documentation about Firewalling and transfer. As in, how do I trace wireguard from the inside / outside, what ports &amp; protocols are necessary to allow for transmit ( per default /IANA assigned?) <br> <p> <p> </div> Mon, 22 Aug 2016 12:20:14 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/696695/ https://lwn.net/Articles/696695/ zx2c4 That's helpful advice; thanks a bunch. I've got just a few things left on my todo list with WireGuard, and then I'll get a v1 for the list. Mon, 08 Aug 2016 15:30:55 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/696667/ https://lwn.net/Articles/696667/ johannbg <div class="FormattedComment"> You never get answers if you never ask any questions the same thing applies for the kernel, you wont get any review unless you submit something for reviewing so you get the the best [PATCH] set review by actually submitting the patches ;)<br> <p> I'm pretty sure most of the kernel devs are too busy to be able to familiarizes themselves with anything non patch related on that list so you know submit your work, brace yourself for the feedback, then fix what needs fixing and hopefully this ends up in 4.9. At that point in time ( when it's merged upstream ) it can be looked at whether wireguard is something to be usefully integrated with systemd-networkd. <br> </div> Mon, 08 Aug 2016 15:28:58 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/696664/ https://lwn.net/Articles/696664/ zx2c4 Actually I was quite disappointed not to get any feedback from the upstream devs. I was hoping they'd at least review the project and give some preliminary feedback to help me craft the best eventual [PATCH] set. Unfortunately they've been completely silent. Major bummer. I've been checking that thread every day too. Mon, 08 Aug 2016 14:28:10 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/696644/ https://lwn.net/Articles/696644/ johannbg <div class="FormattedComment"> Took it for granted that this was the submission for inclusion of the wireguard kernel module not just some FYI ( which I did not think existed on lkml ) and as an idiot been monitoring it for discussion for acceptation,rejection since this wont be integrated/deployed/used until it gets into the kernel. Well I guess I can stop that now ;) <br> <p> But that indeed explains why no movement has been on the thread other than from end users... <br> </div> Mon, 08 Aug 2016 10:03:23 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/696642/ https://lwn.net/Articles/696642/ johill <div class="FormattedComment"> AFAICT, there was no patch posted for inclusion, so what kind of "movement" would you expect?<br> </div> Mon, 08 Aug 2016 09:23:34 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/696640/ https://lwn.net/Articles/696640/ johannbg <div class="FormattedComment"> Given that there is no movement on the upstream kernel thread, are those upstream kernel maintainers dead. awol or just ignoring this or have there been any discussion about this offlist?<br> </div> Mon, 08 Aug 2016 08:51:46 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/693477/ https://lwn.net/Articles/693477/ zx2c4 <div class="FormattedComment"> Sure. I thought the rtnl and net_device interfaces were quite nice:<br> <p> <a href="https://git.zx2c4.com/linux/tree/include/net/rtnetlink.h">https://git.zx2c4.com/linux/tree/include/net/rtnetlink.h</a><br> <a href="https://git.zx2c4.com/linux/tree/Documentation/networking/netdevices.txt">https://git.zx2c4.com/linux/tree/Documentation/networking...</a><br> </div> Tue, 05 Jul 2016 16:37:21 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/693475/ https://lwn.net/Articles/693475/ MattJD <div class="FormattedComment"> For someone not familiar with kernel internals, can you expand on your point about integration? Or point me to any documentation you have on the matter?<br> </div> Tue, 05 Jul 2016 16:13:16 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/693428/ https://lwn.net/Articles/693428/ zx2c4 <div class="FormattedComment"> Right, there's no cipher agility. But the protocol prologue still ties each session to the ciphersuite by explicitly specifying which ciphers are being used. So, if there are ever weaknesses in the chosen ciphersuite, the next version will use a different ciphersuite. But, there won't ever be agility.<br> <p> There's a cross-platform userspace version of this in the works that should function well on Windows/Mac/otherLinuxes/otherUnixes. This includes Android. But WireGuard can also run as a kernel module for Android, since it's just Linux.<br> </div> Tue, 05 Jul 2016 14:46:57 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/693426/ https://lwn.net/Articles/693426/ vadim <div class="FormattedComment"> If I am reading it correctly, there's absolutely no negotiation of crypto details.<br> <p> What if Curve25519 turns out to have a flaw in it? What if another algorithm performs a lot better on a particular architecture?<br> <p> Are there any plans to integrate this into Android?<br> <p> Are there any plans for a Windows client?<br> <p> <p> </div> Tue, 05 Jul 2016 14:42:53 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/693382/ https://lwn.net/Articles/693382/ zx2c4 <div class="FormattedComment"> Several reasons, but performance is certainly an important one. It's just not possible to get that kind of performance elsewhere. Being able to decrypt packets directly out of the ethernet card's buffer is invaluable. The general integration options offered by being a kernel driver are quite helpful.<br> </div> Mon, 04 Jul 2016 21:16:19 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/693318/ https://lwn.net/Articles/693318/ MattJD <div class="FormattedComment"> Hi Jason,<br> <p> One quick question: why implement this in kernel? Is it just for the speed? Or are there other benefits?<br> </div> Mon, 04 Jul 2016 08:02:44 +0000 WireGuard: a new VPN tunnel https://lwn.net/Articles/693204/ https://lwn.net/Articles/693204/ zx2c4 <div class="FormattedComment"> Happy to answer any questions about the project.<br> <p> -Jason<br> </div> Fri, 01 Jul 2016 20:42:01 +0000