Я использую клиент (AnyClient) для подключения к FTP-серверу. Есть флажок, указывающий "Пассивный". Я могу проверить это как Да или Нет. Что это значит?
4 ответа
Пассивный FTP - это метод, который помогает вам при подключении через брандмауэры или другие устройства безопасности. Поскольку непассивным (активным) FTP-соединениям требуется по одному соединению с обоих концов, существует проблема с разрешением подключений к межсетевому экрану и из него по нераспознаваемым, более высоким номерам портов, которые используются активным FTP. Обратный трафик со стороны клиента не будет распознан при втором подключении и обычно отбрасывается. При пассивном FTP оба соединения инициируются со стороны клиента.
Сегодня большинство брандмауэров с сохранением состояния очень хорошо справляются с обоими методами FTP, поскольку они способны определять, связаны ли пакеты с другим соединением.
Это зависит от FTP.
Активный FTP означает, что FTP-сервер открывает соединения с клиентом для передачи данных (загрузки). Обычно это не слишком хорошо работает с брандмауэрами и NAT-маршрутизаторами, поэтому вы можете вместо этого использовать пассивный режим, когда все соединения инициируются клиентом.
Протокол FTP имеет два соединения. Командный канал и канал данных. В исходном протоколе (мы назовем его активным FTP), клиент будет инициировать соединение с сервером по командному каналу, а затем для всех переданных данных сервер будет активно создавать соединение с клиентом. В начале это было хорошо.
Но затем мы получили брандмауэры, которые блокировали бы входящие соединения. И у нас также есть блоки NAT на почти каждом домашнем соединении (и большинстве рабочих), которое блокировало бы любые входящие соединения (хорошо, если вы не настроите свой NAT для маршрутизации заранее, что является проблемой в заднице). Таким образом, они несколько изменили протокол, чтобы позволить клиенту запрашивать пассивный FTP, что означает, что для подключения к данным сервер теперь пассивен, а протокол протокола сообщает клиенту, как подключить канал данных к серверу.
Это немного больше работы для сервера, который теперь должен помнить, какое входящее соединение от какого клиента (и, следовательно, какую команду ответить), но единственный реальный способ преодолеть правило «нет входящих соединений».
TL; DR: всегда выбирайте пассив. Каждый сервер поддерживает его, он всегда будет работать, и вам никогда не нужно знать, почему это будет работать. Или просто проверьте «активное» соединение, если оно работает, мицва! Если нет, попробуйте пассивный.
Эта страница претендует на звание "Полное объяснение" пассивного и активного ftp.
Основное различие между активным и пассивным ftp суммируется внизу страницы:
Активный FTP полезен для администратора сервера FTP, но вреден для администратора на стороне клиента. FTP-сервер пытается подключиться к случайным высоким портам на клиенте, которые почти наверняка будут заблокированы брандмауэром на стороне клиента. Пассивный FTP полезен для клиента, но вреден для администратора FTP-сервера. Клиент установит оба соединения с сервером, но одно из них будет со случайным портом с высокой пропускной способностью, который почти наверняка будет заблокирован брандмауэром на стороне сервера.
Так что с пассивным ftp вам нужно проделать немного больше работы на сервере, чтобы разрешить соединения с большим номером порта, но это должно гарантировать, что любой клиент может подключиться без проблем, поскольку он знает, какие порты он должен открыть.
Поэтому, если у вас есть сервер, который должен принимать соединения от большого количества клиентов, пассивный ftp - это путь. Если вы принимаете соединения только от небольшого числа клиентов, тогда активным будет все в порядке.