Popravite dostop do FTP iz odjemalskega računalnika Linux z omogočenim požarnim zidom
Danes bi rad delil svojo osebno izkušnjo z dostopom do FTP v Linuxu. Zahvaljujoč novim Microsoftovim operacijskim sistemom, ki se mi ne zdijo primerni za vsakodnevno uporabo, sem pred nekaj leti prešel na Linux. V domačem omrežju uporabljam strežnik FTP in nisem mogel dostopati do njega iz odjemalskega računalnika Linux, ki ima pravila požarnega zidu za blokiranje dohodnih povezav, t.j. je pravilnik INPUT nastavljen na ZAVRNI v iptables. Evo, kako sem odpravil težavo.
Predvidevam, da je pravilnik OUTPUT ACCEPT na odjemalskih in strežniških strojih.
Rešitev #1. Uporabite modul jedra nf_conntrack_ftp
Modul jedra nf_conntrack_ftp vam omogoča samodejno deblokiranje dostopa do zahtevanih vrat za strežnik FTP vsakič, ko vzpostavite povezavo. Edina zahteva za ta modul je naslednja vrstica v pravilih iptables (običajno je to /etc/iptables/iptables.rules) na odjemalskem računalniku:
$IPT -A INPUT -i eth0 -m stanje --state POVEZANO, VZPOSTAVLJENO -j SPREJEM
Obstaja eth0 je ime vaše omrežne naprave.
Nato morate naložiti nf_conntrack_ftp, če ni naložen. Zaženite naslednji ukaz kot root na odjemalskem računalniku
# modprobe nf_conntrack_ftp
Če vaš strežnik uporablja nekatera vrata, ki niso privzeta (razen vrat 21), uporabite naslednji ukaz:
# modprobe nf_conntrack_ftp ports=vaša_vrata
To bo zagotovilo samodejno povezavo z vsemi zahtevanimi vrati med strežnikom FTP in vašo odjemalsko programsko opremo. To deluje, dokler ne znova zaženete računalnika.
Če želite, da bo ta sprememba trajna, morate ustvariti novo besedilno datoteko, /etc/modules-load.d/conntrack_ftp.conf, in tej datoteki dodati naslednjo vrstico:
nf_conntrack_ftp
V primeru vrat strežnika, ki niso privzeta, morate ustvariti dodatno datoteko, /etc/modprobe.d/conntrack_ftp.conf z naslednjo vsebino:
možnosti nf_conntrack_ftp ports=
To bi moralo biti dovolj.
Rešitev #2. Uporabite določen obseg pasivnih vrat
Če ne morete uporabiti modula nf_conntrack_ftp, lahko nastavite določen obseg vrat za programsko opremo strežnika FTP in ga odprete na odjemalskem računalniku. Tukaj je na primer, kako je to mogoče storiti za aplikacijo vsftpd.
- V konfiguracijsko datoteko vsftpd, ki je običajno /etc/vsftpd.conf, dodajte naslednje vrstice:
pasv_min_port=5500. pasv_max_port=6500
To je treba storiti na strani strežnika. Po tem morate znova zagnati vsftpd.
- V pravila za iptables (običajno je to /etc/iptables/iptables.rules) na odjemalskem računalniku dodajte naslednje pravilo:
$IPT -A INPUT -p tcp -s
--dport 5500:6500 -j SPREJEM - Uporabite pravila iptables, kot sledi:
# iptables-restore < /etc/iptables/iptables.rules
To je to.