diff --git a/flake.lock b/flake.lock index c36e9e1..dd134eb 100644 --- a/flake.lock +++ b/flake.lock @@ -127,11 +127,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1783148766, - "narHash": "sha256-uslt2pqShTIXDdAHRHv2QkYLsVdY8Oqwz0EA48/RSM8=", + "lastModified": 1783389287, + "narHash": "sha256-0xIy4dVLqq47rA+mRy0hXDfjhQd4E5PoIns/RmB7nR4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a50de1b7d8a586adc18d2395c19de7d6058e6030", + "rev": "0ad6f47ea4fe188f4bc8f0380f93ae8523337c6c", "type": "github" }, "original": { diff --git a/hosts/server/configuration.nix b/hosts/server/configuration.nix index c63624c..a8e5a4a 100644 --- a/hosts/server/configuration.nix +++ b/hosts/server/configuration.nix @@ -12,6 +12,8 @@ ../../common/configuration.nix ../../modules/nix/cache-client.nix ../../modules/nix/remote-builder-client.nix + ../../modules/nix/tailscale-exit-node.nix + ../../modules/nix/enable-ip-forwading.nix ]; diff --git a/modules/nix/enable-ip-forwarding.nix b/modules/nix/enable-ip-forwarding.nix new file mode 100644 index 0000000..75fccef --- /dev/null +++ b/modules/nix/enable-ip-forwarding.nix @@ -0,0 +1,12 @@ +{ config, lib, ... }: + +{ + options.myNetworking.ipForwarding.enable = lib.mkEnableOption "Enable IPv4 and IPv6 forwarding"; + + config = lib.mkIf config.myNetworking.ipForwarding.enable { + boot.kernel.sysctl = { + "net.ipv4.ip_forward" = 1; + "net.ipv6.conf.all.forwarding" = 1; + }; + }; +} diff --git a/modules/nix/tailscale-exit-node.nix b/modules/nix/tailscale-exit-node.nix new file mode 100644 index 0000000..f2f6750 --- /dev/null +++ b/modules/nix/tailscale-exit-node.nix @@ -0,0 +1,12 @@ +{ ... }: + +{ + services.tailscale = { + enable = true; + + extraUpFlags = [ + "--advertise-exit-node" + "--advertise-routes=192.168.2.0/24" + ]; + }; +}