[ISPC3] Firewall für FTP-Client anpassen

Kaimane

Member
Hallo!

Ich benutze die Firewalleinstellung von ISPC3 (3.0.2.1).

Wenn ich mit einem FTP-Client (auf dem ISPC-Server) auf einen externen FTP-Server zugreife, kann ich mich zwar einloggen, es gibt jedoch keine Chance den Verzeichnisinhalt abzurufen.
Es liegt daran, dass die Verbindung zwischen FTP-Server und -Client auf beliebigen Ports zwischen 50000 und 60000 stattfinden und diese in der Firewall (FTP-Client-Seite, ISPC3-Server) nicht geöffnet sind.
Nachdem ich in der ISPC-Oberfläche die Portrange freigegeben habe klappt alles wunderbar. Das kann aber nicht das Endergebnis sein?!

Gibt es die Möglichkeit die zu benutzenden PassivePorts voreinzustellen?
Oder eine automatische Öffnung der benötigten Ports in den iptables durch den FTP-Client, ähnlich dem uPNP?

Danke im Voraus für eure Hilfe!
 

Kaimane

Member
Hi F4rr3ll,

danke für den Link.
Vollkommen richtig, Pure-FTPd muss in einer VServer-Umgebung ohne die Capabilities kompiliert werden, sonst läuft der FTP-Server nicht.
Bei mir funktioniert FTP-Server-technisch aber alles.

Es geht um meinen FTP-Client (auf dem Server), der zu einem externen FTP-Server (nicht meiner) im ActiveMode conntected. Ich bekomme die Ports > 1024, die die aktive Verbindung benötigt nicht automatisch geöffnet.
Wie ich herausgefunden habe benötige ich das ip_conntrack_ftp Modul für iptables, jedoch kann ich es nicht installieren. Ich gehe davon aus, dass es mit der Virtozzo-Umgebung zu tun hat, die mir das nicht erlaubt.

Daher suche ich nach einer anderen Lösung, um die Portrange (just in time) freizugeben. Aber vermutlich muss ich die FW deaktiveren, damit es vernünpftig läuft :-/
Es sei denn man kann dem FTP-Client (in meinem Fall ncftp) vorgeben, mit welchen Ports er arbeitet.
 

Kaimane

Member
Hmm, ich glaube ich drücke mich falsch aus :)
Mein FTP-Server (pure-ftpd) läuft einwandfrei. Jeder Client kann sich ohne Probleme connecten, ob Active- oder PassiveMode.

Viel mehr ist mein FTP-Client (auch auf dem Server) das Problem. Er verbindet sich im ActiveMode zum externen (nicht meinen) FTP-Server. Bekommt dann vom Server die Ports (jenseits 1024) mitgeteilt, auf dem die Pakete verschickt werden.
Mein FTP-Client bekommt die Pakete jedoch nicht, weil iptables (auf seinen des FTP-Clients) die mitgeteilten Ports nicht öffnet.

Es wird doch wahrscheinlich ip_conntrack_ftp die Lösung sein, oder?
Nur kann ich das Modul auf meinem VServer nicht installieren ...
Muss ich also die Firewall komplett ausschalten, damit es klappt oder gibt es noch einen anderen Weg die Ports zu öffnen?
 

Kaimane

Member
@xxfog
Da hast vollkommen recht. Das sollte hier noch nachgetragen werden :)

Also ich habe mich dazu entschieden die iptables nicht mehr zu nutzen. Dadurch erübrigt sich das Problem für mich. Jedoch möchte ich kurz erklären, wie man das o.g. Problem trotz der aktivierten iptables beheben kann ...

Und zwar müssen Module nachgeladen werden, damit das NAT (just in time) die erforderlichen Ports für den FTP-Transfer öffnet.

Dazu gehen wir in die Datei /etc/rc.local ...
Code:
vi /etc/rc.local
... und fügen Folgendes vor der letzten Zeile "exit 0" ein ...
Code:
[FONT=monospace]
[/FONT]# Module to track the state of connections[FONT=monospace]
[/FONT]modprobe ip_conntrack

# Load the iptables active FTP module, requires ip_conntrack
modprobe ip_conntrack_ftp[FONT=monospace]

[/FONT]# Load iptables NAT module when required[FONT=monospace]
[/FONT]modprobe iptable_nat[FONT=monospace]

[/FONT]# Module required for active an FTP server using NAT[FONT=monospace]
[/FONT]modprobe ip_nat_ftp
Danach abspeichern und die Module nachladen lassen.
Nun sollte es mit dem Öffnen der für den FTP-Transfer relevanten Ports anstandslos klappen.

Viele Grüße
Kaimane

=== Nachtrag ===
Bei den meisten VServern wird diese Lösung wahrscheinlich nicht funktionieren, da es nicht erlaubt wird Kernelmodule nachzuladen.
In diesem Fall habt ihr nur die Möglichkeit die iptables zu deaktivieren; zumindest ist mir keine andere Lösung bekannt.
Falls es dennoch iwie zu schaffen ist auf einem VServer die o.g. Kernelmodule nachzuladen, lass ich mich gern eines Besseren belehren :)
 
Zuletzt bearbeitet:

Werbung

Top