Не удается получить список каталогов в клиентской программе 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 все заработало, как ожидалось.