From 028691b1984ca6efaa2e0a962ced57cfa6f176b7 Mon Sep 17 00:00:00 2001 From: Asyncnomi Date: Tue, 22 Jul 2025 01:27:54 +0200 Subject: [PATCH] add mesg trafic redirect for ease management --- shared/commons/mesh.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/shared/commons/mesh.nix b/shared/commons/mesh.nix index 0d30350..0d85bce 100644 --- a/shared/commons/mesh.nix +++ b/shared/commons/mesh.nix @@ -45,8 +45,9 @@ let name = "${peerName}-ip4"; publicKey = peerConfig.wg-pub; allowedIPs = [ - "172.19.${toString myId}.${toString remoteId}/32" - "fc00::${toString myId}:${toString remoteId}/128" + # Allow mesh trafic + "172.19.0.0/16" + "fc00::/96" # Allow mgmt transport "172.19.128.0/17" "fc00:f::/96" @@ -68,10 +69,14 @@ let ${pkgs.iproute2}/bin/ip route replace 172.19.${toString myId}.${toString peerConfig.id} dev mesh-${shorten peerName}-${toString peerConfig.zone}-${toString peerConfig.id} scope link ${pkgs.iproute2}/bin/ip -6 route replace fc00::${toString myId}:${toString peerConfig.id} dev mesh-${shorten peerName}-${toString peerConfig.zone}-${toString peerConfig.id} scope link + # Redirect + ${pkgs.iproute2}/bin/ip route replace 172.19.${toString peerConfig.id}.0/24 via 172.19.${toString myId}.${toString peerConfig.id} + ${pkgs.iproute2}/bin/ip -6 route replace fc00::${toString peerConfig.id}:0/112 via fc00::${toString myId}:${toString peerConfig.id} + # Return path for mgmt trafic ${if lib.elem peerName mapping.bastion then '' ${pkgs.iproute2}/bin/ip route replace 172.19.${toString (peerConfig.zone + 127)}.0/24 via 172.19.${toString myPeer.id}.${toString peerConfig.id} dev mesh-${shorten peerName}-${toString peerConfig.zone}-${toString peerConfig.id} - ${pkgs.iproute2}/bin/ip -6 route replace fc00:f::${toString (peerConfig.zone + 127)}:0/96 via fc00::${toString myPeer.id}:${toString peerConfig.id} dev mesh-${shorten peerName}-${toString peerConfig.zone}-${toString peerConfig.id} + ${pkgs.iproute2}/bin/ip -6 route replace fc00:f::${toString (peerConfig.zone + 127)}:0/112 via fc00::${toString myPeer.id}:${toString peerConfig.id} dev mesh-${shorten peerName}-${toString peerConfig.zone}-${toString peerConfig.id} '' else ""} '';