Add wireguard service
This commit is contained in:
parent
dc03395af5
commit
d6333c0a57
4 changed files with 86 additions and 20 deletions
50
configuration/services/wireguard.nix
Normal file
50
configuration/services/wireguard.nix
Normal file
|
@ -0,0 +1,50 @@
|
|||
{config, ...}: {
|
||||
systemd.network = {
|
||||
netdevs = {
|
||||
"20-wg0" = {
|
||||
netdevConfig = {
|
||||
Name = "wg0";
|
||||
Kind = "wireguard";
|
||||
Description = "wg0 - wireguard tunnel";
|
||||
};
|
||||
|
||||
wireguardConfig = {
|
||||
ListenPort = 51820;
|
||||
PrivateKeyFile = config.sops.secrets."wireguard/server-key".path;
|
||||
# Public key: 73z3Pga/2BCxETYM/qCT2FM1JUCUvQ+Cp+8ROxjhu0w=
|
||||
};
|
||||
|
||||
wireguardPeers = [
|
||||
{
|
||||
# yui
|
||||
wireguardPeerConfig = {
|
||||
AllowedIPs = ["10.45.249.2/32"];
|
||||
PublicKey = "5mlnqEVJWks5OqgeFA2bLIrvST9TlCE81Btl+j4myz0=";
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
# yuanyuan
|
||||
wireguardPeerConfig = {
|
||||
AllowedIPs = ["10.45.249.10/32"];
|
||||
PublicKey = "0UsFE2atz/O5P3OKQ8UHyyyGQNJbp1MeIWUJLuoerwE=";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
networks = {
|
||||
"20-wg0" = {
|
||||
matchConfig.Name = "wg0";
|
||||
|
||||
networkConfig.Address = [
|
||||
"10.45.249.1/24"
|
||||
# TODO(tlater): Add IPv6 whenever that becomes relevant
|
||||
];
|
||||
|
||||
linkConfig.RequiredForOnline = "no";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,22 +1,34 @@
|
|||
{
|
||||
sops = {
|
||||
defaultSopsFile = ../keys/production.yaml;
|
||||
secrets."nextcloud/tlater" = {
|
||||
owner = "nextcloud";
|
||||
group = "nextcloud";
|
||||
};
|
||||
secrets."steam/tlater" = {};
|
||||
secrets."heisenbridge/as-token" = {};
|
||||
secrets."heisenbridge/hs-token" = {};
|
||||
secrets."turn/env" = {};
|
||||
secrets."turn/secret" = {
|
||||
owner = "turnserver";
|
||||
};
|
||||
secrets."turn/ssl-key" = {
|
||||
owner = "turnserver";
|
||||
};
|
||||
secrets."turn/ssl-cert" = {
|
||||
owner = "turnserver";
|
||||
|
||||
secrets = {
|
||||
"nextcloud/tlater" = {
|
||||
owner = "nextcloud";
|
||||
group = "nextcloud";
|
||||
};
|
||||
|
||||
"steam/tlater" = {};
|
||||
|
||||
"heisenbridge/as-token" = {};
|
||||
"heisenbridge/hs-token" = {};
|
||||
|
||||
"wireguard/server-key" = {
|
||||
owner = "root";
|
||||
group = "systemd-network";
|
||||
mode = "0440";
|
||||
};
|
||||
|
||||
"turn/env" = {};
|
||||
"turn/secret" = {
|
||||
owner = "turnserver";
|
||||
};
|
||||
"turn/ssl-key" = {
|
||||
owner = "turnserver";
|
||||
};
|
||||
"turn/ssl-cert" = {
|
||||
owner = "turnserver";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue