infrastructure/machines/public-cof/networking.nix

53 lines
1.1 KiB
Nix
Raw Normal View History

2022-01-25 18:12:54 +01:00
{ lib, ... }:
let mkAddress = addr: let
splitted = lib.splitString "/" addr;
elemAt = builtins.elemAt splitted;
in
{ address = (elemAt 0); prefixLength = lib.toInt (elemAt 1); };
in {
2022-09-14 01:59:59 +02:00
systemd.network = {
enable = true;
networks."ens18" = {
DHCP = "no";
addresses = [
{ addressConfig.Address = "2001:470:1f13:187:c08e:feff:fe4d:f5f5"; }
];
};
};
2021-11-13 00:59:59 +01:00
networking = {
hostName = "public-cof";
2022-09-14 01:59:59 +02:00
useNetworkd = true;
useDHCP = false;
firewall.allowedTCPPorts = [ 22 ];
firewall.enable = true;
2021-11-13 00:59:59 +01:00
2022-09-14 01:59:59 +02:00
/*
2022-01-25 18:12:54 +01:00
# Default IPv4 exit route
defaultGateway = {
address = "";
interface = "ens20";
};
localCommands = "ip route add default dev ens20 metric 10";
interfaces.ens19 = {
useDHCP = false;
ipv4.addresses = [{
address = "10.1.1.21";
prefixLength = 22;
}];
};
2021-11-13 00:59:59 +01:00
2022-01-25 18:12:54 +01:00
interfaces.ens20 = {
# 1st is for public-cof
# 2nd is for IPv4 → IPv6 proxy in v6proxy/
ipv4.addresses = map mkAddress [ "45.13.104.27/32" "45.13.104.29/32" ];
2022-01-25 18:12:54 +01:00
};
2022-09-14 01:59:59 +02:00
*/
2021-11-13 00:59:59 +01:00
};
services.nginx.defaultListenAddresses = [ "[::0]" "45.13.104.27" ];
2021-11-13 00:59:59 +01:00
}