aboutsummaryrefslogtreecommitdiffstats
path: root/modules/xinetd
diff options
context:
space:
mode:
Diffstat (limited to 'modules/xinetd')
-rw-r--r--modules/xinetd/manifests/port_forward.pp8
-rw-r--r--modules/xinetd/templates/port_forward16
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 %>
+}
+