happyandy
Goto Top

Squid als Proxy - FTP geht nicht mehr

Hiho... ich bins mal wieder...

uns ist vor kurzem unser Proxyserver abgeschmiert... nun habe ich im eilverfahren einen neuen aufgesetzt. Eine Suse Linux 10.3 Maschine mit einem squid Proxy....

wenn ich direkt in KDE den Proxy eintrage funktioniert auch alles soweit, nur beim Test sagt er mir, das FTP nicht funktioniert... Fehler 400

Problem ist, das ich hier in der Firma eine Software laufen habe, die jeden Abend daten mit einem Server austauscht... und das ganze per FTP... und das funktioniert nun nicht mehr... sollte es aber face-smile

der Port 21 ist bei unsere Firewall auch komplett dicht... daher soll dieser über den Proxy durch den Port 8080 getunnelt werden...

ich sitze nun seit 3 Tagen an dem Problem... und ich bin nun langsam mit meinem Latein am Ende! face-sad

Ach ja... auf dem Proxyserver läuft zudem ein Apache... vielleicht hat das ja damit was zu tun....


BITTE BITTE HIIIILFE! face-sad

Content-ID: 71776

Url: https://administrator.de/contentid/71776

Ausgedruckt am: 20.11.2024 um 10:11 Uhr

aqui
aqui 24.10.2007 um 14:10:24 Uhr
Goto Top
Hast du ggf. vergessen FTP passive zu aktivieren am Squid sofern du über eine NAT Firewall musst ??

http://www.squid-handbuch.de/hb/node33_ct.html#1945
HappyAndy
HappyAndy 24.10.2007 um 15:32:02 Uhr
Goto Top
Also ich werd das mal versuchen... vielleicht bringt es ja was....

