Shorewall中的DNAT不适用于VPN

我有一个防火墙(10.8.0.1)通过VPN连接到内部服务器(10.8.0.2)。 在防火墙上,VPN接口被称为tun0 。 所以在我的shorewallconfiguration我有这个:

 $ cat interfaces #ZONE INTERFACE OPTIONS - lo ignore vpn tun+ optional net eth+ dhcp,physical=+,routeback,optional $ cat zones #ZONE TYPE OPTIONS IN OUT # OPTIONS OPTIONS fw firewall vpn ipv4 net ip $ cat policy #SOURCE DEST POLICY LOG LIMIT: CONNLIMIT: # LEVEL BURST MASK $FW net ACCEPT $FW vpn ACCEPT vpn all ACCEPT net all DROP info 

现在我想将所有来自公共networking的stream量转发到防火墙上的TCP端口2222到内部服务器端口22.因此,我添加了以下两行:

 $ cat rules ACCEPT net $FW tcp 2222 DNAT net vpn:10.8.0.2:22 tcp 2222 

在我的shorewall.conf文件中,我有这一行:

 IP_FORWARDING=On 

但是,这似乎并不奏效。
我在这里错过了什么?

 # # Shorewall version 4 - Masq file # #INTERFACE:DEST SOURCE ADDRESS PROTO PORT(S) IPSEC MARK USER/ SWITCH # GROUP tun+:10.8.0.0/16 0.0.0.0/0 10.8.0.1