Compare commits
1 commit
0ec9c63058
...
c5d9d01f84
Author | SHA1 | Date | |
---|---|---|---|
c5d9d01f84 |
7 changed files with 23 additions and 31 deletions
|
@ -43,7 +43,6 @@
|
||||||
v4 = {
|
v4 = {
|
||||||
id = "10.1.1.0";
|
id = "10.1.1.0";
|
||||||
prefixLength = 24;
|
prefixLength = 24;
|
||||||
# Note: DHCP from .2 to .249, see calanda config
|
|
||||||
};
|
};
|
||||||
domain = "plessur-lan.net.qo.is";
|
domain = "plessur-lan.net.qo.is";
|
||||||
|
|
||||||
|
@ -51,7 +50,6 @@
|
||||||
calanda = {
|
calanda = {
|
||||||
v4.ip = "10.1.1.1";
|
v4.ip = "10.1.1.1";
|
||||||
};
|
};
|
||||||
cyprianspitz.v4.ip = "10.1.1.250";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@ let
|
||||||
meta = config.qois.meta;
|
meta = config.qois.meta;
|
||||||
plessur-dmz-net = meta.network.physical.plessur-dmz;
|
plessur-dmz-net = meta.network.physical.plessur-dmz;
|
||||||
plessur-lan-net = meta.network.physical.plessur-lan;
|
plessur-lan-net = meta.network.physical.plessur-lan;
|
||||||
plessur-ext-net = meta.network.physical.plessur-ext;
|
|
||||||
getCalandaIp4 = net: net.hosts.calanda.v4.ip;
|
getCalandaIp4 = net: net.hosts.calanda.v4.ip;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -67,19 +66,21 @@ in
|
||||||
# DMZ Portforwarding
|
# DMZ Portforwarding
|
||||||
networking.nat.forwardPorts =
|
networking.nat.forwardPorts =
|
||||||
let
|
let
|
||||||
cyprianspitzPortDst = (
|
cyprianspitzPort = (
|
||||||
proto: sourcePort: dstPort: {
|
proto: port: {
|
||||||
destination = "${plessur-lan-net.hosts.cyprianspitz.v4.ip}:${toString dstPort}";
|
destination = "10.1.1.11:${toString port}";
|
||||||
inherit proto;
|
proto = proto;
|
||||||
inherit sourcePort;
|
sourcePort = port;
|
||||||
loopbackIPs = [ plessur-ext-net.hosts.calanda.v4.ip ];
|
loopbackIPs = [ "85.195.200.253" ];
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
cyprianspitzPort = proto: port: (cyprianspitzPortDst proto port port);
|
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
(cyprianspitzPortDst "tcp" 8222 22)
|
{
|
||||||
(cyprianspitzPortDst "tcp" 8223 2222)
|
destination = "10.1.1.11:2222";
|
||||||
|
proto = "tcp";
|
||||||
|
sourcePort = 8223;
|
||||||
|
}
|
||||||
]
|
]
|
||||||
++ map (cyprianspitzPort "tcp") [
|
++ map (cyprianspitzPort "tcp") [
|
||||||
80
|
80
|
||||||
|
|
|
@ -2,24 +2,26 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
meta = config.qois.meta;
|
meta = config.qois.meta;
|
||||||
getNetV4Ip = net: {
|
|
||||||
address = net.hosts.cyprianspitz.v4.ip;
|
|
||||||
prefixLength = net.v4.prefixLength;
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
networking.hostName = meta.hosts.cyprianspitz.hostName;
|
networking.hostName = meta.hosts.cyprianspitz.hostName;
|
||||||
|
|
||||||
networking.useDHCP = false;
|
networking.useDHCP = false;
|
||||||
networking.interfaces.enp0s31f6.ipv4.addresses = [
|
networking.interfaces.enp0s31f6.useDHCP = true;
|
||||||
(getNetV4Ip meta.network.physical.plessur-lan)
|
|
||||||
];
|
|
||||||
networking.interfaces.enp2s0.useDHCP = true;
|
networking.interfaces.enp2s0.useDHCP = true;
|
||||||
|
|
||||||
# Virtualization
|
# Virtualization
|
||||||
networking.interfaces.vms-nat.useDHCP = false;
|
networking.interfaces.vms-nat.useDHCP = false;
|
||||||
networking.interfaces.vms-nat.ipv4.addresses = [
|
networking.interfaces.vms-nat.ipv4.addresses = [
|
||||||
(getNetV4Ip meta.network.virtual.cyprianspitz-vms-nat)
|
(
|
||||||
|
let
|
||||||
|
netConfig = meta.network.virtual.cyprianspitz-vms-nat;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
address = netConfig.hosts.cyprianspitz.v4.ip;
|
||||||
|
prefixLength = netConfig.v4.prefixLength;
|
||||||
|
}
|
||||||
|
)
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.bridges.vms-nat.interfaces = [ ];
|
networking.bridges.vms-nat.interfaces = [ ];
|
||||||
|
|
|
@ -54,14 +54,7 @@ in
|
||||||
dhcp-authoritative = true;
|
dhcp-authoritative = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
systemd.services.dnsmasq =
|
systemd.services.dnsmasq.bindsTo = [ "network-addresses-vms-nat.service" ];
|
||||||
let
|
|
||||||
vmsNat = [ "network-addresses-vms-nat.service" ];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
bindsTo = vmsNat;
|
|
||||||
after = vmsNat;
|
|
||||||
};
|
|
||||||
networking.firewall.interfaces.vms-nat = {
|
networking.firewall.interfaces.vms-nat = {
|
||||||
allowedUDPPorts = [
|
allowedUDPPorts = [
|
||||||
53
|
53
|
||||||
|
|
|
@ -79,7 +79,7 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
options.qois.loadbalancer = {
|
options.qois.loadbalancer = with lib; {
|
||||||
enable = mkEnableOption "Enable services http+s loadbalancing";
|
enable = mkEnableOption "Enable services http+s loadbalancing";
|
||||||
|
|
||||||
domains = mkOption {
|
domains = mkOption {
|
||||||
|
|
|
@ -39,7 +39,6 @@ in
|
||||||
[
|
[
|
||||||
"--timeout 60s"
|
"--timeout 60s"
|
||||||
"--accept-dns=false"
|
"--accept-dns=false"
|
||||||
"--accept-routes=false"
|
|
||||||
"--login-server=https://${cfg.domain}"
|
"--login-server=https://${cfg.domain}"
|
||||||
"--advertise-exit-node"
|
"--advertise-exit-node"
|
||||||
"--advertise-routes=${backplaneRoute}"
|
"--advertise-routes=${backplaneRoute}"
|
||||||
|
|
|
@ -56,7 +56,6 @@ in
|
||||||
);
|
);
|
||||||
|
|
||||||
networking.firewall.checkReversePath = "loose";
|
networking.firewall.checkReversePath = "loose";
|
||||||
networking.firewall.allowedTCPPorts = [ config.services.headscale.port ];
|
|
||||||
networking.firewall.allowedUDPPorts = [
|
networking.firewall.allowedUDPPorts = [
|
||||||
41641
|
41641
|
||||||
];
|
];
|
||||||
|
|
Loading…
Add table
Reference in a new issue