FTP auf hohen Ports durch NAT?

Post Reply
Message
Author
shaun
Posts: 3
Joined: 18. Nov 2006 14:24

FTP auf hohen Ports durch NAT?

#1 Post by shaun »

Hallo Gemeinde,
mein erstes Posting ist gleich eine Frage, trotzdem erhoffe ich mir hier Hilfe.
Ich habe eine Firewall auf einem ältlichen (2.4.7) Linux laufen, die zwischen einem externen Interface, nennen wir es mal 192.168.0.1, und einem internen, zB. 192.168.100.1, nattet.
Darauf läuft auch ein ProFTPd, der von 192.168.100.x problemlos erreichbar ist.
Vom Provider kommt auf dem externen Interface eine Standleitung an, über die wir über die statische IP 141.x.y.z erreichbar sind. Um FTP zu ermöglichen, habe ich die iptables-Module ip_nat_ftp und ip_nat_conntrack geladen. Nun das Problem: läuft unser FTPd auf Port 21, kann ich über 141.x.y.z:21 problemlos FTPen, im Log für passives FTP erscheint auch ganz brav die externe IP (141,x,y,z,a,b). Bei jedem anderen Port meldet der FTP-Client jedoch die IP der externen Ethernetschnittstelle, also 192,168,0,1,a,b %)
Ich habe den Modulen den Parameter ports=21,521 (Beispiel) schon mal mitgegeben, hat aber nicht geändert. Obwohkl die Angabe irgendetwas zu tun scheint, denn wenn ich NUR den 521 angebe, funktioniert FTP auch auf der 21 nur noch bis zum LIST, ein CHDIR o.ä. meldet dann, dass die Datenverbindung nicht aufgebaut werden kann. Auf allen anderen Ports ausser 21 funktioniert der Login noch, aber natürlich keine Datenverbindung (na wie auch, wenn als Ziel die Ethernet-IP der externen Karte und nicht die Internet-IP übergeben wird).
Irgendwer eine Idee?

Danke
Stefan

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

Das ist jetzt nur geraten, aber es gibt außer dem "command port" 21 auch noch den "default data port" 20. Evtl. musst du da auch noch dran rumspielen.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

shaun
Posts: 3
Joined: 18. Nov 2006 14:24

#3 Post by shaun »

Das gilt nur für aktives FTP, daran liegt's also nicht. Das Problem ist m.M. nach, dass der PORT-Befehl nur bei Port 21 ordentlich von den ftp-Modulen umgeschrieben wird.

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#4 Post by Janka »

Falls du einen Fehler dort vermutest, solltest du die Changelogs bis zum neuesten 2.4.x-Kernel prüfen oder einfach mal den neuesten 2.4.x Kernel ausprobieren. So aufwendig ist das ja nicht, könnte aber einiges Rätselraten sparen.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

shaun
Posts: 3
Joined: 18. Nov 2006 14:24

#5 Post by shaun »

Inzwischen ist das Problem gelöst.
Ich habe ProFTPd mittels MasqueradeAddress die statische Internet-IP unseres Servers gegeben und nun ist es egal, ob er auf Port 21 oder irgendwo anders lauscht, im PASV-Kommando steht korrekterweise eben diese IP plus Wunschport und nicht mehr die der Ethernetkarte. Warum die IP bei Port 21 korrekt ist und ob das was mit iptables zu tun hat habe ich noch nicht genauer erforscht, da es eh nur ein Workaround ist, die Platten platzen aus allen Nähten und nächsten Monat gibt's nen neuen Server.

Post Reply