Just nu i M3-nätverket
Jump to content

Problem med utgående FTP bakom WLAN-router


Tobias Tuleby

Recommended Posts

Tobias Tuleby

Hej!

 

Jag har ett hemmanätverk med WGR614(v6) Trådlös router kopplad till Internet (Kabelmodem, ComHem Bredband 8Mpbs)

 

Jag har 20-30 olika FTP-servrar som jag kan komma åt och använder. 2 av dem kan jag dock inte komma åt när jag sitter bakom routern! Alltså, om jag kopplar in min dator direkt i kabelmodemet så funkar det att komma in på FTP-servern, men om jag kopplar WLAN-routern till kabelmodemet och försöker komma åt FTP-servern så kommer jag inte in. På alla andra FTP-servrar jag har tillgång till är det inga problem.

 

Jag använder CuteFTP Professional 6.0, men jag har även provat FTP via Kommandotolken och SmartFTP. Har provat både PASV och PORT inställningarna i CuteFTP

 

Jag har lagt ut 2 dumpar på hur det ser ut när det lyckas och misslyckas:

http://www.foedus.se/ftp_success.jpg

http://www.foedus.se/ftp_failed.jpg

 

För det första känns som det skickas på tok för många kommandon, men vad gäller skillnader dem emellan är det enda jag kan se de sista raderna...

 

PORT 192,168,1,3,5,249 (i det misslyckade försöket)

PORT 192,168,0,104,206 (i det lyckade försöket)

 

IP på min dator är 192.168.1.3, och Routern har 192.168.1.1

 

En bifråga är, vad gör PORT?

 

Men huvudfrågan, hur 17 gör jag för att komma in på FTP:erna när jag sitter bakom routern? Det kan tilläggas att jag suttit på ett annat nätverk, där jag iofs inte vet om jag satt bakom router eller switch, men där funkade det.

 

Tack

 

Link to comment
Share on other sites

Jag skulle tro att antingen stödjer de FTP servrarna inte PASV mode (som används när du ligger bakom en firewall/router) eller så ligger de också bakom en firewall/router med bara en port öppen.

 

FTP använder sig av default icke-passivt läge, vilket betyder att för filöverföring så skickar din klient först typ: "GET filnamn" till ftp:ns "kommandotolk" på port 21 och sedan säger din klient typ PORT <ipaddress,port> vilket betyder "Hej, kan du skickat data till min dator på porten <port>" (själva datat går aldrig på port 21, utan bara kommandona)

 

Tyvärr fungerar ju inte detta när du har en brandvägg/router, eftersom den porten inte kan öppnas synligt för ftp-servern utifrån. (brandväggar/routrar släpper generellt trafik inifrån-ut, men inte generellt utifrån-in)

 

Det PASV läget gör är att istället för att klienten säger "hej skicka datat på min port" så säger klienten "Hej, jag kan inte ta emot data på det sättet, kan du öppna en port på din dator istället så vi kan överföra?"

 

Problemet med det här är att om ingen av er stödjer att öppna trafik utifrån-in eller om PASV helt enkelt inte stödjs i FTP-servern, så kan ingen av er kommunicera med varandra.

 

 

Link to comment
Share on other sites

Tobias Tuleby

Ahaaaaa.. tack för detta pedagogiska svar

 

Men kan jag inte öppna några portar i min router för ingående trafik då? Eller konfigurera port-forwardning eller ngt?

Hur? Vilka portar?

 

 

/Tobias

 

Link to comment
Share on other sites

Problemet är att FTP klienter (cuteftp osv) brukar använda randomiserade portar. Jag vet inte om det går att ställa in en port-range som den ska användai ditt program men om du kan det så kan du forwarda dessa portar i routern och då borde det fungera i PORT läge.

 

(Ändring: Tydligen kan man sätta port-range i CuteFTP 7 Professional, men inte de 'mindre' versionerna)

[inlägget ändrat 2006-01-24 11:46:05 av ApaKaka]

Link to comment
Share on other sites

Tobias Tuleby

OK... då är jag lite klokare iaf..

Ska googla lite, känns som jag inte bör vara den enda som råkat ut för detta.

 

Tack.

 

 

 

Link to comment
Share on other sites

Nej FTP kommandon går över port 21, men inte själva filkopplen där överföringen sker. De går över andra portar.

 

Link to comment
Share on other sites

Tobias Tuleby

Har kollat runt lite nu och förstår delvis problematiken... egentligen är det ju servern eller dess brandvägg som är lite taskigt konfigurerarad, menmen..

 

Läste på http://www.linklabs.net/network/ftp/

 

2 vanliga problem med PORT.

1. Eftersom klienten öppnar en random port så gäller det att klientens Firewall förstår FTP-protokollet och kan läsa att den nya random porten är OK. Ibland så är FTP-serverns PORT något annant än 21, då kan Firewallen hos klienten missa att läsa FTP-protokollet eftersom den räknar med att man kör FTP mot PORT 21. Effekten blir att listningar och överföringar inte fungerar

 

