FTPS - не удается открыть соединение для передачи данных по глобальной сети
Вот моя установка,
- 1 Windows 2008 R2 Standard Box / w G6 FTP-сервер установлен
- G6 настроен на использование только явных SSL-соединений (TCP: 990)
- 1 WatchGaurd Firebox Firewall (между сервером и внутренней сетью)
Таким образом, я могу подключиться без проблем и вывести список каталогов на сервере FTP S, когда я подключаюсь к серверу, пока я подключен к локальной сети (на самом деле, RDP в Win 2k8, вы понимаете), но когда я пытаюсь удаленно подключиться к сайту FTP S Я не могу перечислить домашний каталог пользователя, который я настроил на сервере
13/05/29 20:00:48, 39, 98.208.xx.xx, , new connection from 98.208.xx.xx on 10.1.2.252:990 (Explicit SSL only)
13/05/29 20:00:48, 39, 98.208.xx.xx, , hostname resolved : c-98-208-xx-xx.hsd1.ca.comcast.net
13/05/29 20:00:48, 39, 98.208.xx.xx, , sending welcome message.
13/05/29 20:00:48, 39, 98.208.xx.xx, , 220 Gene6 FTP Server v3.10.0 (Build 2) ready...
13/05/29 20:00:48, 39, 98.208.xx.xx, , AUTH TLS
13/05/29 20:00:48, 39, 98.208.xx.xx, , 234 AUTH command ok; starting SSL connection.
13/05/29 20:00:48, 39, 98.208.xx.xx, , establishing encrypted session
13/05/29 20:00:48, 39, 98.208.xx.xx, , USER username
13/05/29 20:00:48, 39, 98.208.xx.xx, username, 331 Password required for username.
13/05/29 20:00:48, 39, 98.208.xx.xx, username, PASS ****
13/05/29 20:00:48, 39, 98.208.xx.xx, username, logged in as "username".
13/05/29 20:00:48, 39, 98.208.xx.xx, username, 230 User username logged in.
13/05/29 20:00:48, 39, 98.208.xx.xx, username, SYST
13/05/29 20:00:48, 39, 98.208.xx.xx, username, 215 UNIX Type: L8
13/05/29 20:00:48, 39, 98.208.xx.xx, username, FEAT
13/05/29 20:00:48, 39, 98.208.xx.xx, username, 211-Extensions supported:
13/05/29 20:00:48, 39, 98.208.xx.xx, username, AUTH TLS
13/05/29 20:00:48, 39, 98.208.xx.xx, username, CCC
13/05/29 20:00:48, 39, 98.208.xx.xx, username, CLNT
13/05/29 20:00:48, 39, 98.208.xx.xx, username, CPSV
13/05/29 20:00:48, 39, 98.208.xx.xx, username, EPRT
13/05/29 20:00:48, 39, 98.208.xx.xx, username, EPSV
13/05/29 20:00:48, 39, 98.208.xx.xx, username, MDTM
13/05/29 20:00:48, 39, 98.208.xx.xx, username, MFCT
13/05/29 20:00:48, 39, 98.208.xx.xx, username, MFMT
13/05/29 20:00:48, 39, 98.208.xx.xx, username, MLST type*;size*;create;modify*;
13/05/29 20:00:48, 39, 98.208.xx.xx, username, MODE Z
13/05/29 20:00:48, 39, 98.208.xx.xx, username, PASV
13/05/29 20:00:48, 39, 98.208.xx.xx, username, PBSZ
13/05/29 20:00:48, 39, 98.208.xx.xx, username, PROT
13/05/29 20:00:48, 39, 98.208.xx.xx, username, REST STREAM
13/05/29 20:00:48, 39, 98.208.xx.xx, username, SIZE
13/05/29 20:00:48, 39, 98.208.xx.xx, username, SSCN
13/05/29 20:00:48, 39, 98.208.xx.xx, username, TVFS
13/05/29 20:00:48, 39, 98.208.xx.xx, username, UTF8
13/05/29 20:00:48, 39, 98.208.xx.xx, username, XCRC "filename" SP EP
13/05/29 20:00:48, 39, 98.208.xx.xx, username, XMD5 "filename" SP EP
13/05/29 20:00:48, 39, 98.208.xx.xx, username, XSHA1 "filename" SP EP
13/05/29 20:00:48, 39, 98.208.xx.xx, username, 211 End.
13/05/29 20:00:48, 39, 98.208.xx.xx, username, CLNT FileZilla
13/05/29 20:00:48, 39, 98.208.xx.xx, username, 200 Noted.
13/05/29 20:00:48, 39, 98.208.xx.xx, username, OPTS UTF8 ON
13/05/29 20:00:48, 39, 98.208.xx.xx, username, 200 UTF8 OPTS ON
13/05/29 20:00:48, 39, 98.208.xx.xx, username, PBSZ 0
13/05/29 20:00:48, 39, 98.208.xx.xx, username, 200 PBSZ=0
13/05/29 20:00:48, 39, 98.208.xx.xx, username, PROT P
13/05/29 20:00:48, 39, 98.208.xx.xx, username, 200 PROT command successful.
13/05/29 20:00:48, 39, 98.208.xx.xx, username, PWD
13/05/29 20:00:48, 39, 98.208.xx.xx, username, 257 "/" is current directory.
13/05/29 20:00:48, 39, 98.208.xx.xx, username, TYPE I
13/05/29 20:00:48, 39, 98.208.xx.xx, username, 200 Type set to I.
13/05/29 20:00:48, 39, 98.208.xx.xx, username, PORT 98,208,65,76,34,82
13/05/29 20:00:48, 39, 98.208.xx.xx, username, 200 Port command successful.
13/05/29 20:00:49, 39, 98.208.xx.xx, username, MLSD
13/05/29 20:01:01, 38, 98.208.xx.xx, username, 425 Cannot open data connection.
13/05/29 20:01:01, 38, 98.208.xx.xx, username, disconnected. (00d00:00:22)
13/05/29 20:01:10, 39, 98.208.xx.xx, username, 425 Cannot open data connection.
13/05/29 20:01:10, 39, 98.208.xx.xx, username, disconnected. (00d00:00:22)
Теперь я хорошо знаю, что для FTP требуется открыть порты DATA (TCP/20) и SESSION (TCP/21), но, учитывая, что я не использую порт 21 - как определить, какой порт данных я использую, учитывая, что я я использую порт 990 через SSL (FTPS)?
Я открыл порт 20, порт 21 и порт 990 в качестве теста как для межсетевого экрана, обращенного к Интернету, так и для межсетевого экрана сервера Windows, но я все еще не могу получить список каталогов при подключении через Интернет. Я попытался подключиться, используя методы ACTV и PASV в Filezilla, но все еще не играл в кости. В тот день я помню, что такого рода проблемы обычно связаны с активными и пассивными связями, но детали у меня неясные. И если это все из-за активности или пассивности, почему я мог бы получить список каталогов при подключении со стороны локальной сети?
Разрешения на доступ к папке для этого пользователя предоставлены всем пользователям с полными разрешениями, чтобы устранить эту проблему, поскольку я могу получить список каталогов.
Поэтому мой вопрос - что именно здесь происходит? Почему я не могу получить соединение для передачи данных через глобальную сеть, а могу через локальную сеть? Это как-то связано с явным SSL? Активная / пассивная проблема?
Вот вывод журнала из успешного локального сеанса FTP S
13/05/29 20:16:32, 40, 10.1.2.252, , new connection from 10.1.2.252 on 10.1.2.252:990 (Explicit SSL only)
13/05/29 20:16:32, 40, 10.1.2.252, , hostname resolved : IMSSERVER.alpine.local
13/05/29 20:16:32, 40, 10.1.2.252, , sending welcome message.
13/05/29 20:16:32, 40, 10.1.2.252, , 220 Gene6 FTP Server v3.10.0 (Build 2) ready...
13/05/29 20:16:32, 40, 10.1.2.252, , AUTH TLS
13/05/29 20:16:32, 40, 10.1.2.252, , 234 AUTH command ok; starting SSL connection.
13/05/29 20:16:32, 40, 10.1.2.252, , establishing encrypted session
13/05/29 20:16:32, 40, 10.1.2.252, , USER username
13/05/29 20:16:32, 40, 10.1.2.252, username, 331 Password required for username.
13/05/29 20:16:32, 40, 10.1.2.252, username, PASS ****
13/05/29 20:16:32, 40, 10.1.2.252, username, logged in as "username".
13/05/29 20:16:32, 40, 10.1.2.252, username, 230 User username logged in.
13/05/29 20:16:32, 40, 10.1.2.252, username, CLNT FileZilla
13/05/29 20:16:32, 40, 10.1.2.252, username, 200 Noted.
13/05/29 20:16:32, 40, 10.1.2.252, username, OPTS UTF8 ON
13/05/29 20:16:32, 40, 10.1.2.252, username, 200 UTF8 OPTS ON
13/05/29 20:16:32, 40, 10.1.2.252, username, PBSZ 0
13/05/29 20:16:32, 40, 10.1.2.252, username, 200 PBSZ=0
13/05/29 20:16:32, 40, 10.1.2.252, username, PROT P
13/05/29 20:16:32, 40, 10.1.2.252, username, 200 PROT command successful.
13/05/29 20:16:32, 40, 10.1.2.252, username, PWD
13/05/29 20:16:32, 40, 10.1.2.252, username, 257 "/" is current directory.
13/05/29 20:16:32, 40, 10.1.2.252, username, TYPE I
13/05/29 20:16:32, 40, 10.1.2.252, username, 200 Type set to I.
13/05/29 20:16:32, 40, 10.1.2.252, username, PORT 10,1,2,252,220,229
13/05/29 20:16:32, 40, 10.1.2.252, username, 200 Port command successful.
13/05/29 20:16:32, 40, 10.1.2.252, username, MLSD
13/05/29 20:16:32, 40, 10.1.2.252, username, 150 Opening data connection for directory list.
13/05/29 20:16:32, 40, 10.1.2.252, username, establishing encrypted session
13/05/29 20:16:32, 40, 10.1.2.252, username, 226 Transfer ok.
1 ответ
Я уверен, что вы на правильном пути, потому что это активная / пассивная проблема.
Вы почти всегда должны использовать пассивную систему при прохождении через маршрутизатор NAT или межсетевой экран.
Хитрость с пассивными FTP и NAT/ брандмауэрами заключается в том, что вам нужно указать диапазон пассивных портов, которые может использовать FTP-сервер, а затем перенаправить этот диапазон портов через брандмауэр на FTP-сервер.
Настройте FTP-сервер для использования пассивных подключений и укажите набор из примерно 1000 TCP-портов. Мы используем 50000-51000.
Кроме того, FTP-сервер будет / должен иметь место в своей пассивной настройке для указания внешнего IP-адреса (не уверен в G6, но FileZilla также предлагает службу IP-распознавателя для динамических IP-адресов), это также необходимо будет предоставить.
Для FTPS необходимо открыть порт 990, а порт 21 по-прежнему отвечает на запросы, поскольку его можно использовать для явного FTP через TLS. Порт 20 не должен быть нужен.