Назад | Перейти на главную страницу

Shorewall: туннельная зона DNAT в IPSEC маршрутизируется неправильно

У меня работает туннель ipsec, который дает доступ к 192.168.4.0/24 lan. Он работает нормально, и я могу без проблем получить доступ к хостам на другой стороне:

# 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

но когда я пытаюсь перенаправить порт на shorewall с общедоступного IP-адреса на хост на другой стороне туннеля, он не направляет трафик:

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

tcpdump захват на брандмауэре для IP, выполняющего telnet (wan):

# 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, но не со стороны wan?

---- shorewall конфигурация ----

Соответствующий 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]