Javítsa ki az FTP-hozzáférést a tűzfallal rendelkező Linux ügyfélszámítógépről
Ma szeretném megosztani személyes tapasztalataimat az FTP hozzáféréssel kapcsolatban Linuxban. A Microsoft új operációs rendszereinek köszönhetően, amelyeket nem találok napi használatra alkalmasnak, néhány éve Linuxra váltottam. FTP szervert futtatok az otthoni hálózatomon, és nem tudtam elérni azt a futó kliens PC-ről Linux, amely tűzfalszabályokkal blokkolja a bejövő kapcsolatokat, azaz az INPUT házirend REJECT értékre van állítva iptables. Így javítottam ki a problémát.
Feltételezem, hogy az OUTPUT házirend ACCEPT mind a kliens, mind a kiszolgáló gépeken.
1. megoldás. Használja az nf_conntrack_ftp kernelmodult
Az nf_conntrack_ftp kernelmodul lehetővé teszi az FTP-kiszolgáló kívánt portjához való hozzáférés blokkolásának automatikus feloldását minden alkalommal, amikor csatlakozik. Az egyetlen követelmény ehhez a modulhoz a következő sor az iptables szabályaiban (általában ez az /etc/iptables/iptables.rules) az ügyfélszámítógépen:
$IPT -A BEMENET -i eth0 -m állapot --állapot KAPCSOLATOS, LÉTESÍTETT -j ELFOGADÁS
Van eth0 a hálózati eszköz neve.
Ezután be kell töltenie az nf_conntrack_ftp fájlt, ha nincs betöltve. Futtassa a következő parancsot root felhasználóként az ügyfélszámítógépen
# modprobe nf_conntrack_ftp
Ha a szerver nem alapértelmezett portot használ (a 21-es porttól eltérő), akkor használja a következő parancsot:
# modprobe nf_conntrack_ftp ports=sajat_port
Ez automatikus kapcsolatot biztosít az összes szükséges porttal az FTP-kiszolgáló és a kliensszoftver között. Ez addig működik, amíg újra nem indítja a számítógépet.
A változtatás véglegesítéséhez létre kell hoznia egy új szöveges fájlt, /etc/modules-load.d/conntrack_ftp.conf, és hozzá kell adnia a következő sort ehhez a fájlhoz:
nf_conntrack_ftp
Nem alapértelmezett szerverport esetén létre kell hoznia egy további /etc/modprobe.d/conntrack_ftp.conf fájlt a következő tartalommal:
opciók nf_conntrack_ftp ports=
Ennek elégnek kell lennie.
2. megoldás. Használjon rögzített passzív porttartományt
Ha nem tudja használni az nf_conntrack_ftp modult, beállíthat egy rögzített porttartományt az FTP-kiszolgálószoftver számára, és megnyithatja azt az ügyfélszámítógépen. Például itt van, hogyan lehet ezt megtenni a vsftpd alkalmazásban.
- A vsftpd konfigurációs fájljában, amely általában az /etc/vsftpd.conf, adja hozzá a következő sorokat:
pasv_min_port=5500. pasv_max_port=6500
Ezt a szerver oldalon kell megtenni. Ezután újra kell indítania a vsftpd-t.
- Az ügyfélszámítógép iptables szabályaiban (általában ez az /etc/iptables/iptables.rules) adja hozzá a következő szabályt:
$IPT -A BEMENET -p tcp -s
--dport 5500:6500 -j ELFOGADÁS - Alkalmazza az iptables szabályokat az alábbiak szerint:
# iptables-restore < /etc/iptables/iptables.rules
Ez az.