diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/yggdrasil-wg/default.nix | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/modules/yggdrasil-wg/default.nix b/modules/yggdrasil-wg/default.nix index 316371ea..48672fcb 100644 --- a/modules/yggdrasil-wg/default.nix +++ b/modules/yggdrasil-wg/default.nix | |||
| @@ -37,9 +37,14 @@ let | |||
| 37 | sif = "${wgSubnet}:2::/${toString wgHostLength}"; | 37 | sif = "${wgSubnet}:2::/${toString wgHostLength}"; |
| 38 | }; | 38 | }; |
| 39 | greHostMACPrefixes = { | 39 | greHostMACPrefixes = { |
| 40 | surtr = "02:00:00:00:00"; | 40 | surtr = "02:00:01:00:00"; |
| 41 | vidhar = "02:00:00:00:01"; | 41 | vidhar = "02:00:01:00:01"; |
| 42 | sif = "02:00:00:00:02"; | 42 | sif = "02:00:01:00:02"; |
| 43 | }; | ||
| 44 | batHostMACs = { | ||
| 45 | surtr = "02:00:00:00:00:00"; | ||
| 46 | vidhar = "02:00:00:01:00:00"; | ||
| 47 | sif = "02:00:00:02:00:00"; | ||
| 43 | }; | 48 | }; |
| 44 | batHostIPs = { | 49 | batHostIPs = { |
| 45 | surtr = ["${batSubnet}::/${toString batHostLength}"]; | 50 | surtr = ["${batSubnet}::/${toString batHostLength}"]; |
| @@ -70,12 +75,10 @@ let | |||
| 70 | netdevConfig = { | 75 | netdevConfig = { |
| 71 | Name = "yggre-${other}"; | 76 | Name = "yggre-${other}"; |
| 72 | Kind = "ip6gretap"; | 77 | Kind = "ip6gretap"; |
| 73 | MTUBytes = toString (1280 + 58); | ||
| 74 | }; | 78 | }; |
| 75 | tunnelConfig = { | 79 | tunnelConfig = { |
| 76 | Local = stripSubnet wgHostIPs.${hostName}; | 80 | Local = stripSubnet wgHostIPs.${hostName}; |
| 77 | Remote = stripSubnet wgHostIPs.${other}; | 81 | Remote = stripSubnet wgHostIPs.${other}; |
| 78 | DiscoverPathMTU = false; | ||
| 79 | }; | 82 | }; |
| 80 | }; | 83 | }; |
| 81 | linkToGreNetwork = ix: opts@{from, to, ...}: | 84 | linkToGreNetwork = ix: opts@{from, to, ...}: |
| @@ -123,7 +126,6 @@ in { | |||
| 123 | netdevConfig = { | 126 | netdevConfig = { |
| 124 | Name = "yggdrasil-wg"; | 127 | Name = "yggdrasil-wg"; |
| 125 | Kind = "wireguard"; | 128 | Kind = "wireguard"; |
| 126 | MTUBytes = toString (1280 + 58 + 70); | ||
| 127 | }; | 129 | }; |
| 128 | wireguardConfig = { | 130 | wireguardConfig = { |
| 129 | PrivateKeyFile = config.sops.secrets."yggdrasil-wg.priv".path; | 131 | PrivateKeyFile = config.sops.secrets."yggdrasil-wg.priv".path; |
| @@ -135,7 +137,9 @@ in { | |||
| 135 | netdevConfig = { | 137 | netdevConfig = { |
| 136 | Name = "yggdrasil"; | 138 | Name = "yggdrasil"; |
| 137 | Kind = "batadv"; | 139 | Kind = "batadv"; |
| 138 | MTUBytes = toString 1280; | 140 | }; |
| 141 | linkConfig = { | ||
| 142 | MACAddress = "${batHostMACs.${hostName}}"; | ||
| 139 | }; | 143 | }; |
| 140 | }; | 144 | }; |
| 141 | } // listToAttrs (map linkToGreDev hostLinks); | 145 | } // listToAttrs (map linkToGreDev hostLinks); |
