diff --git a/machines/skynet.nix b/machines/skynet.nix index 51d7dc9..2bb7c0a 100644 --- a/machines/skynet.nix +++ b/machines/skynet.nix @@ -81,4 +81,30 @@ in { name = name; }; }; -} \ No newline at end of file + + # from https://discourse.nixos.org/t/second-default-gateway/22220/5 and https://www.thomas-krenn.com/en/wiki/Two_Default_Gateways_on_One_System + networking = { + iproute2 = { + enable = true; + rttablesExtraConfig = + ''1 rt2''; + }; + }; + + systemd.services.secondGateway = { + description = "External route."; + path = [pkgs.bash pkgs.iproute]; + script = '' + ip route add 193.1.96.160/28 dev eth1 src 193.1.96.165 table rt2 + ip route add default via 193.1.96.161 dev eth1 table rt2 + ip rule add from 193.1.96.165/28 table rt2 + ip rule add to 193.1.96.165/28 table rt2 + ''; + serviceConfig = { + Type= "oneshot"; + User = "root"; + Restart = "no"; + }; + }; + +}