Development discussion of WireGuard
 help / color / mirror / Atom feed
From: Eicke Herbertz <wolletd@posteo.de>
To: wireguard@lists.zx2c4.com,Maarten de Vries <maarten@de-vri.es>
Subject: Re: Continued use of `wg-quick save` and SaveConfig=true?
Date: Fri, 08 Jan 2021 11:42:26 +0100	[thread overview]
Message-ID: <D466A453-26C2-48C3-BC6E-C4DA3892B907@posteo.de> (raw)
In-Reply-To: <da590a57-f605-07a0-de90-319e7e163786@de-vri.es>

Hi,

I don't really want to advertise my stuff, but as I am running our server on systemd-networkd instead of wg-quick, I was in need and actually built a script [1] around awk.
It may be not particulary clean and I'm currently unsure if support for wg.conf-Syntax actually works, but it is probably still worth noting in this context.

Regards,
Eicke

[1] https://github.com/WolleTD/wg-setup

Am 4. Januar 2021 22:05:01 MEZ schrieb Maarten de Vries <maarten@de-vri.es>:
>
>On 04-01-2021 19:41, Adrian Larsen wrote:
>> Hi Jason,
>>
>> 1) From a manual operation point of view, I feel more comfortable if 
>> an Operator uses:
>>
>> # wg set wg0 peer ... allowed-ips ...
>> # wg-quick save wg0
>>
>> rather than editing manually the config file.
>>
>> In case the Wire Guard is running multiple peers with production 
>> traffic, I think an Operator can do less damage using the commands if
>
>> something goes wrong.
>
>
>Another solution could be to have a command line tool that modifies the
>
>configuration file. Kinda like `wg set` except for a config file
>instead 
>of a live interface. Would tooling like that alleviate your concerns of
>
>an operator messing up the configuration file?
>
>
>>
>> 2) From automation point of view, still I think that is easy to use 
>> the commands (on an script):
>>
>> # wg set wg0 peer ... allowed-ips ...
>> # wg-quick save wg0
>>
>> rather than using "sed" or "awk" to modify the config file.
>
>
>Yeah, sed and awk aren't necessarily the nicest solutions. Although
>they 
>would work fine in practice. But maybe a tool as mentioned above  could
>
>solve this. Even just a script as pretty front-end to the right sed/awk
>
>commands could be useful here.
>
>For automation, (re-)applying a config file does have an important 
>advantage over `wg set ... && wg-quick save ...`: you can be sure that 
>all changes are applied, even if the tunnel was temporarily gone for 
>some reason. Worst case, the changes are kept in the config file and 
>applied when the interface is created again.
>
>If you try to do `wg set ... && wg-quick save ...` while the WireGuard 
>interface doesn't exist, the changes are lost. (Or you have to fall
>back 
>to modifying the config file by hand, but we didn't want that.)
>
>This advantage may not matter for your application, I can't really know
>
>that. I suppose that depends on the kind of changes that are made to
>the 
>configuration at runtime.
>
>-- Maarten
>
>>
>> My 2 cents.
>>
>> Adrian
>>
>> On 04/01/2021 16:16, Maarten de Vries wrote:
>>> On 03-01-2021 20:59, Chris Osicki wrote:
>>>> On Sat, Jan 02, 2021 at 03:37:09PM +0100, Jason A. Donenfeld wrote:
>>>>> Hi,
>>>>>
>>>>> I was thinking recently that most people have switched from a
>model of
>>>>> updating the runtime configuration and then reading that back into
>a
>>>>> config file, to editing the config file and then syncing that with
>the
>>>>> runtime config. In other words, people have moved from doing:
>>>>>
>>>>> # wg set wg0 peer ... allowed-ips ...
>>>>> # wg-quick save wg0
>>>>>
>>>>> To doing:
>>>>>
>>>>> # vim /etc/wireguard/wg0.conf
>>>>> # wg syncconf wg0 <(wg-quick strip wg0)
>>>>>
>>>>> I think this is mostly a positive change too in terms of
>reliability.
>>>>> Reading back the runtime configuration was always a bit hit or
>miss,
>>>>> and I suspect that more times than not people have been confused
>by
>>>>> SaveConfig=true.
>>>>>
>>>>> That raises the question: are there good uses left for
>SaveConfig=true
>>>>> and `wg-quick save` that warrant keeping the feature around?
>>>>> Temporarily caching a roamed endpoint IP, perhaps, but how helpful
>is
>>>>> that?
>>>>>
>>>>> I haven't thought too deeply about this in order to be wedded to
>one
>>>>> outcome over the other yet, but seeing some confusion today,
>again, in
>>>>> #wireguard over the feature made me wonder.
>>>>>
>>>>> Any opinions on this? Any one on this list actively use this
>feature
>>>>> and see replacements for it (e.g. syncconf) as clearly inferior?
>>>>>
>>>>> Jason
>>>> Hi Jason
>>>>
>>>> Being an old fashioned Unix admin, ~30 years spent in this job, I 
>>>> vote for the traditional way of doing it:
>>>> change the config file and let the application reread it.
>>>> I think the KISS principle is still valid ;-)
>>>
>>> I totally agree. Reloading the config file is much nicer :)
>>>
>>> I also don't need to save roaming endpoints. All WireGuard tunnels I
>
>>> use have at-least one side with a fixed endpoint. And if that's not 
>>> the case I imagine you probably need a more complicated solution
>than 
>>> wg-quick.
>>>
>>>
>>>> Thanks for the excellent software, Jason!
>>>
>>> I also totally agree with this. WireGuard has made my life a lot 
>>> easier :)
>>>
>>>
>>> Regards,
>>>
>>> Maarten
>>>

-- 
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

  parent reply	other threads:[~2021-01-08 10:42 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-02 14:37 Jason A. Donenfeld
2021-01-03 19:59 ` Chris Osicki
2021-01-04 16:16   ` Maarten de Vries
2021-01-04 18:41     ` Adrian Larsen
2021-01-04 21:05       ` Maarten de Vries
2021-01-05  0:16         ` Adrian Larsen
2021-01-08 10:42         ` Eicke Herbertz [this message]
2021-01-05  2:00       ` Michael B. Williams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D466A453-26C2-48C3-BC6E-C4DA3892B907@posteo.de \
    --to=wolletd@posteo.de \
    --cc=maarten@de-vri.es \
    --cc=wireguard@lists.zx2c4.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).