flake cleanup and wg setup persistence
This commit is contained in:
parent
a1e9e81ae9
commit
0ac3bbfbe2
7 changed files with 80 additions and 32 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
{ modulesPath, pkgs, ... }: {
|
{ modulesPath, pkgs, lib, ... }: {
|
||||||
imports = [ (modulesPath + "/virtualisation/proxmox-lxc.nix") ];
|
imports = [ (modulesPath + "/virtualisation/proxmox-lxc.nix") ];
|
||||||
|
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
@ -43,7 +43,24 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable networking
|
# Enable networking
|
||||||
networking.networkmanager.enable = true;
|
networking = {
|
||||||
|
networkmanager.enable = true;
|
||||||
|
|
||||||
|
# configure firewall
|
||||||
|
firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedTCPPorts = [ 22 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# enable routing of wireguard reachable subnet via wgbr
|
||||||
|
interfaces.wgbr.ipv4.routes = lib.mkDefault [
|
||||||
|
{
|
||||||
|
address = "10.8.0.0";
|
||||||
|
prefixLength = 16;
|
||||||
|
via = "10.8.1.1";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
# enable ssh access
|
# enable ssh access
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
|
|
@ -58,9 +75,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# configure firewall
|
|
||||||
networking.firewall.enable = true;
|
|
||||||
networking.firewall.allowedTCPPorts = [ 22 ];
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
|
|
|
||||||
19
configs/containers/mc_container.nix
Normal file
19
configs/containers/mc_container.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{ lib, pkgs, config, ... }: {
|
||||||
|
|
||||||
|
deployment = {
|
||||||
|
targetHost = "192.168.178.56";
|
||||||
|
targetPort = 22;
|
||||||
|
targetUser = "root";
|
||||||
|
};
|
||||||
|
networking.hostName = "mcserver";
|
||||||
|
networking.interfaces.wgbr.ipv4.addresses = [
|
||||||
|
{
|
||||||
|
address = "10.8.1.2";
|
||||||
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
imports = [
|
||||||
|
../container_config.nix
|
||||||
|
../services/minecraft-server.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
12
configs/containers/wg_container.nix
Normal file
12
configs/containers/wg_container.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ lib, pkgs, config, ... }: {
|
||||||
|
deployment = {
|
||||||
|
targetHost = "192.168.178.44";
|
||||||
|
targetPort = 22;
|
||||||
|
targetUser = "root";
|
||||||
|
};
|
||||||
|
networking.hostName = "wireguard";
|
||||||
|
imports = [
|
||||||
|
../container_config.nix
|
||||||
|
../services/wireguard.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
17
configs/containers/zammad_container.nix
Normal file
17
configs/containers/zammad_container.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
{ lib, pkgs, config, ... }: {
|
||||||
|
deployment = {
|
||||||
|
targetHost = "192.168.178.50";
|
||||||
|
targetPort = 22;
|
||||||
|
targetUser = "root";
|
||||||
|
};
|
||||||
|
networking.hostName = "zammad";
|
||||||
|
networking.interfaces.wgbr.ipv4.addresses = [
|
||||||
|
{
|
||||||
|
address = "10.8.1.3";
|
||||||
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
imports = [
|
||||||
|
../container_config.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -35,6 +35,4 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 8080 ];
|
networking.firewall.allowedTCPPorts = [ 8080 ];
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,15 @@ in {
|
||||||
firewall.allowedUDPPorts = [ wg_port ];
|
firewall.allowedUDPPorts = [ wg_port ];
|
||||||
firewall.rejectPackets = true;
|
firewall.rejectPackets = true;
|
||||||
firewall.trustedInterfaces = [ "wgbr" "wg0" ];
|
firewall.trustedInterfaces = [ "wgbr" "wg0" ];
|
||||||
|
interfaces.wgbr.ipv4 = {
|
||||||
|
routes = [ ];
|
||||||
|
addresses = [
|
||||||
|
{
|
||||||
|
address = "10.8.1.1";
|
||||||
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
wg-quick.interfaces = {
|
wg-quick.interfaces = {
|
||||||
wg0 = {
|
wg0 = {
|
||||||
|
|
@ -27,7 +36,7 @@ in {
|
||||||
publicKey = "AJ1nr0/w8OvsNq5Ju//m4856u7yY0hlPGMEGeZtlhlY=";
|
publicKey = "AJ1nr0/w8OvsNq5Ju//m4856u7yY0hlPGMEGeZtlhlY=";
|
||||||
|
|
||||||
# Forward all the traffic via VPN.
|
# Forward all the traffic via VPN.
|
||||||
allowedIPs = [ "10.8.0.0/24" ];
|
allowedIPs = [ "10.8.0.0/16" ];
|
||||||
|
|
||||||
# Set this to the server IP and port.
|
# Set this to the server IP and port.
|
||||||
endpoint = "202.61.230.52:51820";
|
endpoint = "202.61.230.52:51820";
|
||||||
|
|
|
||||||
27
flake.nix
27
flake.nix
|
|
@ -10,32 +10,11 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mcserver = {
|
mcserver = import ./configs/containers/mc_container.nix;
|
||||||
deployment = {
|
|
||||||
targetHost = "192.168.178.50";
|
|
||||||
targetPort = 22;
|
|
||||||
targetUser = "root";
|
|
||||||
};
|
|
||||||
networking.hostName = "mcserver";
|
|
||||||
imports = [
|
|
||||||
./configs/container_config.nix
|
|
||||||
./configs/services/minecraft-server.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
wireguard = {
|
wireguard = import ./configs/containers/wg_container.nix;
|
||||||
deployment = {
|
|
||||||
targetHost = "192.168.178.44";
|
|
||||||
targetPort = 22;
|
|
||||||
targetUser = "root";
|
|
||||||
};
|
|
||||||
networking.hostName = "wireguard";
|
|
||||||
imports = [
|
|
||||||
./configs/container_config.nix
|
|
||||||
./configs/services/wireguard.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
zammad = import ./configs/containers/zammad_container.nix;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue