PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FTP-Zugriff ins Internet hinter einer FW und einem Proxy



kleiner Pinguin
20.03.04, 15:16
Hallo zusammen,

Ich habe zwei Probleme, die sehr wahrscheinlich mit einander zusammen hängen.

Ich habe einen Win98 Client hinter einem Proxy und einer Firewall (beides natürlich unter Linux :) SuSE8.1). Surfen geht wunderbar.

Ich muss von Zeit zu Zeit Dateien von dem Win98 ins Internet (auf meinen Webserver) schiessen. Ich habe auf dem Client einen FTP-Client laufen, der funktioniert wenn ich den Windowsserver laufen lasse, wenn er über den Linuxserver läuft will er leider nicht. Das gleiche gilt für das Onlinebanking Programm, das über T-Online (Classic Gate) sich die Daten holt.
Ich vermute es liegt am Proxy oder an der Firewall.
Hat jemand eine Idee?

Gruss Heiko

Myst
21.03.04, 11:59
FTP ist relativ problemlos mit PASV zu ermöglichen. Einfach dem FTP-Client sagen, er soll den Passiv-Mode benutzen.

Bei Online-Banking werden die Daten über einen entsprechenden Port übertragen, den musst Du beim Hersteller der Online-Banking-Software erfragen, bzw. Googlen. Danach musst Du den Port bei Deiner Firewall forwarden.

kleiner Pinguin
21.03.04, 17:46
Vielen Dank für die Antwort,

Der FTP-Client steht auf Passiv-Modus.
Ich nehme an, dass das am Port-Forwarding liegt sowohl beim Onlinebanking (T-Online Classic-Gate das ist glaube ich Port 866) wie auch beim FPT (Port 21).
Kann mir jemand verraten wie ich das machen muss (irgendwas mit den iptables??? oder so). Ich halt (noch) ein kleiner Pinguin ;)

Gruß
Heiko

mdkuser
21.03.04, 19:00
also ich denke mal, der proxy ist das problem. bei mir funzt ftp im passiv-modus ganz gut trotz aktivierter firewall und router (der server muss passiv-mode allerdings unterstützen).
falls du probleme mit dem routing hast, richte deine iptables firewall für reverse nat und port-forwarding ein.

Ich gehe mal davon aus, dass du bereits die firewall per iptables konfiguriert und das forwarding (masquerading) bereits aktiviert hast. dann brauchst du nur noch reverse nat einstellen.
Das könnte dann beispielsweise so aussehen:




IPTABLES -A FORWARD -p tcp -i eth0 -o eth1 --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
IPTABLES -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
IPTABLES -t nat -A PREROUTING --dport 21 -j DNAT --to-destination 192.168.1.2:21



Erklärung:

eth0 ist das Internet-Device welches mit dem Internet verbunden ist
eth1 ist das Intranet-Device, an dem die lokalen Rechner hängen
Forwarding von Internet- zu Intranet-Device muss eingestellt sein
Zeile 1: erlaubt Forwarding von Internet- zu Intranet-Device wenn Protokoll TCP, Zielport 21 und Status New, Established oder Related ist
Zeile 2: elaubt Forwarding vom Internet zum Intranet wenn Status Established und Related ist
Zeile 3: stellt das Portforwarding ein. Alle Anfragen, die an den Router auf port 21 ankommen leitet der Router an port 21 des Rechners mit der IP 192.168.1.2 weiter.

So, ich hoffe, das hilft dir weiter.

kleiner Pinguin
21.03.04, 20:15
Hallo
zu erst einmal dank für die ausführliche Erklärung, das ist ja schon fast ein Handbuch ;) (auch wenn ich nicht alles verstehe).

Wie gesagt ich bin (noch) ein kleiner Pinguin :eek:

Punkt 1:
Der Internetserver unterstützt den Passiv-Mode (unter Windows gehts)
Punkt 2:

