diff options
author | Kjetil Orbekk <kj@orbekk.com> | 2021-07-17 12:18:01 -0400 |
---|---|---|
committer | Kjetil Orbekk <kj@orbekk.com> | 2021-07-17 12:18:23 -0400 |
commit | 9ec2336c1545e34168a045b867080a538fd7d9b5 (patch) | |
tree | ded72e1222c5de41c58cb5a51f114c3af2b71d92 | |
parent | 8ad23c614efaa48ba420b25e91cd995de660f847 (diff) |
enable tftp on dragon
-rw-r--r-- | config/router.nix | 43 |
1 files changed, 29 insertions, 14 deletions
diff --git a/config/router.nix b/config/router.nix index da6bea8..a468af5 100644 --- a/config/router.nix +++ b/config/router.nix @@ -4,19 +4,26 @@ let lan-dev = "eno2"; mullvadPort = config.orbekk.mullvad.listenPort; mullvadMark = 30; -in -{ +in { orbekk.mullvad.enable = true; + services.tftpd.enable = true; + networking.networkmanager.enable = lib.mkForce false; networking.nameservers = [ "8.8.8.8" ]; - networking.vlans = builtins.listToAttrs (map (id: { name = "${lan-dev}.${toString id}"; value = { inherit id; interface = lan-dev; }; } ) [30 100 255]); + networking.vlans = builtins.listToAttrs (map (id: { + name = "${lan-dev}.${toString id}"; + value = { + inherit id; + interface = lan-dev; + }; + }) [ 30 100 255 ]); systemd.services.update-dynamic-dns = { description = "Update dynamic dns records"; - path = with pkgs; [bash dnsutils nettools gawk iproute]; + path = with pkgs; [ bash dnsutils nettools gawk iproute ]; startLimitIntervalSec = 5; script = toString ../tools/update-dns.sh; }; @@ -180,7 +187,9 @@ in ''; }; systemd.services.dhcpcd.preStart = lib.mkAfter '' - ${pkgs.iproute}/bin/ip link set dev ${wan-dev} address ${config.networking.interfaces.${wan-dev}.macAddress}; + ${pkgs.iproute}/bin/ip link set dev ${wan-dev} address ${ + config.networking.interfaces.${wan-dev}.macAddress + }; ''; services.dnsmasq = { @@ -213,9 +222,9 @@ in systemd.services.network-route-setup = { description = "HE tunnel route setup"; - requires = ["network-online.target"]; - after = ["network.target" "network-online.target"]; - wantedBy = ["multi-user.target"]; + requires = [ "network-online.target" ]; + after = [ "network.target" "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; path = [ pkgs.iproute ]; script = '' ip -6 rule add from 2001:470:8e2e::/48 lookup he prio 0 || true @@ -239,8 +248,14 @@ in networking.interfaces.he0.ipv6 = { addresses = [ - { address = "2001:470:1f06:1195::2"; prefixLength = 64; } - { address = "2001:470:8e2e:20::d"; prefixLength = 64; } + { + address = "2001:470:1f06:1195::2"; + prefixLength = 64; + } + { + address = "2001:470:8e2e:20::d"; + prefixLength = 64; + } ]; # routes = [{ address = "::"; prefixLength = 0; }]; }; @@ -248,17 +263,17 @@ in networking.interfaces."${lan-dev}".useDHCP = false; networking.interfaces."${lan-dev}.255".useDHCP = true; networking.interfaces."${lan-dev}.100" = { - ipv4.addresses = [ { + ipv4.addresses = [{ address = "10.65.30.1"; prefixLength = 24; - } ]; + }]; useDHCP = false; }; networking.interfaces."${lan-dev}.30" = { - ipv4.addresses = [ { + ipv4.addresses = [{ address = "10.64.30.1"; prefixLength = 23; - } ]; + }]; useDHCP = false; }; } |