net/flpk: init

This commit is contained in:
Astro 2022-09-18 00:17:59 +02:00
parent 1293ab0a75
commit b6ebe0f136
6 changed files with 113 additions and 92 deletions

View File

@ -68,6 +68,7 @@
upstream4 = "172.20.72.12";
yggdrasil = "172.20.72.62";
vpn-gw = "172.20.72.69";
flpk-gw = "172.20.72.71";
};
hosts6 = {
dn42 = {

View File

@ -1,23 +1,31 @@
{
site.hosts = {
flpk-gw = {
interfaces = {
core = {
hwaddr = "0A:14:48:b7:e4:91";
type = "veth";
};
up-flpk = {
type = "wireguard";
upstream = {
provider = "flpk";
};
};
};
ospf = {
allowedUpstreams = [ "upstream3" "upstream4" "freifunk" ];
# upstreamInstance = TODO;
};
role = "container";
site.net.flpk = {
domainName = "flpk.zentralwerk.org";
subnet4 = "45.158.40.160/27";
hosts4 = {
serv-gw = "45.158.40.161";
};
hosts6.flpk = {
};
};
site.hosts.flpk-gw = {
interfaces = {
core = {
hwaddr = "0A:14:48:b7:e4:91";
type = "veth";
};
up-flpk = {
type = "wireguard";
upstream = {
provider = "flpk";
};
};
};
ospf = {
allowedUpstreams = [ "upstream4" "upstream3" "freifunk" ];
upstreamInstance = 2;
};
role = "container";
};
}

View File

@ -1,72 +1,75 @@
-----BEGIN PGP MESSAGE-----
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
e/cwvwApOAPfnHRnIjgwpL8ClFKpb3eGJG0R
=/8M5
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
4Wisfym3fPj3GYbgBq6nfwBUKG2JyJsR6A==
=1iKS
-----END PGP MESSAGE-----

View File

@ -83,6 +83,12 @@
privateKey = "encrypted";
publicKey = "encrypted";
};
flpk-gw.interfaces.up-flpk.wireguard = {
addresses = [ "fec0::1/64" "192.168.0.1/24" ];
endpoint = "0.0.0.1";
privateKey = "encrypted";
publicKey = "encrypted";
};
yggdrasil.services.yggdrasil.keys = ''
{

View File

@ -18,6 +18,7 @@ in
c3d2 = 5;
cluster = 6;
bmx = 7;
flpk = 8;
# Modems
up1 = 10;
up2 = 11;

View File

@ -2,6 +2,8 @@
{ hostName, config, lib, pkgs, ... }:
let
hostNameEscaped = builtins.replaceStrings [ "-" ] [ "_" ] hostName;
hostConf = config.site.hosts.${hostName};
upstreamInterfaces = lib.filterAttrs (_: { upstream, ... }:
@ -170,7 +172,7 @@ in
${lib.optionalString isUpstream ''
# OSPFv2 to advertise my default route
protocol ospf v2 ZW4_${hostName} {
protocol ospf v2 ZW4_${hostNameEscaped} {
ipv4 {
export where net = 0.0.0.0/0;
};
@ -279,7 +281,7 @@ in
${lib.optionalString isUpstream ''
# OSPFv3 to advertise my default route
protocol ospf v3 ZW6_${hostName} {
protocol ospf v3 ZW6_${hostNameEscaped} {
ipv6 {
export where net = ::/0;
};
@ -412,8 +414,8 @@ in
];
};
instance = {
ipv4 = "ZW4_${hostName}";
ipv6 = "ZW6_${hostName}";
ipv4 = "ZW4_${hostNameEscaped}";
ipv6 = "ZW6_${hostNameEscaped}";
};
checkService = addressFamily: {
description = "Check connectivity for ${addressFamily}";