Napraw dostęp do FTP z komputera klienckiego z systemem Linux z włączoną zaporą sieciową
Dzisiaj chciałbym podzielić się moim osobistym doświadczeniem z dostępem do FTP w Linuksie. Dzięki nowym systemom operacyjnym firmy Microsoft, które nie są dla mnie odpowiednie do codziennego użytku, kilka lat temu przerzuciłem się na Linuksa. Używam serwera FTP w mojej sieci domowej i nie mogłem uzyskać do niego dostępu z uruchomionego komputera klienckiego Linux, który ma reguły zapory do blokowania połączeń przychodzących, czyli polityka INPUT jest ustawiona na REJECT in iptables. Oto jak rozwiązałem problem.
Zakładam, że polityka OUTPUT jest AKCEPTOWANA zarówno na maszynach klienckich, jak i serwerowych.
Rozwiązanie #1. Użyj modułu jądra nf_conntrack_ftp
Moduł jądra nf_conntrack_ftp umożliwia automatyczne odblokowanie dostępu do wymaganego portu dla serwera FTP przy każdym połączeniu. Jedynym wymaganiem dla tego modułu jest następująca linia w regułach iptables (zazwyczaj jest to /etc/iptables/iptables.rules) na komputerze klienckim:
$IPT -A INPUT -i eth0 -m stan --state ZWIĄZANE, USTANOWIONE -j AKCEPTUJ
Istnieje eth0 to nazwa twojego urządzenia sieciowego.
Następnie musisz załadować nf_conntrack_ftp, jeśli nie jest załadowany. Uruchom następujące polecenie jako root na komputerze klienckim
# modprobe nf_conntrack_ftp
Jeśli twój serwer używa jakiegoś innego niż domyślnego portu (innego niż port 21), użyj następującego polecenia:
# modprobe nf_conntrack_ftp ports=twój_port
Zapewni to automatyczne połączenie ze wszystkimi wymaganymi portami między serwerem FTP a oprogramowaniem klienta. Działa to do momentu ponownego uruchomienia komputera.
Aby ta zmiana była trwała, musisz utworzyć nowy plik tekstowy /etc/modules-load.d/conntrack_ftp.conf i dodać do tego pliku następujący wiersz:
nf_conntrack_ftp
W przypadku portu serwera innego niż domyślny należy utworzyć dodatkowy plik /etc/modprobe.d/conntrack_ftp.conf o następującej treści:
opcje nf_conntrack_ftp ports=
To powinno wystarczyć.
Rozwiązanie nr 2. Użyj stałego zakresu portów pasywnych
Jeśli nie możesz użyć modułu nf_conntrack_ftp, możesz ustawić stały zakres portów dla oprogramowania serwera FTP i otworzyć go na komputerze klienckim. Na przykład, oto jak można to zrobić dla aplikacji vsftpd.
- W pliku konfiguracyjnym vsftpd, którym zwykle jest /etc/vsftpd.conf, dodaj następujące wiersze:
pasv_min_port=5500. pasv_max_port=6500
Należy to zrobić po stronie serwera. Następnie powinieneś zrestartować vsftpd.
- W regułach iptables (zwykle jest to /etc/iptables/iptables.rules) na komputerze klienckim dodaj następującą regułę:
$IPT -A WEJŚCIE -p tcp -s
--dport 5500:6500 -j AKCEPTUJĘ - Zastosuj zasady iptables w następujący sposób:
# iptables-restore < /etc/iptables/iptables.rules
Otóż to.