Compare commits
2 Commits
000c03d3c1
...
14af217880
| Author | SHA1 | Date | |
|---|---|---|---|
| 14af217880 | |||
| 26e6870337 |
@@ -307,6 +307,8 @@ rec {
|
|||||||
|
|
||||||
home = rec {
|
home = rec {
|
||||||
domain = "h.${pubDomain}";
|
domain = "h.${pubDomain}";
|
||||||
|
# Search domains advertised to clients (radvd DNSSL / kea domain-search)
|
||||||
|
searchDomains = [ domain "dyn.${domain}" colony.domain britway.domain ];
|
||||||
vlans = {
|
vlans = {
|
||||||
hi = 100;
|
hi = 100;
|
||||||
lo = 110;
|
lo = 110;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
let
|
let
|
||||||
inherit (lib.my) net;
|
inherit (lib.my) net;
|
||||||
inherit (lib.my.c) networkd;
|
inherit (lib.my.c) networkd;
|
||||||
inherit (lib.my.c.home) domain vlans prefixes vips roceBootModules;
|
inherit (lib.my.c.home) domain searchDomains vlans prefixes vips roceBootModules;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
nixos.systems.castle = {
|
nixos.systems.castle = {
|
||||||
@@ -189,8 +189,16 @@ in
|
|||||||
};
|
};
|
||||||
"40-lan-hi" = mkMerge [
|
"40-lan-hi" = mkMerge [
|
||||||
(networkdAssignment "lan-hi" assignments.hi)
|
(networkdAssignment "lan-hi" assignments.hi)
|
||||||
|
{
|
||||||
|
networkConfig = {
|
||||||
|
# v6 is RA/SLAAC-derived, so when RA is absent we have no v6 at all;
|
||||||
|
# anchor DNS on the always-present static v4 (the VRRP VIP follows the master)
|
||||||
|
DNS = [ vips.hi.v4 vips.hi.v6 ];
|
||||||
|
Domains = searchDomains;
|
||||||
# So we don't drop the IP we use to connect to NVMe-oF!
|
# So we don't drop the IP we use to connect to NVMe-oF!
|
||||||
{ networkConfig.KeepConfiguration = "static"; }
|
KeepConfiguration = "static";
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
"45-lan-lo" = {
|
"45-lan-lo" = {
|
||||||
matchConfig.Name = "lan-lo";
|
matchConfig.Name = "lan-lo";
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
index: { lib, pkgs, config, assignments, allAssignments, ... }:
|
index: { lib, pkgs, config, assignments, allAssignments, ... }:
|
||||||
let
|
let
|
||||||
inherit (lib) mkForce;
|
inherit (lib) mkForce concatStringsSep;
|
||||||
inherit (lib.my) net netbootKeaClientClasses;
|
inherit (lib.my) net netbootKeaClientClasses;
|
||||||
inherit (lib.my.c.home) domain prefixes vips hiMTU;
|
inherit (lib.my.c.home) domain searchDomains prefixes vips hiMTU;
|
||||||
|
|
||||||
dns-servers = [
|
dns-servers = [
|
||||||
{
|
{
|
||||||
@@ -59,7 +59,7 @@ in
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "domain-search";
|
name = "domain-search";
|
||||||
data = "${domain}, dyn.${domain}, ${lib.my.c.colony.domain}, ${lib.my.c.britway.domain}";
|
data = concatStringsSep ", " searchDomains;
|
||||||
always-send = true;
|
always-send = true;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
index: { lib, pkgs, ... }:
|
index: { lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
inherit (lib) mkForce concatMapStringsSep;
|
inherit (lib) mkForce concatMapStringsSep concatStringsSep;
|
||||||
inherit (lib.my) net;
|
inherit (lib.my) net;
|
||||||
inherit (lib.my.c.home) domain prefixes vips;
|
inherit (lib.my.c.home) domain searchDomains prefixes vips;
|
||||||
|
|
||||||
# untrusted uses external (Cloudflare) resolvers, matching the v4 kea config;
|
# untrusted uses external (Cloudflare) resolvers, matching the v4 kea config;
|
||||||
# trusted VLANs use the internal recursor via its floating VRRP VIP
|
# trusted VLANs use the internal recursor via its floating VRRP VIP
|
||||||
@@ -18,7 +18,7 @@ let
|
|||||||
AdvLinkMTU ${toString prefixes."${name}".mtu};
|
AdvLinkMTU ${toString prefixes."${name}".mtu};
|
||||||
prefix ${prefixes."${name}".v6} {};
|
prefix ${prefixes."${name}".v6} {};
|
||||||
RDNSS ${rdnss name} {};
|
RDNSS ${rdnss name} {};
|
||||||
DNSSL ${domain} dyn.${domain} ${lib.my.c.colony.domain} ${lib.my.c.britway.domain} {};
|
DNSSL ${concatStringsSep " " searchDomains} {};
|
||||||
};
|
};
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
|
|||||||
Reference in New Issue
Block a user