Files
PVV-DNS/hosts.nix

266 lines
4.7 KiB
Nix

let
pvvv4 = hostPart: "129.241.210.${toString hostPart}";
pvvv6 =
hostPart:
let
fieldCount = builtins.length (builtins.split "(:)" (toString hostPart));
partSep = if (fieldCount < 4) then "::" else ":";
in
"2001:700:300:1900${partSep}${toString hostPart}";
pvvHost = hostPart: {
ipv4 = pvvv4 hostPart;
ipv6 = pvvv6 hostPart;
};
dhcpStart = 136;
dhcpEnd = 160;
dhcpHosts = builtins.listToAttrs (
builtins.genList (n: {
name = "dhcp-${builtins.substring 2 2 (toString (n + 1001))}";
value.ipv4 = pvvv4 (n + dhcpStart);
}) (dhcpEnd - dhcpStart)
);
in
{
# Note: See ./README.md for usage
# Hosts specified here will be included in the default/general DNS setup, with records in
# - pvv.org.
# - pvv.ntnu.no.
# - 210.241.129.in-addr.arpa. (reverse-ipv4, where applicable)
# - 9.1.0.0.3.0.0.0.7.0.1.0.0.2.ip6.arpa. (reverse-ipv6, where applicable)
# Servere
temmie = pvvHost 167;
bekkalokk = pvvHost 168 // {
aliases = [
"alps"
"idp"
"idp2"
"pw"
"snappymail"
"webmail"
"wiki"
"www"
"www2"
];
};
isvegg = pvvHost 175 // {
ipv6 = pvvv6 "1:a";
aliases = [ "gopher" ];
};
hildring = pvvHost 176 // {
ipv6 = pvvv6 "1:9";
aliases = [
"login"
"fwlogin"
];
};
microbel = pvvHost 179 // {
ipv6 = pvvv6 "1:2"; # TODO - Change
aliases = [
"homepvv"
"homepvva"
"homepvvb"
"homepvvc"
"homepvvd"
"homepvvh"
"homepvvi"
"homepvvj"
"homepvvk"
"homepvvl"
"homepvvm"
"homepvvt"
"homepvvz"
"samba" # TODO: Remove?
"sambapvv" # TODO: Remove?
"list" # MX/A record handled in ./zones/pvv.ntnu.no.nix
"mail" # Special alias handled in ./zones/pvv.ntnu.no.nix
];
};
tom = pvvHost 180;
knutsen.ipv4 = pvvv4 190;
knutsen-vpn.ipv4 = pvvv4 191;
balduzius = {
ipv4 = pvvv4 192;
# TODO: Add IPv6. Note present in ye olde zone file:
# ; Kommentert ut IPv6 foreloepig -- maskinen klarer ikke naa default gw paa v6
# ipv6 = pvvv6 "1:42";
aliases = [
"kdc"
"kerberos"
];
};
sleipner = pvvHost 193 // {
ipv6 = pvvv6 "fab:cab:dab:7ab"; # TODO - Change
aliases = [
"lommel"
"puppet" # TODO - Remove?
"rdist" # TODO - Remove?
"salt"
];
};
demiurgen = pvvHost 201 // {
aliases = [
"demirurgen"
"rurgen"
];
};
georg = pvvHost 204 // {
ipv6 = pvvv6 "1:4f"; # TODO - Change
aliases = [
"georg-backend"
"georg-old"
];
};
brzeczyszczykiewicz = pvvHost 205 // {
ipv6 = pvvv6 "1:50"; # TODO - Change
aliases = [
"bokhylle"
"brzeczyszczykiewicz-backend"
"brzeczyszczykiewicz-old"
];
};
kvernberg = pvvHost 206 // {
ipv6 = pvvv6 "1:206"; # TODO - Change
aliases = [
"bank.kvernberg"
"exchange.kvernberg"
];
};
bicep = pvvHost 209 // {
aliases = [
"chat"
"hookshot"
"matrix"
"mirrors"
"mysql"
"ooye"
"postgres"
"slidingsync" # TODO - Remove?
];
};
orchid = pvvHost 210;
dvask.ipv4 = pvvv4 211;
turn = pvvHost 213;
innovation = pvvHost 214 // {
ipv6 = pvvv6 "1:56"; # TODO - Change
};
drolsum = pvvHost 217 // {
aliases = [ "login2" ];
};
wegonke = pvvHost 218 // {
ipv6 = pvvv6 "1:218"; # TODO - Change
};
kana = pvvHost 219 // {
aliases = [
"ap"
];
};
blossom = pvvHost 220;
bubbles = pvvHost 221;
buttercup = pvvHost 222;
kommode = pvvHost 223 // {
aliases = [
"git"
"gitea"
"pages"
];
};
lupine-1 = pvvHost 224;
lupine-2 = pvvHost 225;
lupine-3 = pvvHost 226;
lupine-4 = pvvHost 227;
lupine-5 = pvvHost 228;
homeassistant = pvvHost 229 // {
ipv6 = pvvv6 "4:229"; # TODO - Change
};
ameno = pvvHost 230 // {
ipv6 = pvvv6 "4:230"; # TODO - Change
};
buskerud = pvvHost 231;
principal = pvvHost 233 // {
ipv6 = pvvv6 "4:233";
aliases = [
"loghost"
];
};
ustetind = pvvHost 234;
skrott.ipv4 = pvvv4 235; # TODO - IPv6?
tallulah = pvvHost 236 // {
ipv6 = pvvv6 "ca60:ff:fe5f:c5e0"; # TODO - Change
};
wenche = pvvHost 240;
guest1 = pvvHost 248; # Temporary hosts
guest2 = pvvHost 249;
guest3 = pvvHost 250;
knutsen-tap.ipv4 = pvvv4 253;
ludvisen-tap.ipv4 = pvvv4 254;
# Outside 129.241.210.128/25:
ildkule = {
ipv4 = "129.241.153.213";
ipv6 = "2001:700:300:6026:f816:3eff:fe58:f1e8";
aliases = [
"grafana"
"journald"
"status"
];
};
# TODO - Make less quirky syntax for this
"ircnet.underworld.no.".aliases = [ "irc" ];
}
// dhcpHosts