2. Om du sitter bakom en router som NAT'ar och inte förstår FTP-protokollet (i princip alla vanliga hemmaroutrar) så blir det samma effekt som ovan. Klientdatorn har öppnat en random PORT för dataöverföring, men routern vet inte om detta och kan inte vidarebefodra datatrafiken från servern.

 

Kommandon: Klient 1024-65536 -> Server 21

Data: Klient 1024-65536 <- Server 20

 

I mitt fall är det ju 2. då.. min "vanliga hemmarouter" förstår inte.. vilket förklarar att det funkade när jag satt på ett annat kontor, som då uppenbarligen hade en mer avancerad router.

 

Jag provade att i min Router öppna för port-forwarding på 1024-65536 till min IP, och stängde av Windows brandvägg helt, men det hjälpte inte...

 

Får väl helt enkelt koppla in mig direkt på modemet då jag behöver FTP.a dessa servrar (ett jka meck ju), eller spara pengar till en bättre router.. ;)

 

Ska prova Cute FTP Pro 7 också innan jag ger upp

 

Link to comment
Share on other sites

Jo, dock tycker jag det låter konstigt att du inte kunde köra när du port-forwardade 1024-65536 (detta är ju typ alla portar som finns?).

 

Säker på att du inte körde PASV eller att ip:t som routerns forward inte pekade på det du hade på den datorn? (192.168.x.x)

 

 

[inlägget ändrat 2006-01-24 16:06:21 av ApaKaka]

Link to comment
Share on other sites

Tobias Tuleby

Ah jag tycker också det borde funkat då.. :-/

 

Nä det var allt rätt inställt, testade 2 ggr.

 

Cute FTP 7 hade lite spännande inställningsmöjligheter:..

 

"Enable port mapping using UPnP"

Jag provade att kryssa i, det hjälpte inte, men jag fick ett annat felmeddelande och det hände lite saker, som servern inte stödde

 

 

PWD skipped. Current folder: "/PAUSE Annonser".
STATUS:>  	Trying to apply port mapping using NAT UPnP.
ERROR:>   	Failed to create StaticPortMappingCollection object.
ERROR:>   	Cannot apply NAT port mapping.
ERROR:>   	Failed to establish data socket.

 

 

Sedan fanns det "Assign PORT mode IP adress and port range"

Där provade jag min lokala IP och portar från 0-65535, men det hjälpte inte heller..

 

 

 

Link to comment
Share on other sites

Prova att öppna en lite mindre range på routern, typ 30100 till 30200 och skriv sedan in routerns ip (www.whatismyip.com) på IP-address and PORT i CuteFTP 7.

 

 

Link to comment
Share on other sites

Tobias Tuleby

Tjena..

 

.. fick liknande tips av en polare här ikväll och har testat nu. Se bifogad bild för inställningarna.

 

Tyävrr funkar det inte nu heller...

 

[log]

*** CuteFTP 7.0 - build Jun 7 2005 ***

 

STATUS:> Getting listing "PAUSE Annonser"...

STATUS:> Connecting to FTP server 213.115.33.164:21 (ip = 213.115.33.164)...

STATUS:> Socket connected. Waiting for welcome message...

220-FileZilla Server version 0.9.10 beta

220 Welcome to Lejonmedia FTP server

STATUS:> Connected. Authenticating...

COMMAND:> USER lejonmedia

331 Password required for lejonmedia

COMMAND:> PASS *****

230 Logged on

STATUS:> Login successful.

COMMAND:> PWD

257 "/" is current directory.

STATUS:> Home directory: /

COMMAND:> FEAT

211-Features:

MDTM

REST STREAM

SIZE

MLST type*;size*;modify*;

211 End

STATUS:> This site supports features.

STATUS:> This site supports SIZE.

STATUS:> This site can resume broken downloads.

COMMAND:> REST 0

350 Rest supported. Restarting at 0

COMMAND:> CWD /PAUSE Annonser

250 CWD successful. "/PAUSE Annonser" is current directory.

STATUS:> PWD skipped. Current folder: "/PAUSE Annonser".

COMMAND:> PASV

227 Entering Passive Mode (213,115,33,164,14,58).

COMMAND:> LIST

STATUS:> Connecting FTP data socket 213.115.33.164:3642...

ERROR:> The connection failed due to an error or timeout.

1) Verify that the destination IP address is correct.

2) Increase the connection timeout threshold under Global Settings | Connection.

3) Switch to the opposite data connection type (PASV or PORT) under Site Settings | Type tab.

4) Verify that the problem is not local by trying to connect to an alternate server.

5) If a server name was used, verify it resolves to the correct address.

6) If using a local server table for server name resolution, check to see that it doesn't resolve to an obsolete address.

7) Try pinging the address.

8) If you are using a router, verify the router is up and running (check by pinging it and then ping an address outside of the router).

9) Do a traceroute to the destination to verify all routers along the connection path are operational.

10) Verify that your subnet mask is setup properly.

11) Verify that your local software or hardware firewall is not blocking outbound connections originating from CuteFTP.

12) Verify that your anti-virus software is not at fault (try disabling it).

ERROR:> PASV failed, trying PORT.

STATUS:> Waiting 0 seconds...

STATUS:> Getting listing "/PAUSE Annonser"...

