Well it was mainly a test setup to see if I can get things working, later I'd restrict the port ranges to match my services. So here goes my setup:
<?xml version="1.0"?>
<m0n0wall>
<version>1.8</version>
<lastchange>1211645438</lastchange>
<system>
<hostname>miller</hostname>
<domain>xxx.ch</domain>
<username>admin</username>
<password>xxxxx</password>
<timezone>Etc/UTC</timezone>
<time-update-interval>300</time-update-interval>
<timeservers>swisstime.ethz.ch</timeservers>
<webgui>
<protocol>https</protocol>
<port>8888</port>
<certificate/>
<private-key/>
<expanddiags/>
</webgui>
<dnsserver>x.x.x.x</dnsserver>
<dnsserver>x.x.x.x</dnsserver>
</system>
<interfaces>
<lan>
<if>vr0</if>
<ipaddr>192.168.2.1</ipaddr>
<subnet>24</subnet>
<media/>
<mediaopt/>
</lan>
<wan>
<if>vr1</if>
<media/>
<mediaopt/>
<spoofmac/>
<ipaddr>x.x.x.x</ipaddr>
<subnet>29</subnet>
<gateway>x.x.x.x</gateway>
</wan>
<opt1>
<descr>OPT1</descr>
<if>vr2</if>
<ipaddr>192.168.3.1</ipaddr>
<subnet>24</subnet>
<bridge/>
<enable/>
</opt1>
</interfaces>
<staticroutes/>
<pppoe/>
<pptp/>
<bigpond/>
<dyndns>
<type>dyndns</type>
<username/>
<password/>
<host/>
<mx/>
<server/>
<port/>
</dyndns>
<dnsupdate/>
<dhcpd>
<lan>
<range>
<from>192.168.1.100</from>
<to>192.168.1.199</to>
</range>
<defaultleasetime/>
<maxleasetime/>
<next-server/>
<filename/>
</lan>
</dhcpd>
<pptpd>
<mode/>
<nunits>16</nunits>
<redir/>
<localip/>
<remoteip/>
</pptpd>
<dnsmasq/>
<snmpd>
<syslocation/>
<syscontact/>
<rocommunity>public</rocommunity>
</snmpd>
<diag>
<ipv6nat>
<ipaddr/>
</ipv6nat>
</diag>
<bridge/>
<syslog>
<reverse/>
<nentries>50</nentries>
<remoteserver/>
</syslog>
<nat>
<rule>
<external-address>x.x.x.x</external-address>
<protocol>tcp/udp</protocol>
<external-port>1-1024</external-port>
<target>192.168.2.2</target>
<local-port>1</local-port>
<interface>wan</interface>
<descr/>
</rule>
<rule>
<external-address>x.x.x.x</external-address>
<protocol>tcp/udp</protocol>
<external-port>1-1024</external-port>
<target>192.168.2.2</target>
<local-port>1</local-port>
<interface>wan</interface>
<descr/>
</rule>
<rule>
<external-address>x.x.x.x</external-address>
<protocol>tcp/udp</protocol>
<external-port>1-1024</external-port>
<target>192.168.2.2</target>
<local-port>1</local-port>
<interface>wan</interface>
<descr/>
</rule>
<rule>
<protocol>tcp/udp</protocol>
<external-port>1-1024</external-port>
<target>192.168.2.2</target>
<local-port>1</local-port>
<interface>wan</interface>
<descr/>
</rule>
<servernat>
<ipaddr>x.x.x.x</ipaddr>
<descr/>
</servernat>
<servernat>
<ipaddr>x.x.x.x</ipaddr>
<descr/>
</servernat>
<servernat>
<ipaddr>x.x.x.x</ipaddr>
<descr/>
</servernat>
</nat>
<filter>
<rule>
<type>pass</type>
<interface>wan</interface>
<source>
<any/>
</source>
<destination>
<any/>
</destination>
<descr>NAT </descr>
</rule>
<rule>
<type>pass</type>
<descr>Default LAN -> any</descr>
<interface>lan</interface>
<source>
<network>lan</network>
</source>
<destination>
<any/>
</destination>
</rule>
<rule>
<type>pass</type>
<descr>Default IPsec VPN</descr>
<interface>ipsec</interface>
<source>
<any/>
</source>
<destination>
<any/>
</destination>
</rule>
<tcpidletimeout/>
</filter>
<shaper>
<enable/>
<pipe>
<bandwidth>4096</bandwidth>
<descr>Full</descr>
</pipe>
<pipe>
<bandwidth>2048</bandwidth>
<descr>Half</descr>
</pipe>
<queue>
<targetpipe>0</targetpipe>
<weight>1</weight>
<descr>Full speed</descr>
</queue>
<rule>
<interface>wan</interface>
<source>
<any/>
</source>
<destination>
<any/>
<port>1-1024</port>
</destination>
<direction>out</direction>
<iplen/>
<iptos/>
<tcpflags/>
<descr>Full Linux Services (outgoing)</descr>
<targetqueue>0</targetqueue>
</rule>
<rule>
<interface>wan</interface>
<source>
<any/>
<port>1-1024</port>
</source>
<destination>
<any/>
</destination>
<direction>in</direction>
<iplen/>
<iptos/>
<tcpflags/>
<descr>Full Linux Services (incoming)</descr>
<targetpipe>0</targetpipe>
</rule>
<rule>
<interface>wan</interface>
<source>
<any/>
</source>
<destination>
<any/>
</destination>
<direction/>
<iplen/>
<iptos/>
<tcpflags/>
<descr>Squash everything</descr>
<targetpipe>1</targetpipe>
</rule>
</shaper>
<ipsec>
<dns-interval/>
</ipsec>
<aliases/>
<proxyarp>
<proxyarpnet>
<interface>wan</interface>
<network>x.x.x.x/32</network>
<descr>NAT </descr>
</proxyarpnet>
<proxyarpnet>
<interface>wan</interface>
<network>x.x.x.x/32</network>
<descr/>
</proxyarpnet>
<proxyarpnet>
<interface>wan</interface>
<network>x.x.x.x/32</network>
<descr/>
</proxyarpnet>
</proxyarp>
<wol/>
</m0n0wall>
Hoping that I removed all sensitive data.