feat(labcore01): init
Lab's core infra vm, doing only dns64 for now.
This commit is contained in:
parent
3b8189ad5b
commit
3915b492c4
6 changed files with 117 additions and 0 deletions
16
machines/labcore01/_configuration.nix
Normal file
16
machines/labcore01/_configuration.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
lib.extra.mkConfig {
|
||||||
|
enabledModules = [
|
||||||
|
# List of modules to enable
|
||||||
|
];
|
||||||
|
|
||||||
|
enabledServices = [
|
||||||
|
# List of services to enable
|
||||||
|
"unbound"
|
||||||
|
];
|
||||||
|
|
||||||
|
extraConfig = { };
|
||||||
|
|
||||||
|
root = ./.;
|
||||||
|
}
|
49
machines/labcore01/_hardware-configuration.nix
Normal file
49
machines/labcore01/_hardware-configuration.nix
Normal 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";
|
||||||
|
}
|
3
machines/labcore01/secrets/secrets.nix
Normal file
3
machines/labcore01/secrets/secrets.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
(import ../../../keys).mkSecrets [ "router02" ] [
|
||||||
|
# List of secrets for router02
|
||||||
|
]
|
20
machines/labcore01/unbound.nix
Normal file
20
machines/labcore01/unbound.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -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 = { };
|
||||||
|
|
||||||
|
|
|
@ -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";
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue