Лишние данные:
Работаю на сервере (TOR), подключены onion-домены, настроен TOR, подключен PHP и прочее-прочее (установлен модуль ftp.so, из коробки само собой)
Проблема:
Написал простенький скрипт для подключения к FTP и взаимодействия с файловой системой на удаленном FTP-сервере.
Подключение успешно, а вот взаимодействовать с файлами сервер отказывается. Права доступа, данные FTP-сервера - всё введено корректно, проверял на другом сервере, всё работает отлично.
Обнаружение зависимости:
Методом проб, я обнаружил, что при отключении файрвола скрипт вдруг чудесно начинает работать, без проблем начинает взаимодействовать с файлами.
Моя теория и мой путь ликвидации проблемы:
Настройки файрвола такие (из коробки):
Как я сказал выше, соединение с FTP успешно, но не удается работать с файлами. Я знаю, что за соединение отвечает 21 порт, но за работу с файлами по протоколу FTP , вероятно , отвечают другие порты (которые блокируются файрволом / просто не прописаны или ещё что-либо)
Как я понял, за взаимодействие с файловой системой (передачу данных) отвечает функция PASV mode , для которой используется другой порт/порты
Я сделал отправку команды PASV, на что получил ответ, где на выходе получился порт 64320 , который нужен для передачи данных по FTP.
Я добавил правило в файрвол, но ничего не сработало.
Затем я написал мелкий скрипт, который логирует подключения к порту для передачи данных FTP и при каждом новом подключении выдавался новый порт. Каждый раз при обновлении страницы (т.е при новом подключении, я получал порты 64878, 51926, 36905, 59343 ...)
Вопросы:
Значит, чтобы всё сработало, я должен добавить соответствующее правило именно для диапазона портов? Какой диапазон тогда использовать, чтобы не "продырявить" файрвол? И вообще, правильно ли я вышел на соответствующую ошибку или проблема крылась в чём-то более простом/сложном? Подскажите пожалуйста решение)
Работаю на сервере (TOR), подключены onion-домены, настроен TOR, подключен PHP и прочее-прочее (установлен модуль ftp.so, из коробки само собой)
Проблема:
Написал простенький скрипт для подключения к FTP и взаимодействия с файловой системой на удаленном FTP-сервере.
Подключение успешно, а вот взаимодействовать с файлами сервер отказывается. Права доступа, данные FTP-сервера - всё введено корректно, проверял на другом сервере, всё работает отлично.
Обнаружение зависимости:
Методом проб, я обнаружил, что при отключении файрвола скрипт вдруг чудесно начинает работать, без проблем начинает взаимодействовать с файлами.
Моя теория и мой путь ликвидации проблемы:
Настройки файрвола такие (из коробки):
Как я сказал выше, соединение с FTP успешно, но не удается работать с файлами. Я знаю, что за соединение отвечает 21 порт, но за работу с файлами по протоколу FTP , вероятно , отвечают другие порты (которые блокируются файрволом / просто не прописаны или ещё что-либо)
Как я понял, за взаимодействие с файловой системой (передачу данных) отвечает функция PASV mode , для которой используется другой порт/порты
Я сделал отправку команды PASV, на что получил ответ, где на выходе получился порт 64320 , который нужен для передачи данных по FTP.
Я добавил правило в файрвол, но ничего не сработало.
Затем я написал мелкий скрипт, который логирует подключения к порту для передачи данных FTP и при каждом новом подключении выдавался новый порт. Каждый раз при обновлении страницы (т.е при новом подключении, я получал порты 64878, 51926, 36905, 59343 ...)
Вопросы:
Значит, чтобы всё сработало, я должен добавить соответствующее правило именно для диапазона портов? Какой диапазон тогда использовать, чтобы не "продырявить" файрвол? И вообще, правильно ли я вышел на соответствующую ошибку или проблема крылась в чём-то более простом/сложном? Подскажите пожалуйста решение)
Последнее редактирование: