templates | ||
config.yml | ||
README.md | ||
requirements.txt | ||
wg_manager.py |
Wireguard-manager (until i come up with better name...)
Proč, k čemu, jak?
Wireguard je skvělý, ale: Nebaví mě ručně přidávat nové peery na WireGuard server, stejně tak mě nebaví tvořit jim konfigurace. Nebaví mě způsob jakým se konfiguruje wg-quick.
Jak to funguje?
Kvůli pohodlí využijeme wg-quick a maximálně osekanou konfiguraci pro interface (viz templates/wg-template.conf
). Případné změny musíme promítnout i do config.yml
a to hlavně kvůli generování klientských konfigurací.
Díky tomu můžeme použít systemd pro ovládání (zapnutí při startu systému) a po vytvoření interface zavoláme pomocí PostUp náš script kterým přidáme peery podle naší konfigurace.
Práce s hosty v config.yml
Základem je, že přijenmenším mezi restarty interface není vhodné mazat peer. Pokud je chceme odebrat z interface, je potřeba nastavit enabled: False
. Po aplikaci konfigurace je možné peera smazat.
Je nezbytné zachovat unikátní id, klíč a ip_suffix pro každého peera.
Vytvoření klíčů můžeme provést pomocí wg genkey | tee privatekey | wg pubkey > publickey
TODO - dopsat README ;)
Disclaimer Nebuď blb a změn všechny klíče použité v templatech.