diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/xinetd/manifests/port_forward.pp | 8 | ||||
-rw-r--r-- | modules/xinetd/templates/port_forward | 16 |
2 files changed, 24 insertions, 0 deletions
diff --git a/modules/xinetd/manifests/port_forward.pp b/modules/xinetd/manifests/port_forward.pp new file mode 100644 index 00000000..23d00f03 --- /dev/null +++ b/modules/xinetd/manifests/port_forward.pp @@ -0,0 +1,8 @@ +define xinetd::port_forward($target_ip, $target_port, $port, $proto = 'tcp') { + include xinetd + file { "/etc/xinetd.d/$name": + require => Package['xinetd'], + content => template('xinetd/port_forward'), + notify => Service['xinetd'] + } +} diff --git a/modules/xinetd/templates/port_forward b/modules/xinetd/templates/port_forward new file mode 100644 index 00000000..9ebdbb91 --- /dev/null +++ b/modules/xinetd/templates/port_forward @@ -0,0 +1,16 @@ +service <%= name %> +{ + disable = no + type = UNLISTED +<%- if protocol == 'tcp' -%> + socket_type = stream +<%- else -%> + socket_type = dgram +<%- end -%> + protocol = <%= protocol %> + user = nobody + wait = no + redirect = <%= target_ip %> <%= target_port %> + port = <%= port %> +} + |