34 lines
1.1 KiB
Nix
34 lines
1.1 KiB
Nix
{ ... }:
|
|
let portDefinitions = import ./_port-definitions.nix;
|
|
in {
|
|
networking = {
|
|
firewall.allowedUDPPorts = [ portDefinitions.wireguard ];
|
|
wireguard = {
|
|
enable = true;
|
|
interfaces.wg0 = {
|
|
ips = [ 10.10.0.1/24 ];
|
|
peers = [{
|
|
allowedIPs = [ 10.10.0.2/32 ];
|
|
name = "Note9";
|
|
publicKey = "Y5A5iv0ukg1TQMcIdtXd+bmDxtrqHCuoEhYRmBqwkFY=";
|
|
presharedKeyFile = "/run/secrets/preshared_keys_note9";
|
|
}];
|
|
postSetup =
|
|
"iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o enp5s0 -j MASQUERADE";
|
|
postShutdown =
|
|
"iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o enp5s0 -j MASQUERADE";
|
|
privateKeyFile = "/run/secrets/wg_private_key";
|
|
};
|
|
};
|
|
};
|
|
sops.secrets = {
|
|
"wireguard/private_key" = {
|
|
path = "/run/secrets/wg_private_key";
|
|
user = "root";
|
|
};
|
|
"wireguard/preshared_keys/note9" = {
|
|
path = "/run/secrets/preshared_keys_note9";
|
|
user = "root";
|
|
};
|
|
};
|
|
}
|