34 lines
896 B
Nix
34 lines
896 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
age.secrets.wireguard-hub.file = ../../secrets/wireguard-hub.age;
|
|
|
|
networking = {
|
|
nat = {
|
|
enable = true;
|
|
externalInterface = "ens3";
|
|
internalInterfaces = [ "wg0" ];
|
|
};
|
|
|
|
firewall.allowedUDPPorts = [ config.networking.wireguard.interfaces.wg0.listenPort ];
|
|
|
|
wireguard.interfaces.wg0 = {
|
|
ips = [ "10.127.1.1/24" "fd70:81ca:0f8f:1::1/64" ];
|
|
listenPort = 51820;
|
|
privateKeyFile = config.age.secrets.wireguard-hub.path;
|
|
peers = [
|
|
{
|
|
name = "shaw";
|
|
publicKey = "eD79pROC2zjhKz4tGRS43O95gcFRqO+SFb2XDnTr0zc=";
|
|
allowedIPs = [ "10.127.1.2" "fd70:81ca:0f8f:1::2" ];
|
|
}
|
|
{
|
|
name = "tohru";
|
|
publicKey = "lk3PCQM1jmZoI8sM/rWSyKNuZOUnjox3n9L9geJD+18=";
|
|
allowedIPs = [ "10.127.1.3" "fd70:81ca:0f8f:1::3" ];
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|