Показать сообщение отдельно
Старый 26.02.2012, 18:55     # 4
Borland
СуперМод
IMHO Консультант 2005-2009
 
Аватар для Borland
 
Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 377

Borland - Гад и сволочь
Топик древний, но вопрос так и продолжает возникать, посему отвечу-таки на него.
Есть 2 режима работы ftp-сервера: активный и пассивный.
В обоих режимах сначала клиент соединяется с сервером (как правило - по порту 21, "ftp command", хотя номер порта может быть изменён).
Далее начинается разница: в активном режиме клиент даёт серверу команду port, означающую "установить соединение ftp-data на адрес W.V.X.Y на порт Z", в качестве W.V.X.Y указывая свой IP-адрес, а в качестве Z-свободный порт. И, отдав команду - ждёт пока сервер установит соединение, после чего начинается собственно передача данных. В пассивном режиме клиент даёт команду серверу "перейти в пассивный режим", после чего сервер сообщает клиенту адрес и порт по которым уже клиент организует соединение ftp-data.
Если на сервере и на клиенте присутствует реальный "белый" IP-адрес - оба режима будут работать одинаково хорошо. "Чудеса" начинаются, когда один (или оба) из них находится за файрволлом с NAT, т.е. не имеет собственного внешнего IP. Здесь возможность работы протокола ftp целиком и полностью определяется возможностями настройки сервера и клиента, а также NAT.
Если на стороне клиента "белый" IP отсутствует как класс (провайдер выдаёт "серый" адрес и выпускает в интернет через свой NAT) - клиент никак не сможет работать в active mode (похоже, это и есть случай топикстартера). Если "белый" адрес получает DSL/Ethernet-роутер клиента - для работы в active mode требуется спец. настройка NAT на роутере ("проброс портов" для соединения) и настройка клиента (дабы вместо своего внутреннего адреса он отдавал в команде port "белый" адрес роутера и номер "проброшенного" порта; это возможно не для всех клиентов).
Если за NAT находится сервер - требуются опять же настройки сервера на "белый" IP и "проброс" используемых для работы портов (не все серверы умеют работать из-за NAT вообще).
Охватить всё многообразие настроек клиентов/серверов/NAT для конкретных случаев в рамках одного поста не представляется возможным. Задавайте конкретные вопросы - ответим.
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила!
Распространенье наше по планете
Особенно заметно вдалеке:
В общественном парижском туалете
Есть надписи на русском языке

В. Высоцкий

Borland вне форума