Skip to content

Commit

Permalink
nixos/networking/nat: add option for protocol
Browse files Browse the repository at this point in the history
This commit adds an option to allow udp port forwarding (see #24894).
  • Loading branch information
tnias authored and globin committed Aug 4, 2017
1 parent e84c717 commit 4f277bd
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions nixos/modules/services/networking/nat.nix
Expand Up @@ -48,7 +48,7 @@ let
# NAT from external ports to internal ports.
${concatMapStrings (fwd: ''
iptables -w -t nat -A nixos-nat-pre \
-i ${cfg.externalInterface} -p tcp \
-i ${cfg.externalInterface} -p ${fwd.proto} \
--dport ${builtins.toString fwd.sourcePort} \
-j DNAT --to-destination ${fwd.destination}
'') cfg.forwardPorts}
Expand Down Expand Up @@ -133,12 +133,19 @@ in
destination = mkOption {
type = types.str;
example = "10.0.0.1:80";
description = "Forward tcp connection to destination ip:port";
description = "Forward connection to destination ip:port";
};

proto = mkOption {
type = types.str;
default = "tcp";
example = "udp";
description = "Protocol of forwarded connection";
};
};
});
default = [];
example = [ { sourcePort = 8080; destination = "10.0.0.1:80"; } ];
example = [ { sourcePort = 8080; destination = "10.0.0.1:80"; proto = "tcp"; } ];
description =
''
List of forwarded ports from the external interface to
Expand Down

0 comments on commit 4f277bd

Please sign in to comment.