summaryrefslogtreecommitdiffstats
path: root/makefu/1systems/gum/hetznercloud/network.nix
blob: 5159cf570c1a4298b9efae164d6a4e2b332952dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{ config, lib, pkgs, modulesPath, ... }:
let
  external-mac = "96:00:01:24:33:f4";
  external-gw = "172.31.1.1";
  external-ip = "142.132.189.140";
  external-ip6 = "2a01:4f8:1c17:5cdf::2";
  external-gw6 = "fe80::1";
  external-netmask = 32;
  external-netmask6 = 64;
  internal-ip = config.krebs.build.host.nets.retiolum.ip4.addr;
  ext-if = "et0"; # gets renamed on the fly
in
{
  makefu.server.primary-itf = ext-if;
  services.udev.extraRules = ''
    SUBSYSTEM=="net", ATTR{address}=="${external-mac}", NAME="${ext-if}"
  '';
  networking = {
    enableIPv6 = true;
    nat.enableIPv6 = true;
    interfaces."${ext-if}" = {
      useDHCP = true;
      ipv6.addresses = [{
          address = external-ip6;
          prefixLength = external-netmask6;
      }];
    };
    #ipv4.addresses = [{
    #  address = external-ip;
    #  prefixLength = external-netmask;
    #}];
    defaultGateway6 = { address = external-gw6; interface = ext-if; };
    #defaultGateway = external-gw;
    nameservers = [ "1.1.1.1" ];
  };
}