Wanted: Novice Guides

Jason A. Donenfeld Jason at zx2c4.com
Fri Feb 17 14:45:15 CET 2017

Hi Daniel,

On Wed, Feb 15, 2017 at 3:53 PM, Daniel Kahn Gillmor
<dkg at fifthhorseman.net> wrote:
> A good "novice guide" usually has the following pattern:

This is a nice list of suggestions on how to structure guides. Thanks for that.

> Those of us who are not novices understand that tools like WireGuard can
> be used on a lot of different platforms (c) to perform a lot of
> different tasks (a), but how those tasks are carried out might have more
> to do with policy details (where do you get the peer's public keys from?
> how do you verify that they're the right public keys?  How do peers find
> each other if there are no stable public IP addresses?  How do you
> allocate IP addresses for the wg interfaces?  Which traffic should each
> peer route over which wg interfaces?) than with WireGuard itself.

Right. The concepts are simple, and simplify a lot of the things
WireGuard is supposed to replace, but they're still somewhat new
concepts. That means there's going to need to be explanations and
diagrams and good solid descriptions for people who don't even know
the prior concepts.

> The fact that the WireGuard-specific instructions for any such guide are
> likely to be minimal is one of the strengths of WireGuard, i think.  But
> that also means that any novice guide is going to be at least as much
> about non-WireGuard details as it is about WireGuard itself.

Right. This also raises the question of the role of WireGuard in
general. It's being designed as sort of a fundumental basic build
block, on which other tools and simple bash scripts should be built.
How much should I build those larger things? (Such as wg-quick.) How
much should I wait for others to integrate this into existing
utilities (such as NetworkManager or systemd-networkd)? How much
should other people simply build new tools ontop of the WireGuard
core? I suspect the answer is: all of those things all at once, and
then we'll have a flourishing ecosystem. This, though, makes the focus
of beginner guides non obvious.

> Jason, what kinds of novice guides are people asking for?

"How do I set up my laptop with my server?" "How do I set up my laptop
with my home router?" "How do I put it on a RasPi at home and connect
to it from the Internet with my laptop?" "How do I hook all my servers
together with it?" "What's the difference between a tunnel IP address
and an endpoint?" "What do I put in AllowedIPs and what do I put as
the interface IP and what's the difference?" "What's the difference
between AllowedIPs and the normal routing table?" etc etc

More information about the WireGuard mailing list