diff --git a/nixos-configurations/calanda/networking.nix b/nixos-configurations/calanda/networking.nix index 0f713b9..5d3ba48 100644 --- a/nixos-configurations/calanda/networking.nix +++ b/nixos-configurations/calanda/networking.nix @@ -4,6 +4,7 @@ let meta = config.qois.meta; plessur-dmz-net = meta.network.physical.plessur-dmz; plessur-lan-net = meta.network.physical.plessur-lan; + plessur-ext-net = meta.network.physical.plessur-ext; getCalandaIp4 = net: net.hosts.calanda.v4.ip; in { @@ -66,21 +67,19 @@ in # DMZ Portforwarding networking.nat.forwardPorts = let - cyprianspitzPort = ( - proto: port: { - destination = "10.1.1.11:${toString port}"; - proto = proto; - sourcePort = port; - loopbackIPs = [ "85.195.200.253" ]; + cyprianspitzPortDst = ( + proto: sourcePort: dstPort: { + destination = "${plessur-lan-net.hosts.cyprianspitz.v4.ip}:${toString dstPort}"; + inherit proto; + inherit sourcePort; + loopbackIPs = [ plessur-ext-net.hosts.calanda.v4.ip ]; } ); + cyprianspitzPort = proto: port: (cyprianspitzPortDst proto port port); in [ - { - destination = "10.1.1.11:2222"; - proto = "tcp"; - sourcePort = 8223; - } + (cyprianspitzPortDst "tcp" 8222 22) + (cyprianspitzPortDst "tcp" 8223 2222) ] ++ map (cyprianspitzPort "tcp") [ 80 diff --git a/nixos-configurations/cyprianspitz/networking.nix b/nixos-configurations/cyprianspitz/networking.nix index 3649afb..b3b570e 100644 --- a/nixos-configurations/cyprianspitz/networking.nix +++ b/nixos-configurations/cyprianspitz/networking.nix @@ -2,26 +2,24 @@ let meta = config.qois.meta; + getNetV4Ip = net: { + address = net.hosts.cyprianspitz.v4.ip; + prefixLength = net.v4.prefixLength; + }; in { networking.hostName = meta.hosts.cyprianspitz.hostName; networking.useDHCP = false; - networking.interfaces.enp0s31f6.useDHCP = true; + networking.interfaces.enp0s31f6.ipv4.addresses = [ + (getNetV4Ip meta.network.physical.plessur-lan) + ]; networking.interfaces.enp2s0.useDHCP = true; # Virtualization networking.interfaces.vms-nat.useDHCP = false; networking.interfaces.vms-nat.ipv4.addresses = [ - ( - let - netConfig = meta.network.virtual.cyprianspitz-vms-nat; - in - { - address = netConfig.hosts.cyprianspitz.v4.ip; - prefixLength = netConfig.v4.prefixLength; - } - ) + (getNetV4Ip meta.network.virtual.cyprianspitz-vms-nat) ]; networking.bridges.vms-nat.interfaces = [ ]; diff --git a/nixos-configurations/lindberg/networking.nix b/nixos-configurations/lindberg/networking.nix index 35218f7..67f2b0b 100644 --- a/nixos-configurations/lindberg/networking.nix +++ b/nixos-configurations/lindberg/networking.nix @@ -54,7 +54,14 @@ in dhcp-authoritative = true; }; }; - systemd.services.dnsmasq.bindsTo = [ "network-addresses-vms-nat.service" ]; + systemd.services.dnsmasq = + let + vmsNat = [ "network-addresses-vms-nat.service" ]; + in + { + bindsTo = vmsNat; + after = vmsNat; + }; networking.firewall.interfaces.vms-nat = { allowedUDPPorts = [ 53