Popravite pristup FTP-u s Linux klijentskog računala s uključenim vatrozidom
Danas bih želio podijeliti svoje osobno iskustvo s FTP pristupom u Linuxu. Zahvaljujući novim Microsoftovim operativnim sustavima, za koje ne smatram da su prikladni za svakodnevnu upotrebu, prije nekoliko godina sam prešao na Linux. Pokrećem FTP poslužitelj u svojoj kućnoj mreži i nisam mu mogao pristupiti sa svog klijentskog računala Linux koji ima pravila vatrozida za blokiranje ulaznih veza, tj. pravilo INPUT postavljeno je na REJECT u iptables. Evo kako sam riješio problem.
Pretpostavljam da je OUTPUT pravilo PRIHVATNO i na klijentskim i na poslužiteljskim strojevima.
Rješenje #1. Koristite modul kernela nf_conntrack_ftp
Modul kernela nf_conntrack_ftp omogućuje vam da automatski deblokirate pristup potrebnom portu za FTP poslužitelj svaki put kada uspostavite vezu. Jedini uvjet za ovaj modul je sljedeći redak u vašim iptables pravilima (obično je to /etc/iptables/iptables.rules) na klijentskom računalu:
$IPT -A INPUT -i eth0 -m stanje --stanje POVEZANO, UTVRĐENO -j PRIHVATI
Postoji eth0 je naziv vašeg mrežnog uređaja.
Zatim morate učitati nf_conntrack_ftp ako nije učitan. Pokrenite sljedeću naredbu kao root na klijentskom računalu
# modprobe nf_conntrack_ftp
Ako vaš poslužitelj koristi neki nezadani port (osim porta 21), upotrijebite sljedeću naredbu:
# modprobe nf_conntrack_ftp ports=vaš_port
To će osigurati automatsku vezu sa svim potrebnim portovima između FTP poslužitelja i vašeg klijentskog softvera. Ovo radi sve dok ponovno ne pokrenete računalo.
Da bi ova promjena bila trajna, morate stvoriti novu tekstualnu datoteku, /etc/modules-load.d/conntrack_ftp.conf, i dodati sljedeći redak ovoj datoteci:
nf_conntrack_ftp
U slučaju porta poslužitelja koji nije zadani, morate stvoriti dodatnu datoteku, /etc/modprobe.d/conntrack_ftp.conf sa sljedećim sadržajem:
opcije nf_conntrack_ftp portovi=
Ovo bi trebalo biti dovoljno.
Rješenje #2. Koristite fiksni raspon pasivnih portova
Ako ne možete koristiti modul nf_conntrack_ftp, možete postaviti fiksni raspon portova za softver FTP poslužitelja i otvoriti ga na klijentskom računalu. Na primjer, evo kako se to može učiniti za aplikaciju vsftpd.
- U konfiguracijskoj datoteci vsftpd, koja je obično /etc/vsftpd.conf, dodajte sljedeće retke:
pasv_min_port=5500. pasv_max_port=6500
To treba učiniti na strani poslužitelja. Nakon toga trebate ponovno pokrenuti vsftpd.
- U vašim iptables pravilima (obično je to /etc/iptables/iptables.rules) na klijentskom računalu dodajte sljedeće pravilo:
$IPT -A ULAZ -p tcp -s
--dport 5500:6500 -j PRIHVATI - Primijenite iptables pravila kako slijedi:
# iptables-restore < /etc/iptables/iptables.rules
To je to.