setup everii vpn
This commit is contained in:
@@ -69,9 +69,15 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = with pkgs; [ rocmPackages.clr.icd ];
|
extraPackages = with pkgs; [ rocmPackages.clr.icd ];
|
||||||
};
|
};
|
||||||
|
services.resolved = {
|
||||||
|
enable = true;
|
||||||
|
dnsovertls = "opportunistic";
|
||||||
|
dnssec = "allow-downgrade";
|
||||||
|
};
|
||||||
networking.networkmanager = {
|
networking.networkmanager = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wifi.backend = "iwd";
|
wifi.backend = "iwd";
|
||||||
|
dns = "systemd-resolved";
|
||||||
plugins = with pkgs; [
|
plugins = with pkgs; [
|
||||||
networkmanager-openvpn
|
networkmanager-openvpn
|
||||||
];
|
];
|
||||||
@@ -86,4 +92,50 @@
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
networking.firewall.allowedUDPPorts = [ 5353 ];
|
networking.firewall.allowedUDPPorts = [ 5353 ];
|
||||||
|
|
||||||
|
networking.wg-quick.interfaces = lib.mkMerge (
|
||||||
|
lib.map
|
||||||
|
(
|
||||||
|
{
|
||||||
|
region,
|
||||||
|
ipOctet,
|
||||||
|
publicKey,
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
"everii-${region}" = {
|
||||||
|
address = [ "10.${toString ipOctet}.8.48/22" ];
|
||||||
|
dns = [ "10.${toString ipOctet}.1.1" ];
|
||||||
|
privateKeyFile = config.age.secrets."everii-vpn/${region}.key".path;
|
||||||
|
peers = [
|
||||||
|
{
|
||||||
|
allowedIPs = [ "10.${toString ipOctet}.0.0/16" ];
|
||||||
|
endpoint = "vpn.${region}.infra.everii.io:51821";
|
||||||
|
inherit publicKey;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
postUp = ''
|
||||||
|
${pkgs.systemd}/bin/resolvectl domain everii-${region} ~${region}.everii ~${toString ipOctet}.10.in-addr.arpa
|
||||||
|
${pkgs.systemd}/bin/resolvectl dnssec everii-${region} no
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
|
[
|
||||||
|
{
|
||||||
|
region = "de1";
|
||||||
|
ipOctet = 13;
|
||||||
|
publicKey = "uBUgSTZb6WbfE960S3qFP/UUMtdsgNWqtkTaBkp6Xxo=";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
region = "fi1";
|
||||||
|
ipOctet = 14;
|
||||||
|
publicKey = "Yoakl0lrL6IK1nT8x5SGpaS39fQxRAsP9Zjpu8/1RRs=";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
region = "ch1";
|
||||||
|
ipOctet = 15;
|
||||||
|
publicKey = "gfciqAk+X02zoEKXSvRamx5+TGL3i4GpT7oUvHMD0xo=";
|
||||||
|
}
|
||||||
|
]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,9 @@
|
|||||||
})
|
})
|
||||||
[
|
[
|
||||||
"borgbackup-radish"
|
"borgbackup-radish"
|
||||||
|
"everii-vpn/de1.key"
|
||||||
|
"everii-vpn/ch1.key"
|
||||||
|
"everii-vpn/fi1.key"
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
10
secrets/everii-vpn/ch1.key.age
Normal file
10
secrets/everii-vpn/ch1.key.age
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 osOCZA ynIsrUjxXEYLRtKoiyBKCn83JeZ5rFhGD3xi61ypVBc
|
||||||
|
ZuKEpntuTCMigOf/jeQ3V6oklmqzuxyDpi4oVhtWsc4
|
||||||
|
-> ssh-ed25519 DFiohQ /0VJWz6hK+0FNjBciDbPHX+ader97UxCiQYB1BFZh3E
|
||||||
|
SiqY0KS5wBWHMgEbJMAU1WgvXqEJjBAOQ3l/eMuETdI
|
||||||
|
-> ssh-ed25519 hRPDBg KSXXiPwj27sKoXMiwW7IqQJvE72lYIgUjiPnpvVSSmE
|
||||||
|
ioQGtUPSMj4flm9j84PLGm4C/P0sHVmYX38SgB6Yl2c
|
||||||
|
--- jUadITulpzJjYp3oWxkG0Qk5RwDXisrKgmXYMlcxCss
|
||||||
|
ç[ ,J"ø$¥Èµå½Mõ.ã0ט½Œcë§~ã,<2C>CŸ
|
||||||
|
‰“s•¤×u1<02>™órDTf:FtwAÉtÿ„™hE¿›„Af
|
||||||
9
secrets/everii-vpn/de1.key.age
Normal file
9
secrets/everii-vpn/de1.key.age
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 osOCZA sGsltqSPiC3jkgZcpRXobfPgKiuPYzU3XiNptcyniB4
|
||||||
|
0Q7X+YuaRHT2/1sCrqyhnXCRGIcUKlHQKoo7W8TCwD0
|
||||||
|
-> ssh-ed25519 DFiohQ o982CBPZ8MYPkm+ngw0WxJKc4vC0yo1poTz3ICnbJVM
|
||||||
|
Ac600G8Gr8dhPaXxl8k7A7XpaX70iyLTzfFFTc+14Ag
|
||||||
|
-> ssh-ed25519 hRPDBg Pf8NvKBZy/afSlFjZIySg6aSregAeMtUCj7e90b0qXw
|
||||||
|
kW4Ph56hKVtR0MUaulZpSS28Kna1Wigcvcf1Uv2ESf8
|
||||||
|
--- Jbu+08V6cvPbTBjwiZvIRtsdOPOtn/e3VCzQuyrCgLw
|
||||||
|
®î|xÌ=׺6ú»ÙÄ)ؘjYy6¤Ê`Ø‚ÛØào wÔ¬ËZ€\LLfK,(œØq¸>AŽ_tM£êqŽü°°£Y‘>Õí
|
||||||
BIN
secrets/everii-vpn/fi1.key.age
Normal file
BIN
secrets/everii-vpn/fi1.key.age
Normal file
Binary file not shown.
@@ -46,4 +46,7 @@ in
|
|||||||
"gitea-actions-runner.age".publicKeys = users ++ [ freun-dev ];
|
"gitea-actions-runner.age".publicKeys = users ++ [ freun-dev ];
|
||||||
"invidious-companion.age".publicKeys = users ++ [ apu ];
|
"invidious-companion.age".publicKeys = users ++ [ apu ];
|
||||||
"invidious.age".publicKeys = users ++ [ freun-dev ];
|
"invidious.age".publicKeys = users ++ [ freun-dev ];
|
||||||
|
"everii-vpn/de1.key.age".publicKeys = users ++ [ radish ];
|
||||||
|
"everii-vpn/ch1.key.age".publicKeys = users ++ [ radish ];
|
||||||
|
"everii-vpn/fi1.key.age".publicKeys = users ++ [ radish ];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user