Hi Maarten,
Thanks for your answer..
On 04/01/2021 21:05, Maarten de Vries wrote:
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?
Yes, one of them. :-)
The second potential problem is if the change is wrong, it is better not
to permanent save it before to test. This is a common scenario:
1- The operator does a change using "wg set" on "x remote node"
2- The setting is incorrect and the "x remote node" becomes isolated.
The operator cannot access to it any more.
3- Last resource solution: Due to the change was not saved, rebooting "x
remote node" will allow the Operator to have access to it again.
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