STATUS:> Connecting to FTP server 213.115.33.164:21 (ip = 213.115.33.164)...

STATUS:> Socket connected. Waiting for welcome message...

220-FileZilla Server version 0.9.10 beta

220 Welcome to Lejonmedia FTP server

STATUS:> Connected. Authenticating...

COMMAND:> USER lejonmedia

331 Password required for lejonmedia

COMMAND:> PASS *****

230 Logged on

STATUS:> Login successful.

COMMAND:> PWD

257 "/" is current directory.

STATUS:> Home directory: /

STATUS:> This site supports features.

STATUS:> This site supports SIZE.

STATUS:> This site can resume broken downloads.

COMMAND:> REST 0

350 Rest supported. Restarting at 0

COMMAND:> CWD /PAUSE Annonser

250 CWD successful. "/PAUSE Annonser" is current directory.

STATUS:> PWD skipped. Current folder: "/PAUSE Annonser".

COMMAND:> PORT 83,248,110,243,11,187

200 Port command successful

COMMAND:> LIST

150 Opening data channel for directory list.

ERROR:> Timeout (30000 ms) occurred on accepting data connection from server.

425 Can't open data connection.

ERROR:> Trashed response received.

[/log]

 

[bild bifogad 2006-01-25 00:04:49 av Tobias Tuleby]

[inlägget ändrat 2006-01-25 00:05:38 av Tobias Tuleby]

798115_thumb.jpg

Link to comment
Share on other sites

Tobias Tuleby

JAAAAAAAAAAA!!! :):thumbsup::thumbsup::thumbsup:

 

Nu funkar det..... :)

 

Man måste portforwarda enligt ovan på ett intervall av portar + konfigga sin externa IP, men även använda EPRT! I Cute FTP Pro 6 fanns bara PASV och PORT, men i Cute FTP Pro 7 finns även EPRT och EPSV...

 

Tack för all hjälp :)

 

[inlägget ändrat 2006-01-25 00:20:31 av Tobias Tuleby]

Link to comment
Share on other sites

Jag är lite novis på detta område men varför kan jag köra ftp, både med Total Commander och smartFTP, både i passive mode och active mode utan att trassla med portar?

 

Jag vet att i routern finns det en inställning - "special applications" - och där har jag bockat för FTP.

 

Routern är en D-Link DGL-4300.

 

Link to comment
Share on other sites

Tobias Tuleby

Jag har ett 30-tal andra FTP-servrar som det går utmärkt att komma åt med vilket FTP-program som helst, med både passiv och aktiv överföring.

 

Men det är just denna FTP-server (och en till) som jag haft problem med, och som kräver denna typ av konfiguration.

Anledningen är troligen dåligt konfigurerat nätverk/brandvägg/server på deras sida, men det förekommer ju trots allt...

 

Sen så verkar det som det finns mer avancerade routrar/switchar som hanterar NAT/FTP på ett bättre sätt, och då får man förhoppningsvis inte dessa problem.

 

Link to comment
Share on other sites

Skulle ju vara kul att testa om denna "magiska" inställning gör nån skillnad. Innan jag bockade för den hade jag problem, de problemen försvann när jag bockade för den. Det är allt jag vet....

 

Link to comment
Share on other sites

Ja det din router gör är att den 'känner igen' paket som kommer från en FTP och därmed öppnar portar åt dig automatiskt. Ungefär som UPnP, fast helt i routerns programvara.

 

Det kallas packet inspection och är en rätt enkel teknologi. Den inspekterar varje paket efter ett mönster och avgör då vilket protokoll det är. Om det är ett som du har valt speciella inställningar för (t ex i det här fallet "special applications") så har den förvalda regler för hur den ska hantera det och öppnar portarna som krävs.

 

 

 

Link to comment
Share on other sites

Tack för förklaringen! Poäng för det!

 

Det känns som ett säkrare sätt än att använda UPnP då eftersom det inte styrs utifrån (annat än genom trafiken)?

 

Fast iofs, då kan ju något annat program låtsas vara ett FTP-program, skicka lite FTP-trafik till sin "hemmaserver" och i och med det öppna en port?

 

Link to comment
Share on other sites

Ja, i både fallet paketinspektion och UPnP kan program göra detta.

 

Skillnaden är bara att din dator säger åt en UPnP enablad router att öppna en port och i andra fallet routern själv öppnar en port.

 

Tyvärr är det så att när elaka program (oavsett om UPnP eller paketinspektion är påslaget) väl har tagit sig in till din dator kan man inte göra mycket för att skydda sig så länge man har en internetuppkoppling.

 

Det enda som skyddar då är att man har en brandvägg som på applikationsnivå (typ ZoneAlarm) kollar ALLA program som vill ansluta sig både utåt och inåt och låter väljaren göra ett val.

 

(Dock kan ju även användaren luras att tillåta det om de inte är på hugget)

 

Säkerhet är svårt att få till! :)

 

Själv föredrar jag lösningar där jag själv styr vilka portar jag öppnar och inte och sen får programmen rätta sig efter det. Kan de inte konfigureras till det så åker de i soptunnan direkt.

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...