Index: /nodes/HybridRick2/wleiden.yaml
===================================================================
--- /nodes/HybridRick2/wleiden.yaml	(revision 10713)
+++ /nodes/HybridRick2/wleiden.yaml	(revision 10714)
@@ -18,4 +18,11 @@
 service_proxy_normal: True
 status    : "up"
+rdr_host: "riff.vanderzwet.net"
+rdr_rules :
+- [9080, '172.17.0.41', 80]
+- [9081, '172.17.0.42', 80]
+- [9082, '172.17.0.43', 80]
+- [9083, '172.17.0.44', 80]
+remote_access: "riff.vanderzwet.net:2022"
 
 
Index: /tools/gformat.py
===================================================================
--- /tools/gformat.py	(revision 10713)
+++ /tools/gformat.py	(revision 10714)
@@ -791,11 +791,12 @@
   """ Generate configuration file '/etc/pf.hybrid.conf.local' """
   datadump['autogen_header'] = generate_header("#")
-  datadump['rdr_rules' ] = ('8081', '172.16.4.46', 'http')
   return Template("""\
 {{ autogen_header }}
 
 # Redirect some internal facing services outside (7)
-# rdr on $ext_if inet proto tcp from any to $ext_if port 8081 tag SRV -> 172.16.4.46 port http
-# XXX: Implement
+# INFO: {{ rdr_rules|count }} rdr_rules (outside to internal redirect rules) defined.
+{% for src_port,dest_ip,dest_port in rdr_rules -%}
+rdr on $ext_if inet proto tcp from any to $ext_if port {{ src_port }} tag SRV -> {{ dest_ip }} port {{ dest_port }}
+{% endfor -%}
 """).render(datadump)
 
@@ -855,5 +856,10 @@
   iface_keys = [elem for elem in datadump.keys() if elem.startswith('iface_')]
   for key in sorted(set(datadump.keys()) - set(iface_keys)):
-    output += "%-10s: %s\n" % (key, format_yaml_value(datadump[key]))
+    if key == 'rdr_rules':
+      output += '%-10s:\n' % 'rdr_rules'
+      for rdr_rule in datadump[key]:
+        output += '- %s\n' % rdr_rule
+    else:
+      output += "%-10s: %s\n" % (key, format_yaml_value(datadump[key]))
 
   output += "\n\n"
