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

не удается получить список каталогов через ftp с помощью Windows 2012 R2, iis-8

Не удается получить список каталогов в клиентской программе FTP.

Попытка подключиться к Filezilla в пассивном режиме:

Status: Resolving address of test.domain.dk
Status: Connecting to 89.XXX.XXX.XXX:21...
Status: Connection established, waiting for welcome message...
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I.
Command:    PASV
Error:  Disconnected from server: ECONNABORTED - Connection aborted
Error:  Failed to retrieve directory listing

Пробуя активный режим, я тоже не могу получить список каталогов:

Status: Resolving address of test.domain.dk
Status: Connecting to 89.XXX.XXX.XXX:21...
Status: Connection established, waiting for welcome message...
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I.
Command:    PORT 192,168,0,195,203,136
Response:   550 An attempt was made to access a socket in a way forbidden by its access permissions. 
Command:    PASV
Error:  Disconnected from server: ECONNABORTED - Connection aborted
Error:  Failed to retrieve directory listing

Я использую Windows server 2012 R2 IIS-8. Установлены FTP-сервер и расширяемость.

В моем случае FTP / сайты размещаются на диске с данными. Это диск E: \ webdata.

Брандмауэр сервера в порядке, и я попытался отключить брандмауэр, и никакой разницы в поведении нет, это не брандмауэр моего сервера.

Хостинг-провайдер сообщил мне, что открыл порт 20, 21 и диапазон от 50000 до 51000 (для использования в пассивном режиме). Чтобы сообщить это своему серверу, я открыл поддержку брандмауэра FTP в IIS и указал это в диапазоне портов. (Тоже пробовал просто 0-0). Если я не укажу IP-адрес своего шлюза в поле для адреса внешнего брандмауэра (обновлено: см. IP-адрес и примечание ниже в области с wirehark), Я просто получаю тайм-аут при попытке подключиться к FTP-серверу через Интернет. Я спросил у своего хостинг-провайдера, могу ли я получить внешний IP-адрес брандмауэра, но они сказали мне, что это не обязательно, но я могу использовать свой общедоступный IP-адрес для сервера, который также дает тайм-аут при попытке подключения через внешний FTP. клиент. Хостинг-провайдер сообщает, что у меня где-то должна быть другая проблема в моей установке, и мне нужно ее выяснить.

Я потратил дни и часы на чтение руководств, блогов и форумов, пока не нашел слолюции, надеюсь, кто-нибудь здесь может дать какой-нибудь совет?

С уважением

ОБНОВЛЕНО: сделал Wireshark, но я не уверен в использовании wirehark. Я запустил его на сервере, и вот что я заметил в своей попытке подключиться:

No.   Time      Source            Destination    Protocol Length   Info
187   4.920498000   185.XXX.XXX.XXX   192.YYY.YYY.YYY   TCP   66   55073 > 21 [SYN] Seq=0 Win=4380 Len=0 MSS=1456 WS=1 SACK_PERM=1
188   4.920550000   192.YYY.YYY.YYY   185.XXX.XXX.XXX   TCP   66   21 > 55073 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
189   4.923907000   185.XXX.XXX.XXX   192.YYY.YYY.YYY   TCP   60   55073 > 21 [ACK] Seq=1 Ack=1 Win=4380 Len=0
190   4.924141000   192.YYY.YYY.YYY   185.XXX.XXX.XXX   FTP   84   Response: 220 You see my serverbanner now
191   4.928956000   185.XXX.XXX.XXX   192.YYY.YYY.YYY   FTP   72   Request: USER ftp_username_here
192   4.928994000   192.YYY.YYY.YYY   185.XXX.XXX.XXX   FTP   77   Response: 331 Password required
193   4.934234000   185.XXX.XXX.XXX   192.YYY.YYY.YYY   FTP   69   Request: PASS **********
194   4.934839000   192.YYY.YYY.YYY   185.XXX.XXX.XXX   FTP   67   Response: 230-Glad to see you here
195   4.934857000   192.YYY.YYY.YYY   185.XXX.XXX.XXX   FTP   75   Response: 230 User logged in.
196   4.938247000   185.XXX.XXX.XXX   192.YYY.YYY.YYY   TCP   60   55073 > 21 [ACK] Seq=34 Ack=88 Win=4467 Len=0
197   4.990122000   185.XXX.XXX.XXX   192.YYY.YYY.YYY   FTP   68   Request: OPTS UTF8 ON
198   4.990174000   192.YYY.YYY.YYY   185.XXX.XXX.XXX   FTP   112   Response: 200 OPTS UTF8 command successful - UTF8 encoding now ON.
199   4.996192000   185.XXX.XXX.XXX   192.YYY.YYY.YYY   FTP   60   Request: PWD
200   4.996236000   192.YYY.YYY.YYY   185.XXX.XXX.XXX   FTP   85   Response: 257 ""/"" is current directory.
201   5.000951000   185.XXX.XXX.XXX   192.YYY.YYY.YYY   FTP   62   Request: TYPE I
202   5.000989000   192.YYY.YYY.YYY   185.XXX.XXX.XXX   FTP   74   Response: 200 Type set to I.
203   5.005644000   185.XXX.XXX.XXX   192.YYY.YYY.YYY   FTP   60   Request: PASV
204   5.005841000   192.YYY.YYY.YYY   185.XXX.XXX.XXX   FTP   106   Response: 227 Entering Passive Mode (192,YYY,YYY,ZZZ,233,110).
205   5.009646000   185.XXX.XXX.XXX   192.YYY.YYY.YYY   TCP   60   55073 > 21 [RST, ACK] Seq=67 Ack=249 Win=4628 Len=0
206   5.020808000   185.XXX.XXX.XXX   192.YYY.YYY.YYY   TCP   66   55074 > 21 [SYN] Seq=0 Win=4380 Len=0 MSS=1456 WS=1 SACK_PERM=1
207   5.020841000   192.YYY.YYY.YYY   185.XXX.XXX.XXX   TCP   66   21 > 55074 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1

В приведенном выше примере 185.XXX.XXX.XXX = серверы WAN IP (внешний IP-адрес маршрутизатора / шлюза) 192.YYY.YYY.YYY - это мой IP-адрес LAN сервера 192, YYY, YYY, ZZZ - это IP-адрес шлюза, о котором я также упоминал выше, который я использую в качестве адреса внешнего брандмауэра для его работы.

В кадре 204 я потерял соединение с моим клиентом FileZilla, как описано вначале. После 207 года я закрыл FileZilla, и в следующих строках указаны только мой RDP и запущенная система резервного копирования.

Если я - в wirehark - дважды щелкаю каждую строку, я вижу, что некоторые байты на проводе, и для каждого кадра обновляются одни и те же байты. Так что, если есть потеря пакетов, я не знаю, как это здесь увидеть.

Просто пишу, чтобы сказать, что у меня был такой же опыт. IISreset не вырезал его на сервере 2016. Я внес все изменения в конфигурацию FTP-сайта IIS для диапазона и общедоступного IP-адреса, настроил брандмауэр для NAT этих портов и т. Д. После перезагрузки сервера 2016 все заработало, как ожидалось.