Aby skonfigurować tryb pasywny dla vsftpd, musisz ustawić niektóre parametry w vsftpd.conf.
pasv_enable=Yes
pasv_max_port=10100
pasv_min_port=10090
Umożliwia to tryb pasywny i ogranicza go do korzystania z jedenastu portów do połączeń danych. Jest to przydatne, ponieważ musisz otworzyć te porty w zaporze.
iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT
Jeśli po przetestowaniu to wszystko działa, zapisz stan zapory za pomocą
service iptables save
który zaktualizuje /etc/sysconfig/iptables
plik.
Aby to zrobić, to CentOS 7, musisz użyć nowej zapory ogniowej, a nie iptables:
Znajdź swoją strefę:
# firewall-cmd --get-active-zones
public
interfaces: eth0
Moja strefa jest „publiczna”, więc ustawiłem moją strefę na publiczną, dodaj zakres portów, a następnie przeładujemy:
# firewall-cmd --permanent --zone=public --add-port=10090-10100/tcp
# firewall-cmd --reload
Co dzieje się po nawiązaniu połączenia
Twój klient nawiązuje połączenie z serwerem vsftpd na porcie 21.
Serwer odpowiada klientowi, informując go, z którego portu się połączyć, z zakresu określonego powyżej.
Klient nawiązuje połączenie danych na określonym porcie i sesja jest kontynuowana.
Jest tutaj świetne wyjaśnienie różnych trybów ftp .
user9517 obsługuje GoFundMonica
źródło
max
port pomin
... ale, co ważniejsze, jeśli otworzysz porty 10090 do 10100, to 11 portów, a nie 10, jak mówisz.pasv_address
.Aby włączyć tryb pasywny, ustaw następujące opcje konfiguracji w pliku vsftp.conf:
Możesz oczywiście zmienić port początkowy i końcowy i powinieneś zamienić xxx na publiczny adres IP twojego serwera.
Ponadto należy otworzyć zakres portów trybu pasywnego w zaporze. W centos można załadować
ip_conntrack_ftp
moduł do obsługi połączeń ftp w zaporze. Edytuj/etc/sysconfig/iptables-config
i dodaj ip_conntrack_ftp do opcji IPTABLES_MODULES. Następnie uruchom ponownie iptables:źródło
pasv_address
co robi, gdy wszystko inne zostało skonfigurowane i nadal nie działa.pasv_address
, powinieneś dodaćpasv_addr_resolve=YES
(domyślnieNO
)Oprócz tego
pasv_enable=YES
określ zakres portów, w których VSFTP będzie działać w trybie PASV:Nie zapomnij skonfigurować iptables umożliwia transmisję pakietów na tych portach:
źródło
iptables -A INPUT ...
pasv_address
dołączasz do pliku vsftpd.conf.Zwykle to nie serwer ftp, vsftpd, ale zapora ogniowa, taka jak iptable, uniemożliwia użycie trybu pasywnego (blokowanie połączenia tcp potrzebne do przesyłania danych).
źródło