Um den passiven Modus für vsftpd zu konfigurieren, müssen Sie einige Parameter in vsftpd.conf festlegen.
pasv_enable=Yes
pasv_max_port=10100
pasv_min_port=10090
Dies aktiviert den passiven Modus und beschränkt ihn auf die Verwendung der elf Ports für Datenverbindungen. Dies ist nützlich, da Sie diese Ports in Ihrer Firewall öffnen müssen.
iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT
Wenn nach dem Testen alles funktioniert, speichern Sie den Status Ihrer Firewall mit
service iptables save
Dadurch wird die /etc/sysconfig/iptables
Datei aktualisiert .
Für CentOS 7 muss die neue Firewall verwendet werden, nicht iptables:
Finden Sie Ihre Zone:
# firewall-cmd --get-active-zones
public
interfaces: eth0
Meine Zone ist "öffentlich", daher setze ich meine Zone auf "öffentlich", füge den Portbereich hinzu und lade danach neu:
# firewall-cmd --permanent --zone=public --add-port=10090-10100/tcp
# firewall-cmd --reload
Was passiert, wenn Sie eine Verbindung herstellen?
Ihr Client stellt über Port 21 eine Verbindung zum vsftpd-Server her.
Der Server antwortet dem Client und teilt ihm mit, zu welchem Port aus dem oben angegebenen Bereich eine Verbindung hergestellt werden soll.
Der Client stellt eine Datenverbindung auf dem angegebenen Port her und die Sitzung wird fortgesetzt.
Hier finden Sie eine gute Erklärung der verschiedenen FTP- Modi .
user9517 unterstützt GoFundMonica
quelle
max
Port nach demmin
... setzen. Aber was noch wichtiger ist: Wenn Sie die Ports 10090 bis 10100 öffnen, sind das 11 Ports und nicht 10, wie Sie sagen.pasv_address
.Um den passiven Modus zu aktivieren, legen Sie die folgenden Konfigurationsoptionen in Ihrer vsftp.conf fest:
Sie können natürlich den Start- und Endport ändern und sollten die xxx durch die öffentliche IP Ihres Servers ersetzen.
Außerdem sollten Sie den Passivmodus-Portbereich in Ihrer Firewall öffnen. Auf Centos können Sie das
ip_conntrack_ftp
Modul laden , um FTP-Verbindungen in Ihrer Firewall zu verarbeiten. Bearbeiten/etc/sysconfig/iptables-config
Sie ip_conntrack_ftp und fügen Sie es zur Option IPTABLES_MODULES hinzu. Starten Sie anschließend iptables neu:quelle
pasv_address
ist das, was der Trick macht, wenn alles andere eingerichtet ist und es immer noch nicht funktioniert.pasv_address
, sollten Siepasv_addr_resolve=YES
(standardmäßigNO
) hinzufügenpasv_enable=YES
Geben Sie neben dem einen Portbereich an, in dem VSFTP den PASV-Modus ausführen soll:Vergessen Sie nicht, iptables so zu konfigurieren, dass die Paketübertragung an folgenden Ports möglich ist:
quelle
iptables -A INPUT ...
ignoriert werdenpasv_address
Stellen Sie sicher, dass Sie die Datei vsftpd.conf enthalten.Normalerweise ist es nicht der FTP-Server vsftpd, sondern die Firewall wie iptable, die die Verwendung des passiven Modus verhindert (Blockierung der TCP-Verbindung für die Datenübertragung erforderlich).
quelle