Ich habe vsFTPd in CentOS 5.5 installiert, aufzweiServer und haben diesen diese Regel hinzugefügt iptables
:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
Das scheint nicht auszureichen, denn wenn ich versuche, eine Datei von einem Server auf einen anderen hochzuladen, erhalte ich dieses Ergebnis (IP-Adresse ist maskiert):
# ftp 99.99.99.99
Connected to 99.99.99.99 (99.99.99.99).
220 (vsFTPd 2.0.5)
Name (99.99.99.99:root): vinny
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (99,99,99,99,107,74)
ftp: connect: No route to host
Ich habe im Internet einige Artikel über die zweite Regel gefunden, die ich hinzufügen muss iptables
, aber ich habe nicht die richtige Syntax dafür gefunden. Können Sie mir bitte helfen?
PS: Ich habe eine Standardinstallation von vsFTPd und möchte, /etc/vsftpd/vsftpd.conf
wenn möglich, nichts in der Konfigurationsdatei () ändern.
Antwort1
Bearbeiten Sie /etc/sysconfig/iptables-config und fügen Sie diese Zeile hinzu:
IPTABLES_MODULES="ip_conntrack_ftp"
Speichern Sie es und starten Sie iptables neu.
Das liegt daran, dass im passiven Modus nicht standardmäßige Ports zur Kommunikation verwendet werden. Sie müssen also die FTP-Verbindungen im Auge behalten und iptables wird sie bei Bedarf zulassen.