Я використовую клієнт (AnyClient) для підключення до FTP-сервера. Є поле для позначення "Пасивний". Я можу перевірити це як Так чи Ні. Що це означає?
Я використовую клієнт (AnyClient) для підключення до FTP-сервера. Є поле для позначення "Пасивний". Я можу перевірити це як Так чи Ні. Що це означає?
Відповіді:
Пасивний FTP - це метод, який допомагає при підключенні через брандмауери або інші пристрої безпеки. Оскільки для не-пасивних (активних) з'єднань FTP потрібне одне підключення з обох кінців, існує занепокоєння, що дозволить підключення до та поза брандмауером на невизнаних, більших номерах портів, які використовуються активним FTP. Зворотний трафік з клієнтського кінця не розпізнається при другому підключенні і зазвичай скидається. При пасивному FTP обидва з'єднання ініціюються з клієнтського кінця.
Сьогодні більшість брандмауерів, які підтримують стан, дуже добре справляються з обома методами FTP, оскільки вони здатні виявляти, чи пакети пов'язані з іншим з'єднанням.
Це специфікація FTP.
Активний FTP означає, що FTP-сервер відкриває підключення до клієнта для передачі даних (завантажень). Зазвичай це не дуже добре працює з брандмауерами та маршрутизаторами NAT, тому замість цього можна вибрати пасивний режим, де всі з'єднання ініціюються клієнтом.
Протокол FTP має два з'єднання. Командний канал і канал даних. У оригінальному протоколі (ми назвемо цей активний FTP), клієнт ініціює підключення до сервера по командному каналу, тоді для будь-яких переданих даних сервер буде активно створювати зв'язок з клієнтом. Спочатку це було добре.
Але тоді ми отримали брандмауери, які блокували вхідні з'єднання. Ми також маємо NAT коробки на майже кожному домашньому підключенні (і більшість робочих), які блокують будь-які вхідні з'єднання (ну, якщо ви не встановили NAT для маршрутизації заздалегідь, що є біль в зад). Таким чином, вони змінили протокол, щоб дозволити клієнту запитувати пасивний FTP, що означає для з'єднання даних, сервер тепер пасивний, і протокол рукостискання повідомляє клієнту, як підключити канал передачі даних до сервера.
Це трохи більше роботи для сервера, який тепер повинен пам'ятати, який вхідний зв'язок з якого клієнта (і, отже, на яку команду відповісти), але єдиний реальний спосіб перевищити правило 'no incoming connections'.
TL; DR: Завжди вибирайте пасивний. Кожен сервер підтримує його, він завжди буде працювати, і вам ніколи не потрібно знати, чому це буде. Або просто перевірте «активний» зв'язок, якщо він працює, міцва! Якщо ні, спробуйте пасивний.
Ця сторінка стверджує, що це "остаточне пояснення" пасивного проти активного ftp.
Ключове відмінність між активним і пасивним ftp підсумовується внизу сторінки:
Активний FTP вигідний адміністратору FTP-сервера, але завдає шкоди адміністратору клієнтської частини. FTP-сервер намагається встановити з'єднання з випадковими високими портами на клієнті, які майже напевно будуть заблоковані брандмауером на стороні клієнта. Пасивний FTP вигідний клієнту, але завдає шкоди адміністратору FTP-сервера. Клієнт зробить обидва підключення до сервера, але один з них буде до випадкового високого порту, який майже напевно буде заблокований брандмауером на стороні сервера.
Таким чином, з пасивним ftp потрібно зробити трохи більше роботи на сервері, щоб дозволити підключення на високому номері порту, але це слід гарантувати, що будь-який клієнт може підключитися без проблем, оскільки він знає, які порти він повинен відкрити.
Так що якщо у вас є сервер, який буде потрібно приймати з'єднання від великої кількості клієнтів, пасивний ftp - це шлях. Якщо ви приймаєте лише з'єднання з невеликої кількості клієнтів, тоді активна буде нормальною.