network/config/net/upstream.nix

415 lines
9.4 KiB
Nix

{
site.hosts = {
upstream1 = {
forwardPorts = [
{
destination = "172.20.73.45:80";
proto = "tcp";
reflect = true;
sourcePort = 80;
}
{
destination = "172.20.73.45:443";
proto = "tcp";
reflect = true;
sourcePort = 443;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 2325;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 2399;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 2327;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 2338;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 2339;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 40533;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 61699;
}
{
destination = "172.20.74.210:22";
proto = "tcp";
reflect = true;
sourcePort = 2222;
}
{
destination = "172.20.74.210:443";
proto = "tcp";
reflect = true;
sourcePort = 8443;
}
{
destination = "172.20.73.47:22";
proto = "tcp";
reflect = true;
sourcePort = 2223;
}
{
destination = "172.20.73.48:30000";
proto = "udp";
reflect = true;
sourcePort = 30000;
}
];
interfaces = {
core = {
hwaddr = "0A:14:48:01:26:00";
type = "veth";
};
up1 = {
hwaddr = "00:23:74:D7:2D:7C";
type = "veth";
upstream = {
link = null;
noNat = { subnets6 = [ "2a02:8106:208:5200::/56" ]; };
provider = "vodafone";
staticIpv4Address = "24.134.104.53";
upBandwidth = 52500;
};
};
};
ospf.upstreamInstance = 3;
role = "container";
};
upstream2 = {
forwardPorts = [
{
destination = "172.20.75.9:1194";
proto = "udp";
reflect = true;
sourcePort = 1194;
}
{
destination = "172.20.74.210:22";
proto = "tcp";
reflect = true;
sourcePort = 2222;
}
{
destination = "172.20.74.210:443";
proto = "tcp";
reflect = true;
sourcePort = 8443;
}
];
interfaces = {
core = {
hwaddr = "0A:14:48:01:27:00";
type = "veth";
};
up2 = {
hwaddr = "00:23:74:D7:42:7C";
type = "veth";
upstream = {
link = null;
noNat = { subnets6 = [ "2a02:8106:208:e900::/56" ]; };
provider = "vodafone";
staticIpv4Address = null;
upBandwidth = 52500;
};
};
};
ospf.upstreamInstance = 4;
role = "container";
};
upstream3 = {
interfaces = {
core = {
hwaddr = "0A:14:48:01:28:00";
type = "veth";
};
up3 = {
hwaddr = "00:23:74:D7:42:7D";
type = "veth";
upstream = {
link = null;
noNat = { subnets6 = [ ]; };
provider = "starlink";
staticIpv4Address = null;
upBandwidth = null;
};
};
};
ospf.upstreamInstance = 7;
role = "container";
};
upstream4 = {
forwardPorts = [
{
destination = "172.20.73.45";
proto = "tcp";
reflect = true;
sourcePort = 80;
}
{
destination = "172.20.73.45";
proto = "tcp";
reflect = true;
sourcePort = 443;
}
{
destination = "172.20.73.61";
proto = "tcp";
reflect = false;
sourcePort = 53;
}
{
destination = "172.20.73.61";
proto = "udp";
reflect = false;
sourcePort = 53;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 2325;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 2399;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 2327;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 2338;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 2339;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 40533;
}
{
destination = "172.22.99.253";
proto = "udp";
reflect = true;
sourcePort = 61699;
}
{
destination = "172.20.73.47:22";
proto = "tcp";
reflect = true;
sourcePort = 2223;
}
{
destination = "172.20.73.48";
proto = "udp";
reflect = true;
sourcePort = 30000;
}
{
destination = "172.22.99.175:22";
proto = "tcp";
reflect = true;
sourcePort = 2224;
}
{
destination = "172.20.73.53";
proto = "tcp";
reflect = true;
sourcePort = 22;
}
{
destination = "172.20.73.55";
proto = "tcp";
reflect = true;
sourcePort = 5222;
}
{
destination = "172.20.73.55";
proto = "tcp";
reflect = true;
sourcePort = 5223;
}
{
destination = "172.20.73.55";
proto = "tcp";
reflect = true;
sourcePort = 5269;
}
{
destination = "172.20.73.55";
proto = "tcp";
reflect = true;
sourcePort = 3478;
}
{
destination = "172.20.73.55";
proto = "tcp";
reflect = true;
sourcePort = 3479;
}
{
destination = "172.20.73.55";
proto = "udp";
reflect = true;
sourcePort = 3478;
}
{
destination = "172.20.73.55";
proto = "udp";
reflect = true;
sourcePort = 3479;
}
{
destination = "172.20.73.51:22";
proto = "tcp";
reflect = true;
sourcePort = 2225;
}
{
destination = "172.20.73.58";
proto = "tcp";
reflect = true;
sourcePort = 25;
}
{
destination = "172.20.73.58";
proto = "tcp";
reflect = true;
sourcePort = 465;
}
{
destination = "172.20.73.58";
proto = "tcp";
reflect = true;
sourcePort = 587;
}
{
destination = "172.20.73.58";
proto = "tcp";
reflect = true;
sourcePort = 110;
}
{
destination = "172.20.73.58";
proto = "tcp";
reflect = true;
sourcePort = 143;
}
{
destination = "172.20.73.58";
proto = "tcp";
reflect = true;
sourcePort = 993;
}
{
destination = "172.20.73.58";
proto = "tcp";
reflect = true;
sourcePort = 995;
}
{
destination = "172.20.73.162:22";
proto = "tcp";
reflect = true;
sourcePort = 2323;
}
{
destination = "172.20.75.222:3389";
proto = "tcp";
reflect = true;
sourcePort = 45000;
}
];
interfaces = {
core = {
hwaddr = "0A:14:48:01:28:01";
type = "veth";
};
up4 = {
hwaddr = "00:23:74:D7:42:7E";
type = "veth";
};
up4-pppoe = {
type = "pppoe";
upstream = {
link = "up4";
noNat = {
subnets6 =
[ "2a00:8180:2000:37::1/128" "2a00:8180:2c00:200::/56" ];
};
provider = "dsi";
staticIpv4Address = "81.201.149.152";
upBandwidth = 98000;
};
};
};
ospf.upstreamInstance = 8;
role = "container";
};
freifunk.ospf.upstreamInstance = 6;
anon1 = {
interfaces = {
core = {
hwaddr = "0A:14:48:01:14:00";
type = "veth";
};
njalla = {
type = "wireguard";
upstream = {
provider = "njal.la";
upBandwidth = 45000;
};
};
};
ospf = {
allowedUpstreams = [ "upstream1" "upstream3" "upstream4" "freifunk" ];
upstreamInstance = 5;
};
role = "container";
};
};
}