ipv4 for public-cof

This commit is contained in:
Julien Marquet 2022-01-25 18:12:54 +01:00
parent 7e11763d74
commit 3670aab583
2 changed files with 35 additions and 23 deletions

View file

@ -3,8 +3,10 @@
with dns.lib.combinators; with dns.lib.combinators;
let let
my = config.my; my = config.my;
upstream-v4-proxies = [ "51.15.7.181" ]; # kurisu.dual.lahfa.xyz public-cof-ips = {
public-cof-ips = [ "2001:470:1f13:187:c08e:feff:fe4d:f5f5" ]; A = [ "45.13.104.27" ];
AAAA = [ "2001:470:1f13:187:c08e:feff:fe4d:f5f5" ];
};
delegateACMEDNSChallenge = acme: { _acme-challenge.CNAME = [ acme ]; }; delegateACMEDNSChallenge = acme: { _acme-challenge.CNAME = [ acme ]; };
remoteBuilders = { remoteBuilders = {
@ -52,27 +54,21 @@ dualstack // {
AAAA = [ my.ipv6.acme ]; AAAA = [ my.ipv6.acme ];
}; };
beta = { beta = public-cof-ips // {
AAAA = public-cof-ips;
subdomains = { subdomains = {
nuage.A = upstream-v4-proxies; nuage = public-cof-ips;
nuage.AAAA = public-cof-ips; minecraft = public-cof-ips;
minecraft.AAAA = public-cof-ips; factorio = public-cof-ips;
factorio.AAAA = public-cof-ips; home = public-cof-ips;
home.A = upstream-v4-proxies; pads = public-cof-ips // {
home.AAAA = public-cof-ips; subdomains = {
pads.AAAA = public-cof-ips; api = public-cof-ips;
pads.subdomains = { files = public-cof-ips;
api.AAAA = public-cof-ips; sandbox = public-cof-ips;
files.AAAA = public-cof-ips; };
sandbox.AAAA = public-cof-ips;
};
docs.AAAA = public-cof-ips;
docs.A = upstream-v4-proxies;
jurisprudens = {
AAAA = public-cof-ips;
A = upstream-v4-proxies;
}; };
docs = public-cof-ips;
jurisprudens = public-cof-ips;
}; };
}; };

View file

@ -1,8 +1,20 @@
{ ... }: { lib, ... }:
{ let mkAddress = addr: let
splitted = lib.splitString "/" addr;
elemAt = builtins.elemAt splitted;
in
{ address = (elemAt 0); prefixLength = lib.toInt (elemAt 1); };
in {
networking = { networking = {
hostName = "public-cof"; hostName = "public-cof";
# Default IPv4 exit route
defaultGateway = {
address = "";
interface = "ens20";
};
localCommands = "ip route add default dev ens20 metric 10";
useDHCP = false; useDHCP = false;
interfaces.ens18 = { interfaces.ens18 = {
useDHCP = true; useDHCP = true;
@ -15,6 +27,10 @@
useDHCP = true; useDHCP = true;
}; };
interfaces.ens20 = {
ipv4.addresses = map mkAddress [ "45.13.104.27/32" ];
};
firewall.allowedTCPPorts = [ 22 ]; firewall.allowedTCPPorts = [ 22 ];
firewall.enable = true; firewall.enable = true;
}; };