1
0
Fork 0
forked from DGNum/lab-infra

feat(labcore01): init

Lab's core infra vm, doing only dns64 for now.
This commit is contained in:
sinavir 2024-11-02 02:14:38 +01:00
parent 3b8189ad5b
commit 3915b492c4
6 changed files with 117 additions and 0 deletions

View file

@ -0,0 +1,16 @@
{ lib, ... }:
lib.extra.mkConfig {
enabledModules = [
# List of modules to enable
];
enabledServices = [
# List of services to enable
"unbound"
];
extraConfig = { };
root = ./.;
}

View file

@ -0,0 +1,49 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ lib, modulesPath, ... }:
{
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot = {
initrd = {
availableKernelModules = [
"ata_piix"
"uhci_hcd"
"virtio_pci"
"virtio_scsi"
"sd_mod"
"sr_mod"
];
kernelModules = [ ];
};
kernelModules = [ ];
extraModulePackages = [ ];
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/e2536e0b-2f60-467e-b4a4-dcea2a4928ce";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/913D-7694";
fsType = "vfat";
options = [
"fmask=0022"
"dmask=0022"
];
};
swapDevices = [ { device = "/dev/disk/by-uuid/17552e24-22de-4965-a1de-aa635e636f63"; } ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View file

@ -0,0 +1,3 @@
(import ../../../keys).mkSecrets [ "router02" ] [
# List of secrets for router02
]

View file

@ -0,0 +1,20 @@
{
services.unbound = {
enable = true;
settings = {
server = {
verbosity = 5;
interface = [ "2a0e:e701:1120:1000::f:1" ];
access-control = [ "2a0e:e701:1120::/48 allow" ];
dns64-prefix = "64:ff9b::/96";
do-nat64 = "yes";
module-config = "\"dns64 validator iterator\"";
};
};
};
networking = {
firewall = {
allowedUDPPorts = [ 53 ];
};
};
}

View file

@ -21,6 +21,27 @@
hostId = "bd11e8fc"; hostId = "bd11e8fc";
netbirdIp = "100.80.103.206"; netbirdIp = "100.80.103.206";
}; };
labcore01 = {
interfaces = {
ens18 = {
ipv6 = [
{
address = "2a0e:e701:1120:1000::f:1";
prefixLength = 64;
}
{
address = "2a0e:e701:1120:1000:ffff::45.13.104.27";
prefixLength = 64;
}
];
gateways = [ "2a0e:e701:1120:1000::1" ];
dns = [ "2a0e:e701:1120:1000::f:1" ];
};
};
hostId = "4a370ef4";
};
router02 = { router02 = {
interfaces = { }; interfaces = { };

View file

@ -28,6 +28,14 @@
stateVersion = "24.05"; stateVersion = "24.05";
nixpkgs = "unstable"; nixpkgs = "unstable";
}; };
labcore01 = {
site = "pav01";
hashedPassword = "$y$j9T$aFhOWa05W7VKeKt3Nc.nA1$uBOvG4wf7/yWjwOxO8NLf9ipCsAkS1.5cD2EJpLx57A";
stateVersion = "24.05";
nixpkgs = "24.05";
};
router02 = { router02 = {
site = "pav01"; site = "pav01";