From 7b8d19d10892eddd7cdaa1e9384185a0a6d64dae Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Fri, 31 Dec 2021 16:42:08 +0100 Subject: vidhar: prometheus: snmp: ... --- hosts/vidhar/network/default.nix | 83 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 hosts/vidhar/network/default.nix (limited to 'hosts/vidhar/network/default.nix') diff --git a/hosts/vidhar/network/default.nix b/hosts/vidhar/network/default.nix new file mode 100644 index 00000000..a32dd2f8 --- /dev/null +++ b/hosts/vidhar/network/default.nix @@ -0,0 +1,83 @@ +{ config, lib, pkgs, ... }: +{ + imports = [ ./dsl.nix ]; + + config = { + networking = { + hostName = "vidhar"; + domain = "yggdrasil"; + search = [ "yggdrasil" ]; + + useDHCP = false; + useNetworkd = true; + + interfaces."lan" = { + ipv4.addresses = [ + { address = "10.141.0.1"; prefixLength = 24; } + ]; + }; + interfaces."mgmt" = { + ipv4.addresses = [ + { address = "10.141.1.1"; prefixLength = 24; } + ]; + }; + + vlans = { + mgmt = { + id = 2; + interface = "eno2"; + }; + lan = { + id = 3; + interface = "eno2"; + }; + }; + + firewall.enable = false; + nftables = { + enable = true; + rulesetFile = ./ruleset.nft; + }; + }; + + services.resolved = { + llmnr = "false"; + }; + + services.dhcpd4 = { + enable = true; + interfaces = [ "lan" "mgmt" ]; + extraConfig = '' + subnet 10.141.0.0 netmask 255.255.255.0 { + range 10.141.0.128 10.141.0.254; + option domain-name-servers 10.141.0.1; + option broadcast-address 10.141.0.255; + option routers 10.141.0.1; + option domain-name "yggdrasil"; + } + + subnet 10.141.1.0 netmask 255.255.255.0 { + range 10.141.1.128 10.141.1.254; + } + ''; + machines = [ + { + ethernetAddress = "50:d4:f7:f3:0f:7e"; + hostName = "gauss-ap01"; + ipAddress = "10.141.0.64"; + } + { + ethernetAddress = "60:a4:b7:53:94:b5"; + hostName = "switch01"; + ipAddress = "10.141.1.2"; + } + ]; + }; + systemd.network.networks = { + "eno2" = { + matchConfig.Name = "eno2"; + networkConfig.LinkLocalAddressing = "no"; + }; + }; + }; +} -- cgit v1.2.3