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

Не удается передать данные на активный FTP-сервер из DMZ, но работает нормально в локальной сети.

Я знаю, что уже есть масса подобных вопросов, но я прочитал практически все, что смог найти, и все еще не могу решить свою конкретную проблему.

Проблема: У меня возникают трудности с передачей данных на внешний FTP-сервер, но только с FTP-клиента, работающего на сервере, расположенном внутри моей DMZ. Передача с FTP-клиента отлично работает с любого компьютера в моей локальной сети.

Краткий обзор моей среды:

У меня есть маршрутизатор / брандмауэр Sonicwall SOHO со следующими настроенными / подключенными интерфейсами:

Я уверен в своих политиках NAT - люди могут нормально подключаться к МОЕМУ FTP-серверу, а я могу подключаться к другим FTP-серверам изнутри моей DMZ - есть только один конкретный сервер, на котором это проблема. Раньше соединение работало нормально до того, как я обновил свой брандмауэр с Cisco SA520 до Dell Sonicwall SOHO. Я также отмечу, что, хотя я могу подключаться к другим FTP-серверам, эти серверы подключаются в пассивном режиме, поэтому это может быть проблемой с подключениями в активном режиме. В настоящее время проблемный сервер принимает активный режим только с моего IP.

Сейчас я думаю, что это проблема с брандмауэром на моей стороне, но я не могу понять почему. Мои правила брандмауэра довольно просты:

LAN > WAN Allow all
DMZ > WAN Allow all
WAN > LAN Deny all
WAN > DMZ Allow Server Services (HTTP, HTTPS, FTP (All) (TCP 20, 21, 49152 - 65535))
WAN > DMZ Deny all

У меня также есть следующие правила, установленные в моих расширенных настройках брандмауэра:

Enable FTP Transformations for TCP port(s) in Service Object: FTP (All) 

(Сервисный объект «FTP (Все)» использует те же порты, перечисленные выше - TCP 20, 21, 49152 - 65535).

Я не очень уверен в том, что делает это правило, но я думаю, что это то, что разрешает пассивные подключения к моему серверу из внешних источников. Однако я не знаю, вызывает ли это проблемы, когда я пытаюсь подключиться к внешним источникам.

-

Используя монитор пакетов Sonicwall, я могу войти на сервер и выполнить команду PORT, которая возвращает успешный ответ 200 PORT. Однако после выполнения команды LIST мой сервер никогда не подтверждает сообщение SYN (кадр № 57/58), отправленное FTP-сервером. Затем FTP-сервер повторно передает SYN (кадры 64/65 и 72/73). Когда он не получает ACK в окне тайм-аута, время ожидания истекает. Вот некоторые выходные данные монитора пакетов Sonicwall во время попытки подключения:

No. Time        Source      Destination Protocol    Length  Info
53  3.750000    My DMZ IP   FTP Server  FTP         60      Request: LIST
54  3.750000    My WAN IP   FTP Server  FTP         60      Request: LIST
55  3.783334    FTP Server  My WAN IP   FTP         108     Response: 150 Opening BINARY mode data connection for /bin/ls.
56  3.783334    FTP Server  My DMZ IP   FTP         108     Response: 150 Opening BINARY mode data connection for /bin/ls.
57  3.783334    FTP Server  My WAN IP   TCP         62      20 → 61011 [SYN] Seq=0 Win=65535 Len=0 MSS=1460 SACK_PERM=1
58  3.783334    FTP Server  My DMZ IP   TCP         62      20 → 61011 [SYN] Seq=0 Win=65535 Len=0 MSS=1460 SACK_PERM=1
59  4.000000    My DMZ IP   FTP Server  TCP         60      61010 → 21 [ACK] Seq=88 Ack=289 Win=65280 Len=0
60  4.000000    My WAN IP   FTP Server  TCP         54      26752 → 21 [ACK] Seq=91 Ack=289 Win=65280 Len=0
64  6.683334    FTP Server  My WAN IP   TCP         62      [TCP Retransmission] 20 → 61011 [SYN] Seq=0 Win=65535 Len=0 MSS=1460 SACK_PERM=1
65  6.683334    FTP Server  My DMZ IP   TCP         62      [TCP Retransmission] 20 → 61011 [SYN] Seq=0 Win=65535 Len=0 MSS=1460 SACK_PERM=1
72  12.633334   FTP Server  My WAN IP   TCP         62      [TCP Retransmission] 20 → 61011 [SYN] Seq=0 Win=65535 Len=0 MSS=1460 SACK_PERM=1
73  12.633334   FTP Server  My DMZ IP   TCP         62      [TCP Retransmission] 20 → 61011 [SYN] Seq=0 Win=65535 Len=0 MSS=1460 SACK_PERM=1

(Обратите внимание, что любые пропущенные кадры в приведенной выше последовательности связаны с другим трафиком, который я отфильтровал из этого представления).

С моей машины в локальной сети ACK отправляется обратно после команды LIST, и передача данных работает нормально.

-

Итак, хотя я уже диагностировал это, я не знаю, что делать дальше. Маршрутизатор не сообщает, что он отбрасывает какие-либо пакеты или что-либо блокирует из-за правила брандмауэра. Любые идеи относительно того, почему моя машина LAN отправляет ACK, а машина DMZ - нет?

У меня была аналогичная проблема с устройством Pitney Bowes в зоне LAN. Решил обновлением Sonicwall до прошивки 6.2.7.1-23n.