33 lines
906 B
Nix
33 lines
906 B
Nix
{ config, lib, pkgs, modulesPath, ... }:
|
|
let
|
|
external-mac = "c4:37:72:55:4e:1c";
|
|
external-gw = "178.254.28.1";
|
|
external-ip = "178.254.30.202";
|
|
external-ip6 = "2a00:6800:3:18c::2";
|
|
external-gw6 = "2a00:6800:3::1";
|
|
external-netmask = 22;
|
|
external-netmask6 = 64;
|
|
internal-ip = config.krebs.build.host.nets.retiolum.ip4.addr;
|
|
ext-if = "et0"; # gets renamed on the fly
|
|
in
|
|
{
|
|
services.udev.extraRules = ''
|
|
SUBSYSTEM=="net", ATTR{address}=="${external-mac}", NAME="${ext-if}"
|
|
'';
|
|
networking = {
|
|
interfaces."${ext-if}" = {
|
|
ipv4.addresses = [{
|
|
address = external-ip;
|
|
prefixLength = external-netmask;
|
|
}];
|
|
ipv6.addresses = [{
|
|
address = external-ip6;
|
|
prefixLength = external-netmask6;
|
|
}];
|
|
};
|
|
defaultGateway6 = { address = external-gw6; interface = ext-if; };
|
|
defaultGateway = external-gw;
|
|
nameservers = [ "1.1.1.1" ];
|
|
};
|
|
}
|