diff options
| author | Mathias Magnusson <mathias@magnusson.space> | 2025-12-01 16:30:17 +0100 |
|---|---|---|
| committer | Mathias Magnusson <mathias@magnusson.space> | 2025-12-01 16:30:17 +0100 |
| commit | 9cab2319c0445432ccdc50fcc4ea56c2a599e9c2 (patch) | |
| tree | 6ceb0a8ea5dffc2402a07b5c0c063bcef4256a12 | |
| parent | eb32e98e962e9d17d0343e4921e9775dfbbc58af (diff) | |
| download | oden-9cab2319c0445432ccdc50fcc4ea56c2a599e9c2.tar.gz | |
mkNice
| -rw-r--r-- | router.nix | 27 |
1 files changed, 8 insertions, 19 deletions
@@ -1,4 +1,7 @@ -{ config, pkgs, inputs, ... }: +{ config, pkgs, inputs, lib, ... }: +let + internalInterfaces = [ "ethlan" "wlan" "docker0" "wglan" ]; +in { boot.kernel.sysctl."net.ipv4.conf.all.forwarding" = true; @@ -12,28 +15,14 @@ 67 51829 ]; - extraForwardRules = '' - iifname "ethlan" oifname "wlan-staff" accept - iifname "ethlan" oifname "wlan-guest" accept - iifname "ethlan" oifname "wglan" accept - - iifname "wlan-staff" oifname "ethlan" accept - iifname "wlan-staff" oifname "wlan-guest" accept - iifname "wlan-staff" oifname "wglan" accept - - iifname "wlan-guest" oifname "ethlan" accept - iifname "wlan-guest" oifname "wlan-staff" accept - iifname "wlan-guest" oifname "wglan" accept - - iifname "wglan" oifname "ethlan" accept - iifname "wglan" oifname "wlan-staff" accept - iifname "wglan" oifname "wlan-guest" accept - ''; + extraForwardRules = lib.concatStringsSep "\n" (lib.concatMap (iif: (lib.concatMap (oif: + if iif == oif then [] else [ ''iifname "${iif}" oifname "${oif}" accept'' ] + ) internalInterfaces)) internalInterfaces); }; nat = { enable = true; externalInterface = "wan"; - internalInterfaces = [ "ethlan" "wlan" "docker0" "wglan" ]; + inherit internalInterfaces; forwardPorts = [ { sourcePort = 80; |
