Co to jest tryb pasywny/aktywny podczas połączenia przez FTP oraz jakie problemy mogą wystąpić?
Drukuj
65
Tryb aktywny oraz pasywny w protokole FTP to sposoby komunikowania się klienta FTP z serwerem FTP. Różnią się między sobą sposobem komunikacji oraz źródłem inicjacji połączenia. W tym artykule pokrótce wyjaśnimy sposób w jaki działają dane tryby oraz powiemy dlaczego tryb paswyny jest mniej problematyczny od trybu aktywnego.
Tryb aktywny. Ogólny zarys połączenia klienta FTP z serwerem FTP w trybie aktywnym wygląda tak: 1. Klient ustanawia połączenie (korzystając z wychodzącego portu, nazwijmy go N) z serwerem, najczęściej łącząc się do portu 21. 2. Serwer, na tym samym połączeniu ustanowionym w punkcie 1., odpowiada klientowi o efektach połączenia i reaguje na przesyłane przez klienta polecenia. 3. W przypadku chęci przesłania danych ( na przykład poprzez komendę listowania katalogu ), serwer próbuje nawiązać całkowicie nowe połączenie z klientem FTP - najczęściej korzysta z wychodzącego portu 20 nawiązując połączenie do portu N+1 u klienta. Na tym połączeniu docelowo ma odbyć się przesył danych.
Zatrzymajmy się przy punkcie 3. gdyż jest to główny przypadek, dla którego tryb aktywny bardzo często nie działa poprawnie. Serwer FTP próbując nawiązac nowe połączenie z klientem, bardzo często jest blokowany przez zaporę sieciową (Firewall), która może znajdować się na routerze lub w systemi operacyjnym. Serwer nawiązuje połączenie do wysokie portu N+1, który bardzo często jest na Firewallu zamknięty, przez co połączenie nie może zostać nawiązane. Z tego powodu został wdrożony tryb pasywny, który omija tę dolegliwość.
Tryb pasywny. Ogólny zarys połączenia klienta FTP z serwerem FTP w trybie pasywnym wygląda tak: 1. Klient ustanawia połączenie (korzystając z wychodzącego portu, nazwijmy go N) z serwerem, najczęściej łącząc się do portu 21. Dodatkowo wysyła również polecenie PASV, informując serwer o chęci włączenia trybu pasywnego. 2. Serwer, na tym samym połączeniu ustanowionym w punkcie 1., odpowiada klientowi o efektach połączenia i reaguje na przesyłane przez klienta polecenia. W reakcji na polecenie PASV serwer odpowiada poleceniem PORT X , gdzie X to port dla którego klient ma nawiązać połączenie do przesyłu danych. 3. W przypadku chęci przesłania danych ( na przykład poprzez komendę listowania katalogu ) w trybie pasywnym, to klient nawiązuje nowe połączenie (z portu wychodzącego N+1) do serwera, łącząc się do portu X (który został przesłany przez serwer w odpowiedzi na polecenie PASV).
Jako że to klient jest inicjatorem nowego połączenie do przesyłu danych, nie występuje kłopot z zaporą sieciową po jego stronie - tak jak to miało miejsce w trybie aktywnym. Z tego też powodu zalecamy korzystanie z trybu pasywnego do połączeń FTP. Większość klientów FTP domyślnie korzysta z tego trybu lub posiada narzędzia, które automatycznie wykryją który z trybów powinien być użyty. W naszej bazie wiedzy posiadamy artykuły podstawowej konfiguracji FTP dla najpopularniejszych klientów FTP - artykuły znajdują się TUTAJ.