Shorewall:DNAT到IPSEC隧道区域的路由不正确

我有一个ipsec隧道工作,可以访问192.168.4.0/24局域网。 它工作正常,我可以访问没有问题的另一边的主机:

 # from fw and lan hosts: # ping 192.168.4.44 PING 192.168.4.44 (192.168.4.44) 56(84) bytes of data. 64 bytes from 192.168.4.44: icmp_req=1 ttl=127 time=4.41 ms 

但是当我尝试将公共IP地址上的一个端口转发到另一端的主机时,它不会路由stream量:

 # from wan side: # telnet xxxx 33901 telnet: Unable to connect to remote host: No route to host 

在防火墙上执行telnet(wan)的tcpdump捕获:

 # tcpdump -n -i eth0.20 host 37.15.173.52 10:09:48.312840 IP [fw_public_ip] > 37.15.173.52: ICMP host [fw_public_ip] unreachable, length 68 

为什么shorewall正确路由从FW和LAN端的stream量,但不是从WAN?

—- shorewallconfiguration—-

相关routes条目:

 #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL # PORT PORT(S) DEST DNAT:info wan vpn:192.168.4.44:3389 tcp 33901 - [fw_public_ip] 

相关zones条目:

 #ZONE TYPE wan ipv4 vpn ipv4 

相关hosts条目:

 #ZONE HOSTS OPTIONS vpn eth0.20:192.168.4.0/24,[ipsec_host_ip] ipsec 

相关tunnels条目:

 #TYPE ZONE GATEWAY GATEWAY ZONE ipsec wan [ipsec_host_ip] 

相关interfaces条目:

 #ZONE INTERFACE BROADCAST OPTIONS wan eth0.20 detect dhcp,routefilter 

相关的masq条目:

 #INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK eth0.20 0.0.0.0/0 [fw_public_ip]