2023-12-17 13:06:57 +01:00
|
|
|
{ config, ... }:
|
|
|
|
{
|
2024-05-31 21:02:22 +02:00
|
|
|
|
|
|
|
# todo generator here
|
|
|
|
clanCore.facts.services.wireguard = {
|
|
|
|
secret."wireguard.private" = { };
|
|
|
|
generator.script = "";
|
|
|
|
};
|
2023-12-17 13:06:57 +01:00
|
|
|
|
|
|
|
# Enable WireGuard
|
|
|
|
networking.wg-quick.interfaces = {
|
|
|
|
# Hub and Spoke Setup
|
|
|
|
# https://www.procustodibus.com/blog/2020/11/wireguard-hub-and-spoke-config/
|
|
|
|
wg0 = {
|
|
|
|
address = [ "10.100.0.7/32" ];
|
|
|
|
listenPort = 51820; # to match firewall allowedUDPPorts (without this wg uses random port numbers)
|
2024-05-31 21:02:22 +02:00
|
|
|
privateKeyFile = config.clanCore.facts.services.wireguard.secret."wireguard.private".path;
|
|
|
|
|
2023-12-17 13:06:57 +01:00
|
|
|
mtu = 1280;
|
|
|
|
|
|
|
|
peers = [
|
|
|
|
{
|
|
|
|
# robi
|
2024-05-31 21:02:22 +02:00
|
|
|
# todo : use public facts here
|
2023-12-17 13:06:57 +01:00
|
|
|
publicKey = "uWR93xJe5oEbX3DsAYpOS9CuSg1VmXEQxJzdlJpe3DU=";
|
|
|
|
allowedIPs = [ "10.100.0.1/24" ];
|
2024-05-17 19:50:56 +02:00
|
|
|
#endpoint = "ingolf-wagner.de:51820";
|
|
|
|
endpoint = "95.216.66.212:51820";
|
2023-12-17 13:06:57 +01:00
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|