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

Почему Filezilla пытается переключиться в пассивный режим на портах, которые находятся за пределами диапазона моего FTP-сервера?

У меня есть окно OpenSuSE, на котором запущен vsftp. Он находится за брандмауэром нашей хостинговой компании. Они контролируют межсетевой экран, у меня нет доступа к нему. Он имеет неограниченный доступ из нашей VPN через 10.x.x.x, и порты 20, 21, 40000-40500 на общедоступном IP-адресе 41.x.x.x перенаправляются на него.

С нашим VPN все работает нормально. Однако со стороны у меня проблемы. Когда клиент переключается в пассивный режим, сервер отвечает

227 Вход в пассивный режим (10, x, x, x ,, 157,213)

В Filezilla я получаю сообщение:

227 Вход в пассивный режим (41, x, x, x, 228,63)

Я разработал порты 40248 и 58203 соответственно. В моем файле vsftpd.conf у меня есть строки:

pasv_max_port = 40500

pasv_min_port = 40000

# pasv_address = 10.x.x.x

Что соответствует портам, которые я пересылаю.

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

Я пробовал менять

pasv_address = 41.x.x.x

в файле конфигурации, но все, что он достигает, - это разрыв соединения с VPN. Как только соединение происходит на 41.x.x.x, порты не совпадают.

Что мне нужно изменить в моей конфигурации, чтобы это работало?

Основываясь на том, что IP-адрес также различается между журналами сервера и клиента, я подозреваю, что брандмауэр перехватывает соединение и пытается выполнить NAT или что-то в этом роде (хотя он все равно должен работать, если брандмауэр делает это правильно). Можете ли вы попробовать подключиться с помощью SSL / TLS, чтобы брандмауэр не вмешивался в контрольное соединение?