ich hab da mal nen Test laufen lassen... da bekomme ich dann folgende Fehlermeldung:

  • About to connect() to proxy 172.29.29.30 port 8080 (#0)
  • Trying 172.29.29.30... connected
  • Connected to 172.29.29.30 (172.29.29.30) port 8080 (#0)
GET ftp://ftp.novell.com;type=i HTTP/1.1
User-Agent: curl/7.16.4 (i686-suse-linux-gnu) libcurl/7.16.4 OpenSSL/0.9.8e zlib/1.2.3 libidn/1.0
Host: ftp.novell.com:21
Pragma: no-cache
Accept: */*
Proxy-Connection: Keep-Alive

  • HTTP 1.0, assume close after body
< HTTP/1.0 400 Bad Request
< Server: squid/2.6.STABLE14
< Date: Wed, 24 Oct 2007 13:13:35 GMT
< Content-Type: text/html
< Content-Length: 1194
< Expires: Wed, 24 Oct 2007 13:13:35 GMT
< X-Squid-Error: ERR_INVALID_URL 0
< X-Cache: MISS from netgw.HOFMANN-DE
< X-Cache-Lookup: NONE from netgw.HOFMANN-DE:8080
< Via: 1.0 netgw.HOFMANN-DE:8080 (squid/2.6.STABLE14)
< Proxy-Connection: close
<
{ [data not shown]
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1194 100 1194 0 0 39613 0 --:--:-- --:--:-- --:--:-- 39613 100 1194 100 1194 0 0 38778 0 --:--:-- --:--:-- --:--:-- 0* Closing connection


Vielleicht kann ja damit jemand von euch was anfangen, und mir sagen was zu tun ist...
HappyAndy
HappyAndy 24.10.2007 um 16:09:16 Uhr
Goto Top
also das mit dem passiven hat leider auch nix gebracht face-sad
aqui
aqui 24.10.2007 um 17:39:58 Uhr
Goto Top
Sieht so aus als ob dort einer versucht HTTP mit einem FTP Server zu sprechen...das geht natürlich niemals !

Hast du im Browser in den Proxy Settings denn auch den FTP Server eingetragen mit dem entsprechenden Port ???
Aus dem Browser musst du dann natürlich eingeben ftp://ftp.novell.com
HappyAndy
HappyAndy 25.10.2007 um 09:05:20 Uhr
Goto Top
Mhhh naja... es soll wohl so sein, das FTP hier über das Protokoll 8080 getunnelt wird... und das hat wohl früher irgendwie funktioniert... sprich an unserer Firewall ist Port 21 zu... und der Squid soll also sobald jemand über Port 21 kommunizieren will das durch port 8080 leiten...

also das Problem besteht noch immer... face-sad
aqui
aqui 26.10.2007 um 13:52:07 Uhr
Goto Top
OK, dann muss ja mindestens der FTP Server auf der anderen Seite auf Port 8080 eingestellt sein und noch einen 2ten Port, denn wie du ja sicher selber weisst arbeitet FTP mit 2 Ports nämlich TCP 20 und TCP 21. Eins ist der Data Port eins der Command Port.

Der Squid muss dann auch auf Port 8080 eingestellt sein sonst klappt das natürlich niemals.
Das was du im Browser an Ports einstellst in den Proxy Settings ist lediglich die Port Beziehung zwischen HTTP/FTP Client und dem Squid Proxy selber.... NICHT aber zwischen Proxyserver und Ziel, denn das ist natürlich immer der native Port.
HappyAndy
HappyAndy 26.10.2007 um 15:43:37 Uhr
Goto Top
OK, dann muss ja mindestens der FTP Server
auf der anderen Seite auf Port 8080
eingestellt sein und noch einen 2ten Port,
denn wie du ja sicher selber weisst arbeitet
FTP mit 2 Ports nämlich TCP 20 und TCP
21. Eins ist der Data Port eins der Command
Port.


Mhhh meinst du dann damit, das der Zielserver also auch auf Port 8080 arbeiten muß!??


Der Squid muss dann auch auf Port 8080
eingestellt sein sonst klappt das
natürlich niemals.
Das was du im Browser an Ports einstellst in
den Proxy Settings ist lediglich die Port
Beziehung zwischen HTTP/FTP Client und dem
Squid Proxy selber.... NICHT aber zwischen
Proxyserver und Ziel, denn das ist
natürlich immer der native Port.


was meinst du denn mit native Port??


also was muß ich nun tun... momentan sind port 8080 und 3123 oder sowas beim squid als die Ports eingestellt, an denen er lauscht.

An unserer Firewall sind alle ports bis auf 8080 dicht soweit ich weiß

und der Zielserver hat den Port 21 frei, aber 8080 geblockt.
aqui
aqui 26.10.2007 um 21:05:23 Uhr
Goto Top
Nochmal... die nativen (ursprünglichen) TCP Ports von FTP sind TCP 20 und TCP 21 !
Der Proxy hat ja den Sinn das Clients ihn ansprechen und der Proxy dann die eigentliche Verbindung zum Zielsystem aufmachen. Bei Webtraffic (HTTP und HTTPS) sind das die Ports TCP 80 und 443 bei FTP natürlich die oben genannten.

Den Port den du am Client konfigurierst also 3128 (der klassiche Squid Port) oder 8080 ist der Zielport zwischen Client und Proxy !!!
Das ist ja genau der Sinn, denn würdest du den Proxy auf Port 80 ansprechen müsste ein Webserver oder sowas dadrauf antworten was da natürlich nicht ist, deshalb benutzt der Proxy Port 3128.
Also der Weg ist dann so:
Client Browser geht über Port TCP 3128 an den Proxy, der terminiert diese Session und macht von Sich aus dann eine Session auf dem richtigen Port 80 (wenns HTTP Web Traffic ist) zum Zielserver auf z.B. administrator.de.
Die Antwort terminiert der Proxy dann selber und leitet sie wieder auf 3128 an den Client weiter.

Du siehst an dieser Logik schon das es keinen Sinn macht den port bei normalen Servern auf andere als die Standardports zu legen, denn der Proxy und alle anderen könnten den dann nicht mehr erreichen.

Der andere Port wird NUR benutzt zwischen Client Browser und Proxy Server niemals aber zwischen Proxy und Zielsystem ! Das würde ja keinen Sinn machen !
HappyAndy
HappyAndy 12.11.2007 um 10:06:03 Uhr
Goto Top
Danke danke für die viele Hilfe... das Problem lag aber an anderer Stelle... man muß wissen, das wir hier 2 Internetzugänge nutzen, eine Standleitung und eine DSL Leitung. die Standleitung wird durch eine Firewall geschützt, auf der port 21 gesperrt war, bzw. ist... ich habe den Proxy über die DSL Leitung geroutet, und im Yast und in der squid.conf jeweils den entsprechenden Gateway eingetragen... dann ging es

aber danke für die mühen!!
aqui
aqui 12.11.2007 um 12:11:04 Uhr
Goto Top
Richtig, DAS hätte man wissen müssen face-wink Gut wenns jetzt klappt und dann bitte:
Wie kann ich einen Beitrag als gelöst markieren?
nicht vergessen !!