Почему Filezilla пытается переключиться в пассивный режим на портах, которые находятся вне зоны действия моего FTP-сервера?
У меня есть окно OpenSuSE под управлением vsftp. Он находится за брандмауэром в нашей хостинговой компании. Они контролируют брандмауэр, у меня нет доступа к нему. Он имеет неограниченный доступ из нашей VPN через 10.xxx, и порты 20, 21, 40000-40500 на общедоступный IP-адрес 41.xxx перенаправляются на него.
Из нашего VPN все отлично работает. Однако со стороны у меня возникают проблемы. Когда клиент переключается в пассивный режим, сервер отвечает
227 Вход в пассивный режим (10,x,x,x,,157,213)
В Filezilla я получаю сообщение:
227 Вход в пассивный режим (41, х, х, х,228,63)
Я работал с портами 40248 и 58203 соответственно. В моем файле vsftpd.conf у меня есть строки:
pasv_max_port = 40500
pasv_min_port = 40000
# pasv_address = 10.xxx
Что соответствует портам, которые я пересылаю.
После перехода в пассивный режим клиент больше не получает ответ от сервера. Я подозреваю, что это потому, что он пытается подключиться к IP-адресу, к которому он не может получить доступ, через порт, который не пересылается на сервер, и сервер не ожидает подключения к этому порту.
Я пытался изменить
pasv_address=41.xxx
в файле конфигурации, но все, что он делает, это разрывает соединение с VPN. Как только соединение начинается на 41.xxx, порты не совпадают.
Что мне нужно изменить в моей конфигурации, чтобы это работало?
1 ответ
Исходя из того, что IP-адреса также различаются в журналах сервера и клиента, я подозреваю, что брандмауэр перехватывает соединение и пытается NAT или что-то еще (хотя он все равно должен работать, если брандмауэр делает это правильно). Можете ли вы попробовать подключиться через SSL/TLS, чтобы межсетевой экран не связывался с управляющим соединением?