nixos-module/container/{dns, dhcp-server}: implement internal ipv4 dyndns
This commit is contained in:
parent
bc61849e4d
commit
fd267085bc
|
@ -46,6 +46,17 @@ in
|
||||||
domainName = dhcpData.string-opts.domain-name;
|
domainName = dhcpData.string-opts.domain-name;
|
||||||
}) pillar.dhcp)
|
}) pillar.dhcp)
|
||||||
{ core.ospf.secret = pillar.ospf.secret; }
|
{ core.ospf.secret = pillar.ospf.secret; }
|
||||||
|
|
||||||
|
# net priv* settings
|
||||||
|
(
|
||||||
|
builtins.mapAttrs (netName: _: {
|
||||||
|
dynamicDomain = true;
|
||||||
|
}) (
|
||||||
|
lib.filterAttrs (netName: _:
|
||||||
|
builtins.match "priv[[:digit:]]+" netName != null
|
||||||
|
) pillar.hosts-inet
|
||||||
|
)
|
||||||
|
)
|
||||||
] ++ (
|
] ++ (
|
||||||
map (ctx:
|
map (ctx:
|
||||||
builtins.mapAttrs (_: subnet: { subnets6.${ctx} = subnet; }) pillar.subnets-inet6.${ctx}
|
builtins.mapAttrs (_: subnet: { subnets6.${ctx} = subnet; }) pillar.subnets-inet6.${ctx}
|
||||||
|
@ -99,6 +110,7 @@ in
|
||||||
c3d2-anon.ospf.allowedUpstreams = [ "anon1" "freifunk" ];
|
c3d2-anon.ospf.allowedUpstreams = [ "anon1" "freifunk" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# host priv*-gw settings
|
||||||
(
|
(
|
||||||
builtins.mapAttrs (hostName: _: {
|
builtins.mapAttrs (hostName: _: {
|
||||||
ospf.allowedUpstreams = [ "upstream2" "upstream1" "freifunk" ];
|
ospf.allowedUpstreams = [ "upstream2" "upstream1" "freifunk" ];
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# ISC DHCP/IPv4 server configuration
|
# ISC DHCP/IPv4 server configuration
|
||||||
{ hostName, config, lib, ... }:
|
{ hostName, inputs, config, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
dhcpNets =
|
dhcpNets =
|
||||||
|
@ -21,17 +21,43 @@ in
|
||||||
builtins.attrValues (
|
builtins.attrValues (
|
||||||
builtins.mapAttrs (net: { dhcp, subnet4Net, subnet4Len, domainName, ...}:
|
builtins.mapAttrs (net: { dhcp, subnet4Net, subnet4Len, domainName, ...}:
|
||||||
''
|
''
|
||||||
|
ddns-update-style standard;
|
||||||
|
key dyndns {
|
||||||
|
algorithm hmac-sha256;
|
||||||
|
secret ${inputs.zentralwerk-network-key.lib.dyndnsKey};
|
||||||
|
};
|
||||||
|
zone ${domainName}. {
|
||||||
|
primary ${config.site.net.serv.hosts4.dns};
|
||||||
|
primary6 ${config.site.net.serv.hosts6.dn42.dns};
|
||||||
|
key dyndns;
|
||||||
|
}
|
||||||
|
${lib.concatMapStrings ({ name, dynamic, ... }:
|
||||||
|
lib.optionalString (
|
||||||
|
dynamic &&
|
||||||
|
lib.hasSuffix ".in-addr.arpa" name
|
||||||
|
) ''
|
||||||
|
zone ${name}. {
|
||||||
|
primary ${config.site.net.serv.hosts4.dns};
|
||||||
|
primary6 ${config.site.net.serv.hosts6.dn42.dns};
|
||||||
|
key dyndns;
|
||||||
|
}
|
||||||
|
''
|
||||||
|
) config.site.dns.localZones}
|
||||||
|
|
||||||
group {
|
group {
|
||||||
default-lease-time ${toString dhcp.time};
|
default-lease-time ${toString dhcp.time};
|
||||||
max-lease-time ${toString dhcp.max-time};
|
max-lease-time ${toString dhcp.max-time};
|
||||||
option routers ${config.site.net.${net}.hosts4.${builtins.replaceStrings [".${net}"] [""] dhcp.router}};
|
option routers ${config.site.net.${net}.hosts4.${builtins.replaceStrings [".${net}"] [""] dhcp.router}};
|
||||||
option domain-name "${domainName}";
|
option domain-name "${domainName}";
|
||||||
option domain-name-servers 172.20.73.8, 9.9.9.9;
|
option domain-name-servers 172.20.73.8, 9.9.9.9;
|
||||||
|
ddns-domainname "${domainName}";
|
||||||
|
|
||||||
subnet ${subnet4Net} netmask ${lib.netmasks.${toString subnet4Len}} {
|
subnet ${subnet4Net} netmask ${lib.netmasks.${toString subnet4Len}} {
|
||||||
range ${dhcp.start} ${dhcp.end};
|
range ${dhcp.start} ${dhcp.end};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
update-static-leases on;
|
||||||
|
|
||||||
${builtins.concatStringsSep "\n" (
|
${builtins.concatStringsSep "\n" (
|
||||||
builtins.attrValues (
|
builtins.attrValues (
|
||||||
builtins.mapAttrs (addr: hwaddr:
|
builtins.mapAttrs (addr: hwaddr:
|
||||||
|
|
|
@ -1,9 +1,45 @@
|
||||||
{ hostName, config, lib, pkgs, self, ... }:
|
{ hostName, config, lib, pkgs, self, inputs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
fqdn = "${hostName}.serv.zentralwerk.org";
|
fqdn = "${hostName}.serv.zentralwerk.org";
|
||||||
# public servers (slaves)
|
# public servers (slaves)
|
||||||
publicNS = [ "ns.c3d2.de" "ns.spaceboyz.net" ];
|
publicNS = [ "ns.c3d2.de" "ns.spaceboyz.net" ];
|
||||||
|
dynamicReverseZones = [
|
||||||
|
"74.20.172.in-addr.arpa"
|
||||||
|
"75.20.172.in-addr.arpa"
|
||||||
|
"76.20.172.in-addr.arpa"
|
||||||
|
"77.20.172.in-addr.arpa"
|
||||||
|
"78.20.172.in-addr.arpa"
|
||||||
|
"79.20.172.in-addr.arpa"
|
||||||
|
];
|
||||||
|
|
||||||
|
serial =
|
||||||
|
let
|
||||||
|
timestamp = toString self.lastModified;
|
||||||
|
datePkg = pkgs.runCommandLocal "date-${timestamp}" {} ''
|
||||||
|
date -d @${timestamp} +%Y%m%d%H > $out
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
toString (import datePkg);
|
||||||
|
|
||||||
|
generateZoneFile = { name, ns, records, dynamic }:
|
||||||
|
builtins.toFile "${name}.zone" ''
|
||||||
|
$ORIGIN ${name}.
|
||||||
|
$TTL 1h
|
||||||
|
|
||||||
|
@ IN SOA ${fqdn}. astro.spaceboyz.net. (
|
||||||
|
${serial} ; serial
|
||||||
|
1h ; refresh
|
||||||
|
1m ; retry
|
||||||
|
2h ; expire
|
||||||
|
1m ; minimum
|
||||||
|
)
|
||||||
|
${lib.concatMapStrings (ns: " IN NS ${ns}.\n") ns}
|
||||||
|
|
||||||
|
${lib.concatMapStrings ({ name, type, data }:
|
||||||
|
"${name} IN ${type} ${data}\n"
|
||||||
|
) records}
|
||||||
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options =
|
options =
|
||||||
|
@ -35,6 +71,10 @@ in
|
||||||
options = recordOpts;
|
options = recordOpts;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
dynamic = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
@ -69,9 +109,9 @@ in
|
||||||
);
|
);
|
||||||
|
|
||||||
# generate zones only for nets with hosts
|
# generate zones only for nets with hosts
|
||||||
namedNets = lib.filterAttrs (_: { hosts4, hosts6, dynamicDomain, ... }:
|
namedNets = lib.filterAttrs (name: { hosts4, hosts6, dynamicDomain, ... }:
|
||||||
(hosts4 != [] && hosts6 != []) ||
|
(hosts4 != [] && hosts6 != []) ||
|
||||||
dynamicDomain
|
dynamicDomain
|
||||||
) config.site.net;
|
) config.site.net;
|
||||||
|
|
||||||
# converts an IPv4 address to its reverse DNS form
|
# converts an IPv4 address to its reverse DNS form
|
||||||
|
@ -200,15 +240,14 @@ in
|
||||||
} ] ++ builtins.concatLists (
|
} ] ++ builtins.concatLists (
|
||||||
builtins.attrValues (
|
builtins.attrValues (
|
||||||
builtins.mapAttrs (net: { dynamicDomain, hosts4, hosts6, ... }: [
|
builtins.mapAttrs (net: { dynamicDomain, hosts4, hosts6, ... }: [
|
||||||
(if dynamicDomain
|
{
|
||||||
then throw "TODO"
|
name = "${net}.zentralwerk.dn42";
|
||||||
else {
|
ns = [ fqdn ];
|
||||||
name = "${net}.zentralwerk.dn42";
|
records =
|
||||||
ns = [ fqdn ];
|
hosts4Records hosts4 ++
|
||||||
records =
|
lib.optionals (hosts6 ? dn42) (hosts6Records hosts6.dn42);
|
||||||
hosts4Records hosts4 ++
|
dynamic = dynamicDomain;
|
||||||
lib.optionals (hosts6 ? dn42) (hosts6Records hosts6.dn42);
|
}
|
||||||
})
|
|
||||||
{
|
{
|
||||||
name = "${net}.zentralwerk.org";
|
name = "${net}.zentralwerk.org";
|
||||||
ns = publicNS;
|
ns = publicNS;
|
||||||
|
@ -232,6 +271,7 @@ in
|
||||||
builtins.filter (lib.hasSuffix ".${zone}")
|
builtins.filter (lib.hasSuffix ".${zone}")
|
||||||
(builtins.attrNames reverseHosts4)
|
(builtins.attrNames reverseHosts4)
|
||||||
);
|
);
|
||||||
|
dynamic = builtins.elem zone dynamicReverseZones;
|
||||||
}) reverseZones4
|
}) reverseZones4
|
||||||
++ builtins.concatMap (ctx:
|
++ builtins.concatMap (ctx:
|
||||||
map (zone: {
|
map (zone: {
|
||||||
|
@ -256,16 +296,7 @@ in
|
||||||
|
|
||||||
services.bind = lib.mkIf config.site.hosts.${hostName}.services.dns.enable (
|
services.bind = lib.mkIf config.site.hosts.${hostName}.services.dns.enable (
|
||||||
let
|
let
|
||||||
serial =
|
generateZone = zone@{ name, dynamic, ... }: {
|
||||||
let
|
|
||||||
timestamp = toString self.lastModified;
|
|
||||||
datePkg = pkgs.runCommandLocal "date-${timestamp}" {} ''
|
|
||||||
date -d @${timestamp} +%Y%m%d%H > $out
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
toString (import datePkg);
|
|
||||||
|
|
||||||
generateZone = { name, ns, records }: {
|
|
||||||
inherit name;
|
inherit name;
|
||||||
master = true;
|
master = true;
|
||||||
# allowed for zone-transfer
|
# allowed for zone-transfer
|
||||||
|
@ -275,29 +306,44 @@ in
|
||||||
# ns.spaceboyz.net
|
# ns.spaceboyz.net
|
||||||
"172.22.24.4" "2a01:4f9:4b:39ec::4"
|
"172.22.24.4" "2a01:4f9:4b:39ec::4"
|
||||||
];
|
];
|
||||||
file = builtins.toFile "${name}.zone" ''
|
file =
|
||||||
$ORIGIN ${name}.
|
if dynamic
|
||||||
$TTL 1h
|
then "/var/db/bind/${name}.zone"
|
||||||
|
else generateZoneFile zone;
|
||||||
@ IN SOA ${fqdn}. astro.spaceboyz.net. (
|
extraConfig = lib.optionalString dynamic ''
|
||||||
${serial} ; serial
|
allow-update { key "dyndns"; };
|
||||||
1h ; refresh
|
|
||||||
1m ; retry
|
|
||||||
2h ; expire
|
|
||||||
1m ; minimum
|
|
||||||
)
|
|
||||||
${lib.concatMapStrings (ns: " IN NS ${ns}.\n") ns}
|
|
||||||
|
|
||||||
${lib.concatMapStrings ({ name, type, data }:
|
|
||||||
"${name} IN ${type} ${data}\n"
|
|
||||||
) records}
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
in {
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
zones = map generateZone config.site.dns.localZones;
|
zones = map generateZone config.site.dns.localZones;
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
key "dyndns" {
|
||||||
|
algorithm hmac-sha256;
|
||||||
|
secret "${inputs.zentralwerk-network-key.lib.dyndnsKey}";
|
||||||
|
};
|
||||||
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
# TODO: dyn
|
systemd.services.dynamic-zones = {
|
||||||
|
requiredBy = [ "bind.service" ];
|
||||||
|
before = [ "bind.service" ];
|
||||||
|
serviceConfig.Type = "oneshot";
|
||||||
|
# TODO: initial records
|
||||||
|
script = ''
|
||||||
|
mkdir -p /var/db/bind
|
||||||
|
|
||||||
|
${lib.concatMapStringsSep "\n" (zone@{ name, ... }: ''
|
||||||
|
[ -e /var/db/bind/${name}.zone ] || \
|
||||||
|
cp ${generateZoneFile zone} /var/db/bind/${name}.zone
|
||||||
|
chown -R named /var/db/bind
|
||||||
|
chmod -R u+rwX /var/db/bind
|
||||||
|
'') (
|
||||||
|
builtins.filter ({ dynamic, ... }: dynamic) config.site.dns.localZones
|
||||||
|
)}
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: serv-gw.serv
|
routers: serv-gw.serv
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: serv.zentralwerk.org
|
domain-name: serv.zentralwerk.dn42
|
||||||
|
|
||||||
pub:
|
pub:
|
||||||
start: 172.20.78.2
|
start: 172.20.78.2
|
||||||
|
@ -22,7 +22,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: pub-gw.pub
|
routers: pub-gw.pub
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: pub.zentralwerk.org
|
domain-name: pub.zentralwerk.dn42
|
||||||
|
|
||||||
priv1:
|
priv1:
|
||||||
start: 172.20.74.2
|
start: 172.20.74.2
|
||||||
|
@ -34,7 +34,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv1-gw.priv1
|
routers: priv1-gw.priv1
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv1.zentralwerk.org
|
domain-name: priv1.zentralwerk.dn42
|
||||||
|
|
||||||
priv2:
|
priv2:
|
||||||
start: 172.20.75.2
|
start: 172.20.75.2
|
||||||
|
@ -46,7 +46,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv2-gw.priv2
|
routers: priv2-gw.priv2
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv2.zentralwerk.org
|
domain-name: priv2.zentralwerk.dn42
|
||||||
fixed-hosts:
|
fixed-hosts:
|
||||||
172.20.75.7: 60:33:4b:0b:cd:fc
|
172.20.75.7: 60:33:4b:0b:cd:fc
|
||||||
172.20.75.9: 00:11:32:22:95:79
|
172.20.75.9: 00:11:32:22:95:79
|
||||||
|
@ -61,7 +61,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv3-gw.priv3
|
routers: priv3-gw.priv3
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv3.zentralwerk.org
|
domain-name: priv3.zentralwerk.dn42
|
||||||
|
|
||||||
priv4:
|
priv4:
|
||||||
start: 172.20.75.130
|
start: 172.20.75.130
|
||||||
|
@ -73,7 +73,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv4-gw.priv4
|
routers: priv4-gw.priv4
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv4.zentralwerk.org
|
domain-name: priv4.zentralwerk.dn42
|
||||||
|
|
||||||
priv5:
|
priv5:
|
||||||
start: 172.20.74.66
|
start: 172.20.74.66
|
||||||
|
@ -85,7 +85,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv5-gw.priv5
|
routers: priv5-gw.priv5
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv5.zentralwerk.org
|
domain-name: priv5.zentralwerk.dn42
|
||||||
|
|
||||||
priv6:
|
priv6:
|
||||||
start: 172.20.74.194
|
start: 172.20.74.194
|
||||||
|
@ -97,7 +97,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv6-gw.priv6
|
routers: priv6-gw.priv6
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv6.zentralwerk.org
|
domain-name: priv6.zentralwerk.dn42
|
||||||
|
|
||||||
priv7:
|
priv7:
|
||||||
start: 172.20.75.66
|
start: 172.20.75.66
|
||||||
|
@ -109,7 +109,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv7-gw.priv7
|
routers: priv7-gw.priv7
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv7.zentralwerk.org
|
domain-name: priv7.zentralwerk.dn42
|
||||||
|
|
||||||
priv8:
|
priv8:
|
||||||
start: 172.20.75.194
|
start: 172.20.75.194
|
||||||
|
@ -121,7 +121,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv8-gw.priv8
|
routers: priv8-gw.priv8
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv8.zentralwerk.org
|
domain-name: priv8.zentralwerk.dn42
|
||||||
|
|
||||||
priv9:
|
priv9:
|
||||||
start: 172.20.74.34
|
start: 172.20.74.34
|
||||||
|
@ -133,7 +133,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv9-gw.priv9
|
routers: priv9-gw.priv9
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv9.zentralwerk.org
|
domain-name: priv9.zentralwerk.dn42
|
||||||
|
|
||||||
priv10:
|
priv10:
|
||||||
start: 172.20.74.98
|
start: 172.20.74.98
|
||||||
|
@ -145,7 +145,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv10-gw.priv10
|
routers: priv10-gw.priv10
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv10.zentralwerk.org
|
domain-name: priv10.zentralwerk.dn42
|
||||||
|
|
||||||
priv11:
|
priv11:
|
||||||
start: 172.20.74.162
|
start: 172.20.74.162
|
||||||
|
@ -157,7 +157,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv11-gw.priv11
|
routers: priv11-gw.priv11
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv11.zentralwerk.org
|
domain-name: priv11.zentralwerk.dn42
|
||||||
|
|
||||||
priv12:
|
priv12:
|
||||||
start: 172.20.74.226
|
start: 172.20.74.226
|
||||||
|
@ -169,7 +169,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv12-gw.priv12
|
routers: priv12-gw.priv12
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv12.zentralwerk.org
|
domain-name: priv12.zentralwerk.dn42
|
||||||
|
|
||||||
priv13:
|
priv13:
|
||||||
start: 172.20.75.34
|
start: 172.20.75.34
|
||||||
|
@ -181,7 +181,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv13-gw.priv13
|
routers: priv13-gw.priv13
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv13.zentralwerk.org
|
domain-name: priv13.zentralwerk.dn42
|
||||||
|
|
||||||
priv14:
|
priv14:
|
||||||
start: 172.20.75.98
|
start: 172.20.75.98
|
||||||
|
@ -193,7 +193,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv14-gw.priv14
|
routers: priv14-gw.priv14
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv14.zentralwerk.org
|
domain-name: priv14.zentralwerk.dn42
|
||||||
|
|
||||||
priv15:
|
priv15:
|
||||||
start: 172.20.75.162
|
start: 172.20.75.162
|
||||||
|
@ -205,7 +205,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv15-gw.priv15
|
routers: priv15-gw.priv15
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv15.zentralwerk.org
|
domain-name: priv15.zentralwerk.dn42
|
||||||
|
|
||||||
priv16:
|
priv16:
|
||||||
start: 172.20.75.226
|
start: 172.20.75.226
|
||||||
|
@ -217,7 +217,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv16-gw.priv16
|
routers: priv16-gw.priv16
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv16.zentralwerk.org
|
domain-name: priv16.zentralwerk.dn42
|
||||||
|
|
||||||
priv17:
|
priv17:
|
||||||
start: 172.20.73.130
|
start: 172.20.73.130
|
||||||
|
@ -229,7 +229,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv17-gw.priv17
|
routers: priv17-gw.priv17
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv17.zentralwerk.org
|
domain-name: priv17.zentralwerk.dn42
|
||||||
|
|
||||||
priv18:
|
priv18:
|
||||||
start: 172.20.74.50
|
start: 172.20.74.50
|
||||||
|
@ -241,7 +241,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv18-gw.priv18
|
routers: priv18-gw.priv18
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv18.zentralwerk.org
|
domain-name: priv18.zentralwerk.dn42
|
||||||
|
|
||||||
priv19:
|
priv19:
|
||||||
start: 172.20.73.194
|
start: 172.20.73.194
|
||||||
|
@ -254,7 +254,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv19-gw.priv19
|
routers: priv19-gw.priv19
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv19.zentralwerk.org
|
domain-name: priv19.zentralwerk.dn42
|
||||||
|
|
||||||
priv20:
|
priv20:
|
||||||
start: 172.20.74.114
|
start: 172.20.74.114
|
||||||
|
@ -266,7 +266,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv20-gw.priv20
|
routers: priv20-gw.priv20
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv20.zentralwerk.org
|
domain-name: priv20.zentralwerk.dn42
|
||||||
|
|
||||||
priv21:
|
priv21:
|
||||||
start: 172.20.74.146
|
start: 172.20.74.146
|
||||||
|
@ -278,7 +278,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv21-gw.priv21
|
routers: priv21-gw.priv21
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv21.zentralwerk.org
|
domain-name: priv21.zentralwerk.dn42
|
||||||
|
|
||||||
priv22:
|
priv22:
|
||||||
start: 172.20.74.178
|
start: 172.20.74.178
|
||||||
|
@ -290,7 +290,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv22-gw.priv22
|
routers: priv22-gw.priv22
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv22.zentralwerk.org
|
domain-name: priv22.zentralwerk.dn42
|
||||||
|
|
||||||
priv23:
|
priv23:
|
||||||
start: 172.20.73.165
|
start: 172.20.73.165
|
||||||
|
@ -302,7 +302,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv23-gw.priv23
|
routers: priv23-gw.priv23
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv23.zentralwerk.org
|
domain-name: priv23.zentralwerk.dn42
|
||||||
fixed-hosts:
|
fixed-hosts:
|
||||||
172.20.73.162: da:2c:3a:2c:87:22
|
172.20.73.162: da:2c:3a:2c:87:22
|
||||||
172.20.73.163: ca:9f:27:b2:bf:6d
|
172.20.73.163: ca:9f:27:b2:bf:6d
|
||||||
|
@ -318,7 +318,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv24-gw.priv24
|
routers: priv24-gw.priv24
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv24.zentralwerk.org
|
domain-name: priv24.zentralwerk.dn42
|
||||||
|
|
||||||
priv25:
|
priv25:
|
||||||
start: 172.20.74.82
|
start: 172.20.74.82
|
||||||
|
@ -330,7 +330,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv25-gw.priv25
|
routers: priv25-gw.priv25
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv25.zentralwerk.org
|
domain-name: priv25.zentralwerk.dn42
|
||||||
|
|
||||||
priv26:
|
priv26:
|
||||||
start: 172.20.75.50
|
start: 172.20.75.50
|
||||||
|
@ -342,7 +342,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv26-gw.priv26
|
routers: priv26-gw.priv26
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv26.zentralwerk.org
|
domain-name: priv26.zentralwerk.dn42
|
||||||
|
|
||||||
priv27:
|
priv27:
|
||||||
start: 172.20.75.82
|
start: 172.20.75.82
|
||||||
|
@ -354,7 +354,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv27-gw.priv27
|
routers: priv27-gw.priv27
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv27.zentralwerk.org
|
domain-name: priv27.zentralwerk.dn42
|
||||||
|
|
||||||
priv28:
|
priv28:
|
||||||
start: 172.20.75.114
|
start: 172.20.75.114
|
||||||
|
@ -366,7 +366,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv28-gw.priv28
|
routers: priv28-gw.priv28
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv28.zentralwerk.org
|
domain-name: priv28.zentralwerk.dn42
|
||||||
|
|
||||||
priv29:
|
priv29:
|
||||||
start: 172.20.75.146
|
start: 172.20.75.146
|
||||||
|
@ -378,7 +378,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv29-gw.priv29
|
routers: priv29-gw.priv29
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv29.zentralwerk.org
|
domain-name: priv29.zentralwerk.dn42
|
||||||
|
|
||||||
priv30:
|
priv30:
|
||||||
start: 172.20.75.178
|
start: 172.20.75.178
|
||||||
|
@ -390,7 +390,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv30-gw.priv30
|
routers: priv30-gw.priv30
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv30.zentralwerk.org
|
domain-name: priv30.zentralwerk.dn42
|
||||||
|
|
||||||
priv31:
|
priv31:
|
||||||
start: 172.20.75.210
|
start: 172.20.75.210
|
||||||
|
@ -402,7 +402,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv31-gw.priv31
|
routers: priv31-gw.priv31
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv31.zentralwerk.org
|
domain-name: priv31.zentralwerk.dn42
|
||||||
|
|
||||||
priv32:
|
priv32:
|
||||||
start: 172.20.75.242
|
start: 172.20.75.242
|
||||||
|
@ -414,7 +414,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv32-gw.priv32
|
routers: priv32-gw.priv32
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv32.zentralwerk.org
|
domain-name: priv32.zentralwerk.dn42
|
||||||
|
|
||||||
priv33:
|
priv33:
|
||||||
start: 172.20.74.18
|
start: 172.20.74.18
|
||||||
|
@ -426,7 +426,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv33-gw.priv33
|
routers: priv33-gw.priv33
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv33.zentralwerk.org
|
domain-name: priv33.zentralwerk.dn42
|
||||||
|
|
||||||
priv34:
|
priv34:
|
||||||
start: 172.20.74.210
|
start: 172.20.74.210
|
||||||
|
@ -438,7 +438,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv34-gw.priv34
|
routers: priv34-gw.priv34
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv34.zentralwerk.org
|
domain-name: priv34.zentralwerk.dn42
|
||||||
|
|
||||||
priv35:
|
priv35:
|
||||||
start: 172.20.76.2
|
start: 172.20.76.2
|
||||||
|
@ -450,7 +450,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv35-gw.priv35
|
routers: priv35-gw.priv35
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv35.zentralwerk.org
|
domain-name: priv35.zentralwerk.dn42
|
||||||
|
|
||||||
priv36:
|
priv36:
|
||||||
start: 172.20.76.66
|
start: 172.20.76.66
|
||||||
|
@ -462,7 +462,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv36-gw.priv36
|
routers: priv36-gw.priv36
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv36.zentralwerk.org
|
domain-name: priv36.zentralwerk.dn42
|
||||||
|
|
||||||
priv37:
|
priv37:
|
||||||
start: 172.20.76.130
|
start: 172.20.76.130
|
||||||
|
@ -474,7 +474,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv37-gw.priv37
|
routers: priv37-gw.priv37
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv37.zentralwerk.org
|
domain-name: priv37.zentralwerk.dn42
|
||||||
|
|
||||||
priv38:
|
priv38:
|
||||||
start: 172.20.76.194
|
start: 172.20.76.194
|
||||||
|
@ -486,7 +486,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv38-gw.priv38
|
routers: priv38-gw.priv38
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv38.zentralwerk.org
|
domain-name: priv38.zentralwerk.dn42
|
||||||
|
|
||||||
priv39:
|
priv39:
|
||||||
start: 172.20.77.130
|
start: 172.20.77.130
|
||||||
|
@ -498,7 +498,7 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv39-gw.priv39
|
routers: priv39-gw.priv39
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv39.zentralwerk.org
|
domain-name: priv39.zentralwerk.dn42
|
||||||
|
|
||||||
priv40:
|
priv40:
|
||||||
start: 172.20.77.66
|
start: 172.20.77.66
|
||||||
|
@ -510,4 +510,4 @@ dhcp:
|
||||||
host-opts:
|
host-opts:
|
||||||
routers: priv40-gw.priv40
|
routers: priv40-gw.priv40
|
||||||
string-opts:
|
string-opts:
|
||||||
domain-name: priv40.zentralwerk.org
|
domain-name: priv40.zentralwerk.dn42
|
||||||
|
|
|
@ -159,12 +159,6 @@ hosts-inet:
|
||||||
|
|
||||||
pub:
|
pub:
|
||||||
pub-gw: 172.20.78.1
|
pub-gw: 172.20.78.1
|
||||||
{%- for i in range(2, 256) %}
|
|
||||||
guest{{ i }}: 172.20.78.{{ i }}
|
|
||||||
{%- endfor %}
|
|
||||||
{%- for i in range(0, 255) %}
|
|
||||||
guest{{ 256 + i }}: 172.20.79.{{ i }}
|
|
||||||
{%- endfor %}
|
|
||||||
serv:
|
serv:
|
||||||
serv-gw: 172.20.73.1
|
serv-gw: 172.20.73.1
|
||||||
dns: 172.20.73.2
|
dns: 172.20.73.2
|
||||||
|
|
Loading…
Reference in New Issue