summaryrefslogtreecommitdiffstats
path: root/lass/2configs/wirelum.nix
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2018-12-18 20:17:03 +0100
committertv <tv@krebsco.de>2018-12-18 20:17:03 +0100
commit1fa1fa53062069de970548f88ad0211b4502f18d (patch)
tree30413fa29c1c43ff7af5ea684d92e613de4af295 /lass/2configs/wirelum.nix
parent8b4428816d1385e1dd5ec9bf0ce44ae0e284130a (diff)
parent23562e36190e07f338211541ac3d2cc77ebdbafa (diff)
Merge remote-tracking branch 'prism/master'
Diffstat (limited to 'lass/2configs/wirelum.nix')
-rw-r--r--lass/2configs/wirelum.nix44
1 files changed, 0 insertions, 44 deletions
diff --git a/lass/2configs/wirelum.nix b/lass/2configs/wirelum.nix
deleted file mode 100644
index cd8a20c6b..000000000
--- a/lass/2configs/wirelum.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-with import <stockholm/lib>;
-{ config, pkgs, ... }: let
-
- self = config.krebs.build.host.nets.wirelum;
- isRouter = !isNull self.via;
-
-in mkIf (hasAttr "wirelum" config.krebs.build.host.nets) {
- #hack for modprobe inside containers
- systemd.services."wireguard-wirelum".path = mkIf config.boot.isContainer (mkBefore [
- (pkgs.writeDashBin "modprobe" ":")
- ]);
-
- boot.kernel.sysctl = mkIf isRouter {
- "net.ipv6.conf.all.forwarding" = 1;
- };
- krebs.iptables.tables.filter.INPUT.rules = [
- { predicate = "-p udp --dport ${toString self.wireguard.port}"; target = "ACCEPT"; }
- ];
- krebs.iptables.tables.filter.FORWARD.rules = mkIf isRouter [
- { precedence = 1000; predicate = "-i wirelum -o wirelum"; target = "ACCEPT"; }
- ];
-
- networking.wireguard.interfaces.wirelum = {
- ips =
- (optional (!isNull self.ip4) self.ip4.addr) ++
- (optional (!isNull self.ip6) self.ip6.addr);
- listenPort = 51820;
- privateKeyFile = (toString <secrets>) + "/wirelum.key";
- allowedIPsAsRoutes = true;
- peers = mapAttrsToList
- (_: host: {
- allowedIPs = if isRouter then
- (optional (!isNull host.nets.wirelum.ip4) host.nets.wirelum.ip4.addr) ++
- (optional (!isNull host.nets.wirelum.ip6) host.nets.wirelum.ip6.addr)
- else
- host.nets.wirelum.wireguard.subnets
- ;
- endpoint = mkIf (!isNull host.nets.wirelum.via) (host.nets.wirelum.via.ip4.addr + ":${toString host.nets.wirelum.wireguard.port}");
- persistentKeepalive = mkIf (!isNull host.nets.wirelum.via) 61;
- publicKey = host.nets.wirelum.wireguard.pubkey;
- })
- (filterAttrs (_: h: hasAttr "wirelum" h.nets) config.krebs.hosts);
- };
-}