# Zweiter FTP Passiv Mode -> Firewallproblem



## Quest (29. Jan. 2010)

Hallo zusammen.

Ich hab mal wieder ein spezielles Problem.
Auf meinem ISP3 Server habe ich außer ISP mit den Webseiten ja noch Gamecreate für die Verwaltung von Gameservern laufen.
Dieses Gamecreate bringt zum Hochladen von Maps, Mods, etc. einen eigenen FTP-Service mit der auf Port 2121 lauscht und nur mit Passive FTP angesprochen werden kann.
Wenn ich von localhost mit dem FTP-Client mich auf den Server verbinde funktioniert alles wunderbar.
Wenn ich das mit der selben Client-Software hier von zu Hause aus probiere kommt in dem Augenblick in dem ich ein 'ls' in der Konsole absetze ein Timeout (also entsprechend zeitverzögert halt).

Könnt ihr mir sagen wie ich der Firewall beibringe, dass ich 2 FTP Daemons habe, die passiv ansprechbar sein sollen?

Gruß, Michael


----------



## Till (30. Jan. 2010)

Du definierts für jeden Daemon eine eigene passive port range und öffnest dann die entsprechenden port ranges in der firewall.


----------



## Quest (31. Jan. 2010)

Für den FTP Daemon aus dem Perfect Server Setup Debian müsste da doch sicher schon was definiert sein. Wo muss ich denn da an der Firewall anpacken um herauszufinden welche passive FTP Ports bereits offen sind?


----------



## Till (31. Jan. 2010)

Ruf auf:

iptables -L

oder schau einfach in die Firewall Einstellungen in ISPConfig, eine port Range definierst Du so. z.B: 1200-1300


----------



## Quest (31. Jan. 2010)

In ISPConfig unter Firewall ist bei mir keine Range eingetragen.
Der Passive FTP Modus zum normalen Daemon auf Port 21 funktioniert auf jeden Fall.
Da sich für Gamecreate die Portrange nicht definieren lässt sondern jedes Mal ein zufälliger Port gewählt wird hab ich da nehme ich an schlechte Chancen?

Im Gamecreate Forum hab ich zu dem Problem mit der Firewall und dem Passive Mode diesen Link gefunden:
http://archive.cert.uni-stuttgart.de/suse-security/2003/07/msg00321.html

Hab ich damit evtl. eine chance?
Wenn ja, wie und wo muss ich diese Kommandos absetzen / Eintragen, damit die Regeln greifen und nach einem Systemstart jeweils noch verfügbar sind?

Sorry, wenns um Firewalls geht bin ich leider ein absoluter Anfänger.
Mit dem Thema sollte ich mich vielleicht auch mal mehr beschäftigen...


----------



## Till (1. Feb. 2010)

Schau mal hier:

http://www.howtoforge.com/forums/showthread.php?t=6209

das geht in ispconfig 3 genauso.


----------



## F4RR3LL (3. Feb. 2010)

http://wiki.nixhelp.de/howto/ispconfig3#installation_ftp_server


Hier hab ich beschrieben wie du die Passive Range festlegst im ISPConfig 3 ..diese Range müsstest du dann nur noch in den IPTABLES eintragen für die passives.

Gruß Sven


----------



## Quest (3. Feb. 2010)

Momentan scheitere ich noch an einem anderen Problem.
Der FTP Daemon von GameCreate lässt sich für passive FTP nicht auf eine PortRange einschränken. er nimmt zufällig irgendeinen freien Port.

Ich habe da weiter oben einen Link gepostet, den ich im Gamecreate Forum gefunden hab.
auf der verlinkten Seite sind diese Regeln aufgeführt:

```
-A FORWARD -p tcp -s $i --sport 1024:65535 -d $j --dport 21
	-m state --state NEW,ESTABLISHED -j ACCEPT
-A FORWARD -p tcp -s $j --sport 21 -d $i --dport 1024:65535
	 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p tcp -s $i --sport 1024:65535 -d $j --dport 1024:65535
	-m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p tcp -s $j --sport 1024:65535 -d $i --dport 1024:65535
	-m state --state RELATED,ESTABLISHED -j ACCEPT[FONT=verdana]
```
Lässt sich das etwas abwandeln, damit sowohl der normale FTP auf Port 21 als auch der von Gamecreate auf Port 2121 die volle Portrange für Passive FTP verwenden dürfen?
[/FONT]


----------



## Till (3. Feb. 2010)

@F4RR3LL



> diese Range müsstest du dann nur noch in den IPTABLES eintragen für die  passives.


Du kannst die Range für die Firewall seit ISPConfig 3.0.1.6 auch direkt in den Firewall Einstelluneg festlegen ohne dafür manuell in iptables einzugreifen, dazu fügst Du bei den TCP Ports folgendes am Ende hinzu:


```
,4000-4020
```
@Quest

hast Du mal versucht die Regeln manuell auf der Shell auszuführen und dann FTP getestet?


----------



## Quest (4. Feb. 2010)

Nein, hab ich noch nicht. Werd ich am Wochenende mal probieren.
Bei Linuxforen.de hat mir noch jemand 'nf_conntrack_ftp' als Tipp gegeben, hat damit schon mal jemand was gemacht?


----------



## Quest (4. Feb. 2010)

Ok, es ging doch ganz einfach.
Falls es noch jemand interessiert, diesen Befehl ausführen:
modprobe nf_conntrack_ftp ports=21,2121
Anschließend Bastille Firewall neu starten.
Das Kernelmodul übernimmt den Rest.
Um das ganze für den nächsten Systemstart vorzumerken folgende Zeile in die /etc/modules eintragen:
nf_conntrack_ftp ports=21,2121

Ich denke ich werd die nächsten Tage mal ein HowTo zur Installation von Gamecreate auf ISP3 Debians machen.
Jetzt hab ich alle Details dazu beisammen.


----------

