nixos-config/hosts/falkenstein-1/modules/networks/default.nix

74 lines
1.8 KiB
Nix
Raw Normal View History

2023-09-19 13:47:08 +02:00
{ config, lib, ... }:
2023-04-12 17:21:24 +02:00
{
2023-07-30 19:41:51 +02:00
sops.secrets = {
"wireguard/dorm/private" = {
owner = config.users.users.systemd-network.name;
};
"wireguard/dorm/preshared" = {
owner = config.users.users.systemd-network.name;
};
};
2023-04-12 17:21:24 +02:00
networking = {
2023-04-12 17:28:41 +02:00
hostName = "falkenstein-1";
2023-09-19 13:47:08 +02:00
domain = "rfive.de";
2023-04-12 17:21:24 +02:00
useNetworkd = true;
enableIPv6 = true;
};
2023-09-24 22:46:12 +02:00
services.resolved.dnssec = "true";
2023-04-12 17:21:24 +02:00
systemd.network = {
enable = true;
networks."10-loopback" = {
matchConfig.Name = "lo";
linkConfig.RequiredForOnline = false;
};
networks."10-wired" = {
matchConfig.Name = "ens3";
networkConfig = {
DHCP = "ipv4";
2023-04-12 20:47:00 +02:00
IPv6AcceptRA = "yes";
Address = "2a01:4f8:c012:49de::1/64";
Gateway = "fe80::1";
2023-04-12 17:21:24 +02:00
};
};
2023-07-30 19:41:51 +02:00
netdevs."30-dorm" = {
netdevConfig = {
Kind = "wireguard";
Name = "dorm";
Description = "WireGuard to my Dorm Infra";
};
wireguardConfig = {
PrivateKeyFile = config.sops.secrets."wireguard/dorm/private".path;
ListenPort = 51820;
};
wireguardPeers = [
{
wireguardPeerConfig = {
PublicKey = "vUmworuJFHjB4KUdkucQ+nzqO2ysARLomq4UuK1n430=";
PresharedKeyFile = config.sops.secrets."wireguard/dorm/preshared".path;
Endpoint = "dorm.vpn.rfive.de:51820";
AllowedIPs = "10.10.10.0/24, 192.168.10.0/24";
};
}
];
};
networks."30-dorm" = {
matchConfig.Name = "dorm";
networkConfig = {
DNS = "192.168.10.1";
};
addresses = [
{
addressConfig = {
Address = "10.10.10.4/24";
RouteMetric = 30;
};
}
];
routes = [
{ routeConfig = { Gateway = "0.0.0.0"; Destination = "192.168.10.0/24"; Metric = 30; }; }
];
};
2023-04-12 17:21:24 +02:00
};
}