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 .
max
port pomin
... ale, co ważniejsze, jeśli otworzysz porty 10090 do 10100, to 11 portów, a nie 10, jak mówisz.