31. marts 2003 - 11:44Der er
19 kommentarer og 1 løsning
proftp downloader langsomt
Hejsa Her i weekenden fik jeg endeligt en proftp server til at virke på en Mandrake 9.0 box. Maskinen står bag en trendnet router, hvor der er åbnet for port 21.
Problemet er at det går svine langsomt ud af huset. Jeg prøvede at overføre filer internt på netværket og havde hastigheder på ca. 1 MB i sek.
Når jeg prøver udefra (jeg bruger begrænset adgang vha. brugernavn og ipadresser) så ligger hastigheden ca. på 141 Kbps. Det er jo ikke den fede hastighed at overføre store datamængder med :)
Nogen der har en ide om hvad det kan skyldes?? Jeg har ikke ret meget fancy i min proftp.conf. Vistnok kun lige det nødvendige. Jeg har set en løsning på http://www.linuxplanet.dk engang, hvor der var indsat en masse om at man ikke skulle lave reverse checking og sådan noget for at spare tid. Kan det være det der er galt??
Hvis jeg nu ovenikøbet havde en firewall til at køre på min linux box, ville den vel også have noget at skulle have sagt. Jeg brugte mandrakes menuopsætnings system, men der valgte jeg at der skulle være adgang for ftp! Men i princippet kunne det vel godt være det der var galt?
De portnumre den connecter til (33958) på det interne netværk har jeg bemærket at den forøger hver gang man vil udføre en ftp kommando. Har det noget at sige?
Jeg går ud fra at det er noget der skal skrives i proftpd.conf. Hvis du kunne skrive hvad det helt præcist er der skal skrives, ville det spare mig for en masse tid, med selv at skulle finde kommandoen :)
Jeg har nu haft prøvet at tilføje passiveports jvf. http://proftpd.org userguide om Nat da jeg sidder bag ved en router. Jeg har også bedt routeren om at sende alt trafik på port 60000-65535 til min ftpserver (192.168.1.3 på LAN). Linien jeg skrev ind var: PassivePorts 60000 65535
Men ovf. hastigheder er stadigvæk omkring 150 kbit/sek!!! Ingen der ved hvad man kan gøre?? Det er givetvist et spørgsmål om at få routeren og ftpserveren til at arbejde sammen eller hvad?
Det er altid en fordel at bruge pasiv ftp. Tilføj: MasqueradeAddress din_public_ip til din proftpd.conf! Ellers tror ftp klienten at den skal sende svaret til 192.168.1.3!
<snip> connecting to 192.168.1.3:33958 ! Connection failed 192.168.1.3 - connection timed out ! connect: error 0 </snip>
Men det burde ikke have så meget med hastigheden at gøre.. Det er ikke alle routere der kan finde klare pasiv ftp. Derfor skal du natte alle porte fra 60000-65535 til 192.168.1.3...
Er det ikke det jeg gjort, hvis jeg har bedt min router om at omdirigere alt trafik der kommer ind til den over de porte(60000-65535) videre til maskinen på 192.168.1.3?? For det har jeg altså prøvet. Men jeg har ikke prøvet det med masquerading... Jeg har p.t. dyn. ipadresse. Det bliver vel et problem hvis min ipadresse ændrer sig?? Så skal jeg vel ind og rette i proftpd.conf hver gang jeg får en ny global ipadresse? For jeg kan vel ikke bare nøjes med at give den routerens IP adresse??
Hvis din router kan agere ftp proxy er det ikke nødvendigt. Men det kan de fleste dog ikke, og det faktum at du har en dynamisk tildelt public ip gør det hele lidt mere besværligt. Hvorfor får du ikke et navn ved gratis dns, eller en ligende service? Så tilføjer du bare MasquradeAddress svend_bent.gratisdns.dk . Det vil virke.
Min router kan ikke agere ftp proxy. Jeg har allerede et navn ved dyndns.dk. Og jeg har prøvet at sætte det ind. Men jeg mangler lige at komme et sted hen at teste det... Jeg fik det prøvet af da det var med min IP adresse og da så det ud til at gå okay hurtigt.
Nu var der lige en af mine kammerater der skulle prøve og han påstod han blev smidt af serveren. Jeg ved ikke lige hvordan det kan være?? Jeg havde tilføjet hans IP til listen over IP adresse der må opnå adgang. Men jeg tror nok det virker! Jeg vil lige teste det igennem her henover påsken.
Her hen over påske har jeg haft prøvet det lidt af: Hvis jeg indsætter MasqueradeAddress a.b.c.d (ipnummer) så ser det ud til at virke fint! Hvis jeg derimod bruger MasqueradeAddress Mitegetnavn.dyndns.dk så er det status quo. Så går det langsomt igen!!
Og det kan jeg ærligt talt ikke forstå!! For mitegetnavn.dyndns.dk burde vel egenligt bare være et synonym for min ipadresse. Jeg har tilføjet et cronscript der gerne skulle sørge for automatisk en gang i døgnet at opdatere dyndns serveren med den aktuelle ipadresse. Så jeg tror ikke det er derfor.
Jeg prøver lige selv at connecte rigtigt udefra i morgen og så må vi se om det bliver bedre. Ellers er jeg bange for at det er løsningen med at indsætte IP adressen efterhånden som den skifter...
Jeg tror jeg har problemets kerne nu: Hvis der står min globale ip adresse i proftpd.conf så virker det fint fint med hastigheder lige omkring de 12.5 KB/s, hvor max er 16 KB/s så det er fint.
Hvis jeg derimod bruger mit dns navn hos dyndns, så går det lige så langsomt som hvis jeg ikke brugte MasqueradeAddress!!! Jeg tror det er fordi den pc, som serveren kører på, hedder det samme som det navn jeg har hos dyndns.Så når jeg beder proftpd.conf om at udgive sig for at være mit dyndns.dk navn tror den bare at den skal agere den pc, som den står og kører på, fordi de 2 navne "tilfældigvis" er ens!!
Nogen der ved hvordan man nemt kan løse det her uden at skulle til at ændre navnet på pc'en og dermed potentielt smadre en hel linux opsætning? Jeg har nemlig prøvet før at alting gik i ged, da jeg ændrede hostnavnet, men da vidste jeg selvfølgelig heller ikke alt det som jeg ved nu :)
Fuzzy82>> Hvis du lægger et svar skal du få som fortjent :). Det ser ikke ud til der er nogen nem løsning på problemet med ip-adressen. Så må jeg bare huske at opdatere den, hver gang jeg får en ny. Min router sørger heldigvis for at holde fast i den, så det er faktisk kun når jeg selv har skiftet den at jeg har fået en ny...
Hmm.. Dette er blot et skud i tågen.. Måske noget DNS relateret? Mapping fra hostname -> IP? Prøv eventuelt at tilføje noget lignende nedenstående til /etc/hosts.. eks.:
Det du mener er at jeg skal skrive den Ip adresse, som jeg har globalt fra min ISP i min /etc/hosts fil??
Lige nu står maskinen som 192.168.1.3 lykke.dyndns.dk Fordi 192.168.1.3 er den IP adresse den får tildelt fra routeren. Hvis jeg nu bare slettede den linie i /etc/hosts og i min proftpd.conf fil skrev MasquradeAddress lykke.dyndns.dk så ville det virke??
Det virker!!! Så du kan også bare smide et svar blueprint, så vil jeg fordele pointene imellem jer. Jeg ved egenligt ikke hvorfor jeg har haft indsat den linie i /etc/hosts.....Mystisk!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.