add mesg trafic redirect for ease management

This commit is contained in:
asyncnomi 2025-07-22 01:27:54 +02:00
parent c0950e0d39
commit 028691b198

View file

@ -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 ""}
'';