falls du probleme mit dem routing hast, richte deine iptables firewall für reverse nat und port-forwarding ein.
Das klingt toll ich verstehe es nur nicht.
Meine interpretation:rolleyes: :
Es gibt mehrere iptables unter anderem für die Firewall und dort soll ich Deinen BeispielCode einfügen und anpassen werden. Aber wo finde ich diese iptables? Die Firewall habe ich mit SuSE YaST2 installiert.
Punkt 3:
Das Forwarding ist aktiviert, aber das Masquerading habe ich auf der Firewall ausgeschaltet, weil mir jemand mal gesagt hat, das proxy sicherer ist als Masquerading.
Punkt 4:
Wo stelle ich Forwarding vom Internet zum Intranet ein? Ich glaube ich habe bei den Routingeinstellungen (Gateway und so) das Forwarding von Intranet zum Inernet eingestellt.
Punkt 5:

Zeile 1: erlaubt Forwarding von Internet- zu Intranet-Device wenn Protokoll TCP, Zielport 21 und Status New, Established oder Related ist
Wenn der Status New sein darf, dann kann doch "jeder" über Port 21 auf meinen Rechner eine Verbindung aufbauen oder?

Sorry wenn da ein paar doofe Fragen bei sind :confused: ich kanns nicht besser :(

Gruß
Heiko

mdkuser
21.03.04, 20:38
Wenn der Status New sein darf, dann kann doch "jeder" über Port 21 auf meinen Rechner eine Verbindung aufbauen oder?

sorry, mein fehler! (bin etwas verwirrt) ;) Ja, du hast recht, diese Zeile brauchst du, wenn du selber einen ftp-server betreibst, der hinter einem router steht.
Vergiss mein posting, das war für eine serverkonfiguration gedacht. (man sollte richtig lesen LOL)

Probiere aber mal folgendes:

deaktiviere die firewall mal temporär,

öffne die konsole und tippe:

ftp serveradresse

logge dich ein mit benutzername und kennwort
dann tippst du ein passive
dann wechselt der ftp-client in den aktive mode.
schau mal ob dann die verbindung klappt. (unter windows ist nämlich, zumindest in der dos-box active ftp der standard).

zum thema proxy:
ja proxy ist sicherer als forwarding, leider kannst du dann aber auch keine sachen machen wie icq, online spiele zocken usw.
beschäftige dich mal mit iptables, da kannst du dir dann ein script zusammenschreiben und einen router einrichten. wenn du die regeln für das forwarding gut absicherst, z.b nur forwarding für eine spezielle ip erlaubst, ist das schon sicher genug.

such mal bei google nach iptables!

kleiner Pinguin
22.03.04, 15:05
In welche Datei miuss ich denn die iptables eintragen???

mdkuser
22.03.04, 15:35
in keine datei, du schreibst dir ein firewall script in dem du die iptable regeln definierst.

vielleicht hilft dir ja dieser link weiter:

http://www.pl-berichte.de/t_netzwerk/iptables.html


ein testscript, für eine iptablesbasierte firewall findest du auch hier (muss aber an deine Maschine angepasst werden, keine garantie das das so bei dir funzt):

http://www.linuxforen.de/forums/showthread.php?threadid=103937

kleiner Pinguin
22.03.04, 16:40
Achso ich habe auf der Suche nach den iptables mehrere Dateien gefunden (SuSEfirewall_init, SuSEfirewall_setup, usw.) ich nehme an, dass ich dort die iptables eintragen muss oder?:confused:

Gruss
Heiko

mdkuser
22.03.04, 16:50
nein, du schreibst das alles in eine normale textdatei und die machst du dann ausführbar.
schau dir doch mal mein sample-script an.
es gibt nur eine iptables, nur legt man da mehrere regeln an. die suse-firewall basiert auf iptables, stellt nur ein fronend dafür zur verfügung. besser ist aber sich ein script zu schreiben, weil man dann die regeln individueller festlegen kann.

Wichtig: script-dateien für die bash müssen immer so beginnen:

#!/bin/sh

kleiner Pinguin
28.03.04, 13:12
Hi mgkuser,

Erstmal vielen Dank für Deine Hilfe.

Ich habe eine Lösung gefunden mit der ich mein Ziel erreiche aber ich bin damit nicht wirklich zufrieden.
Ich habe zu der neuen Fragestellung ein neues Thema aufgemacht.Hier geht's weiter! (http://www.linuxforen.de/forums/showthread.php?s=&threadid=129959)

Gruss
Heiko