nixos/wireguard: add metric option
This new option, networking.wireguard.interfaces.NAME.metric, allows increasing the metric of the routes, effectively lowering priority. (I'm using high metric to allow having the Wireguard interface always up, even when the client machines are on their home network. Before I had to stop the interface when home to avoid packet routing issues.)
This commit is contained in:
parent
8b5ab8341e
commit
ed7c0c6e75
1 changed files with 10 additions and 1 deletions
|
@ -164,6 +164,15 @@ let
|
|||
of the wireguard network has to be adjusted as well.
|
||||
'';
|
||||
};
|
||||
|
||||
metric = mkOption {
|
||||
default = null;
|
||||
type = with types; nullOr int;
|
||||
example = 700;
|
||||
description = lib.mdDoc ''
|
||||
Set the metric of routes related to this Wireguard interface.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -395,7 +404,7 @@ let
|
|||
optionalString interfaceCfg.allowedIPsAsRoutes
|
||||
(concatMapStringsSep "\n"
|
||||
(allowedIP:
|
||||
''${ip} route replace "${allowedIP}" dev "${interfaceName}" table "${interfaceCfg.table}"''
|
||||
''${ip} route replace "${allowedIP}" dev "${interfaceName}" table "${interfaceCfg.table}" ${optionalString (interfaceCfg.metric != null) "metric ${toString interfaceCfg.metric}"}''
|
||||
) peer.allowedIPs);
|
||||
in ''
|
||||
${wg_setup}
|
||||
|
|
Loading…
Reference in a new issue