www.ProFTPD.de
13. März 2007, 21:04:20 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: SMF - Neu installiert!
 
   Übersicht   Hilfe Suche Login Registrieren  
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: Transfer Rate  (Gelesen 406 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
digidax
ProFTPD
*
Offline Offline

Beiträge: 9


Profil anzeigen
« am: 10. August 2006, 13:19:37 »

Hallo,

Der auf dem ProFTPd laufende Server ist via LAN (eth1) mit dem Client (win32) verbunden. Download ca. 3000 k/sec, Upload nur 128 k/sec.
In der proftpd.conf ist kein "TansferRate" gesetzt, die User Authentifizierung erfolgt über MySQL.

Wo ist der Flaschenhals?

vlg
Frank
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #1 am: 10. August 2006, 13:23:42 »

win32.

...

Nein, (böser) Scherz beiseite: dies läßt darauf schließen, daß Deine Netzwerkkonfiguration
nicht 100%ig ist. Aber Du kannst eines versuchen: füge Deiner proftpd.conf folgendes hinzu:

UseReverseDNS off
IdentLookups off

Vielleicht bringt das den erwünschten Erfolg.

mfg.
  VolGas
Gespeichert
digidax
ProFTPD
*
Offline Offline

Beiträge: 9


Profil anzeigen
« Antwort #2 am: 10. August 2006, 13:50:21 »

Hallo VolGas,

hab ich schon versucht, bringt leider auch nix. Netzwerk ist mit DNS soweit sauber konfiguriert, da sich auch der MTA die DNS Informationen holt und der ist sehr DNS verwöhnt. Was könnte noch sein?

vlg
Frank
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #3 am: 10. August 2006, 14:13:32 »

Es gibt noch die Möglichkeit den ProFTPD etwas zu tunen.
Dazu muß man ihn allerdings neu compilieren - ob sich das allerdings im
Up/Download so deutlich bemerkbar macht, muß man ausprobieren.

Da währen die configure-Optionen "--enable-sendfile" und "--enable-buffer-size=8092"
Siehe z.B. ->hier (vorletzter Absatz) oder auf der Original-ProFTPD-Site.

mfg.
  VolGas
Gespeichert
digidax
ProFTPD
*
Offline Offline

Beiträge: 9


Profil anzeigen
« Antwort #4 am: 10. August 2006, 16:58:39 »

Jo, danke für die Info, das wäre noch eine Möglichkeit.
Was mich nur stutzig macht: warum gibt es diese Unterschiede bei Up- und Download?
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #5 am: 10. August 2006, 17:27:34 »

Ehrlich gesagt: keine Ahnung.
Dazu müßte man die aktuelle Konfiguration(en) schon genauer kennen und testen.

Unsere Server würden -wenn wir sie nur ließen- die volle Netzwerkbandbreite verbrauchen.
Damit uns aber nicht jemand den ganzen Server per FTP wegziehen kann, haben wir
das mit "TransferRate" limitiert. Der ProFTPD wäre also schnell genug, vielleicht
muß man wirklich in die Optimierung...

mfg.
  VolGas
Gespeichert
digidax
ProFTPD
*
Offline Offline

Beiträge: 9


Profil anzeigen
« Antwort #6 am: 10. August 2006, 17:36:18 »

Ist bei Euch die Transferrate für Up- und download gleich groß? Auf wieviel habe ihr begrenzt? Unser FTP Server hat 2 Netzwerkkarten, eine fürs DSL, die andere ist direkt mit dem Playout PC verbunden. DSL begrenzt automatisch, zum Playout PC ist PeerToPeer, damit keine Netzwerkprobleme wegen 100% Bandbreite Ausnutzung.
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #7 am: 10. August 2006, 17:49:00 »

Ich glaube, da haben wir das Problem: ich meine, irgendwo hier im Forum einmal
gelesen zu haben, daß mit zwei Netzwerkkarten ein Problem auftreten kann.

Füge einmal Deiner proftpd.conf "Defaultserver on" hinzu.
Zusätzlich kann: "UseReverseDNS off" und "IdentLookups off" nur positiv sein.

Ich nehme einmal an, daß in der proftpd.conf kein Binding auf eine spezielle IP (und damit
an die Netzwerkkarte) vorgenommen wurde. Vielleicht ist auch das die Lösung - das solltest
Du unbedingt probieren.

mfg.
  VolGas
Gespeichert
digidax
ProFTPD
*
Offline Offline

Beiträge: 9


Profil anzeigen
« Antwort #8 am: 10. August 2006, 18:39:48 »

Es ist auch ziemlich frech von mir, die proftpd.conf nicht zu posten. Hier ist sie erst einmal:

Code:
ServerName "ABC"
DefaultServer on

Port 21

Umask 022

MaxInstances 30

User ftp
Group ftp

AllowOverwrite on

<Limit SITE_CHMOD>
  AllowAll
</Limit>

<Global>
TransferLog /var/log/ftp_access
</Global>

UseReverseDNS off
IdentLookups off

SQLAuthTypes Plaintext
SQLAuthenticate users*
SQLConnectInfo ********************
SQLDefaultGID 65534
SQLDefaultUID 65534
SQLMinUserGID  100
SQLMinUserUID 500
SQLUserInfo ftp username password uid gid homedir shell
RequireValidShell off

DefaultRoot ~
IdentLookups off
UseReverseDNS off

<IfModule mod_auth_pam.c>

AuthPAM off

</IfModule>

UseGlobbing off

Den Deafult Server habe ich "on" gehabt. Ich brauche ja einen FTP Dienst auf zwei Netzwerkadressen. Kann man alternativ den Proftpd zwei mal starten, also auch mit je zwei conf. Files immer einer Netzwerkadresse zugeordnet?

vlg Frank
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #9 am: 10. August 2006, 19:04:34 »

Den proftpd braucht man i.d.R. nicht zwei mal zu starten, man kann normalerweise alles
in einer proftpd.conf definieren.

Nun muß ich eine Frage stellen, vor der ich schon fast Angst habe: ist die Server-Maschine
hinter einem Router mit NAT - sprich: hat die Maschine eine dynamische oder eine feste IP
vom Internet aus?

Bei einer dynamischen IP hast Du echt Schwierigkeiten: nicht wegen dem proftpd, sondern
generell systembedingt. Da hätten wir dann die Fehlkonfiguration.

Was mir an Deiner .conf aufgefallen ist: wenn Du mit "SQLUserInfo" die beiden Felder "uid"
und "gid" definierst, verbietet sich eigentlich der Einsatz von "SQLDefaultUID" und "SQLDefaultGID".
Bei Datenfeldern, die Du nicht brauchst oder die immer wieder gleich sind, kannst Du bei
"SQLUserInfo" dann auch jeweils "NULL" angeben - so z.B. bei "shell".

mfg.
  VolGas
Gespeichert
digidax
ProFTPD
*
Offline Offline

Beiträge: 9


Profil anzeigen
« Antwort #10 am: 10. August 2006, 19:17:06 »

Der Server hat auf eth1 ein feste IP, auf eth0 eine per DHCP statische zugewiesene (vom Router).
Nun dämmert es mir mit Deiner Andeutung. Der Router muß nicht zwingend per DHCP Adressen verteilen, Ich kann auch ein Netzwerk definieren und dem Server eine Statische zuweisen.
Das würde wohl mein Problem lösen? Gibt es einen Ansatz für die Konfiguration mit zwei Netzwerkadressen?

vlg
Frank
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #11 am: 13. August 2006, 17:21:20 »

Sorry, meine Antwort hat nun etwas gedauert, aber Dein Problem ist nicht ganz
trivial und mit einer kurzen Antwort zu erledigen. So hatte ich auch Zeit zum
nachdenken.

Für dynamische IP's gibt es eine (Teil-)Lösung, siehe ->MasqueradeAddress

Wie dort schon beschrieben, läßt Du am besten Deinen ProFTPD nicht mehr als
"standalone", sondern unter dem inetd (besser: xinetd) laufen. Jeder einiger-
maßen aktuelle Router bietet heutzutage die Möglichkeit, sich automatisch bei
z.B. dyndns.org für eine Subdomain einzutragen - das solltest Du nutzen.

Da durch "MasqueradeAddress" aber über das lokale Netzwerk keine
passiven Transfers mehr funktionieren, muß man die Direktive "regulieren".
Dies kann man mit Klassifizierungen erreichen. (->mini-HOWTO Classes)

Vorausgesetzt, Du hast ->mod_ifsession mit in den ProFTP compiliert,
könntest Du z.B. folgendes versuchen:
  <Class external>
    From !192.168.0.0/16
  </Class>

  <IfClass external>
    MasqueradeAddress xyz.dyndns.org
  </IfClass>
Rein theoretisch könnte das funktionieren - sofern der Betrieb unter (x)inetd
dies nicht vielleicht noch verhindert. Ich drücke Dir die Daumen und bitte um
Rückmeldung...

mfg.
  VolGas
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #12 am: 13. August 2006, 18:09:33 »

Ich bin auf Deine letzten Fragen nicht eingegangen, da ich mein letztes Posting
"offline" verfasst habe und erst danach Dein Posting gesehen habe.

Natürlich kann man -sogar recht bequem- den ProFTPD für unterschiedliche IP's
und/oder Ports konfigurieren. Alles in der proftpd.con und mit einer Serverinstanz.
Aber bei einem Server sind dynamsche IP's eine recht kniffelige Sache -
und erst recht, wenn die IP mit in das Kommunikationsprotokoll eingebunden
werden muß.

Dabei bringt es überhaupt gar nichts, wenn Du dem Server netzintern eine weitere,
feste IP zuweist: die externe IP, unter der der ProFTPD erreicht werden soll, ist
maßgeblich, da diese - wie schon erwähnt- in das FTP-Protokoll "eingebaut" wird.
Das ist bei einem MTA nicht der Fall, für den gelten ganz andere Vorraussetzungen
und "Gesetze".

Man hätte auch eine Lösung ohne (x)inetd finden können, das wäre einfacher und
sogar mit weniger Aufwand machbar gewesen. Aber was, wenn die IP sich ändert?
Da bleibt nur, den Server neu zu starten - oder eben gleich einen TCP-Wrapper
bzw. den Internetdaemon zu benutzen. Das ist die zuverlässigere Methode.

Meine Meinung zu Servern im allgemeinen, ganz unabhängig von Deiner Person:
Ein Server ist ein "statisches Gebilde" und benötigt ein entsprechendes Umfeld
und eine feste IP. Er gehört ganz bestimmt nicht hinter einen heimischen
DSL-Anschluß oder gar auf eine Maschine, vor der vielleicht noch jemand sitzt.

Deine Lösung mit zwei Netzwerkkarten könnte ich mir gut in einer Firma vorstellen,
die einen einzelnen, dedizierten(!) Rechner als Internet-Gateway mit eingebauter
Firewallfunktionalität und evtl. einigen, nach außen unkritschen, Netzwerkdiensten
nutzt.

mfg.
  VolGas
Gespeichert
digidax
ProFTPD
*
Offline Offline

Beiträge: 9


Profil anzeigen
« Antwort #13 am: 14. August 2006, 07:44:55 »

Hallo VolGas,

Von der Architektur haben wir bei uns einen SDSL Anschlus mit 2 MBit (Up&Down)  und einen normalen ADSL Anschluß. Über ADSL surfen wir und die Telefonanlage hängt mit dem VoIO darauf. Der SDSL Router hat eine feste IP die im Internet auch geroutet wird und für diese IP gibt es auch diverse DNS Einträge für FTP, MX, WWW. Der Router verfügt über DMZ und IDS sowie VPN und andere Spielereien. Für die einzelnen Dienste auf der lokalen Seite vergibt der DHCP dynamisch statisch die IP Adressen für den dedizierten FTP Server, WWW Server, MX und Proxy. Dynamisch statisch bedeutet dabei, daß die IP immer wieder der selben MAC Adresse zugeordnet wird. Warum wir das damals gemacht haben - ich weiß es nicht. Ich werde diese Woche im SDSL Router ein Lokales Netzwerk definieren und den Servern eine IP in diesem Netzwerk zuweisen. Da jeder Server nur auf einem Port lauscht, kann ich ja dann abhängig von der Portansprache extern die Ziel-IP für den Dienst in lokalen Netz zuweisen. Dadurch müßte eigentlich das Problem gelöst sein. Ich werde Dich natürlich über das Ergebnis informieren.

vlg
Frank
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #14 am: 14. August 2006, 10:49:26 »

So ähnlich hatte ich mir das schon gedacht (letzter Absatz).

Wenn der FTP-Server ein lokales Netz hat, aber nach extern eine feste IP, dann
ist es ja kein Problem mit "MasqueradeAddress" dem ProFPTD die IP mitzuteilen.
Achtung: bei einer Firewall dazwischen mußt Du eine "Bresche" für die sog.
High-Ports schlagen und ProFTPD diese via "PassivePorts xxx yyy" mitteilen.

Die Konfiguration ohne (x)inetd ist dann auch einfacher und nur die proftpd.conf ist
anzupassen. Mein Tipp: fasse alle möglichen Direktiven zusammen in einen
<Global>...</Global>-Block (Kontext beachten!) und definiere dann für extern
den Rest zusammen in einem "VirtualHost".

Deine proftpd.conf hier einmal umgeschrieben und erweitert:
   ServerType  standalone
   PidFile     /var/run/proftpd.pid
   
   MaxInstances        30
   Port                21
   SocketBindTight     on
   DefaultServer       on
   
   UseReverseDNS       off
   MultilineRFC2228    on
   
   <Global>
      User                ftp
      Group               ftp
      
      IdentLookups        off
      
      AuthOrder           mod_sql.c
      
      SQLConnectInfo      ********************
      SQLUserInfo         ftp username password NULL NULL homedir NULL
      SQLAuthTypes        Plaintext
      SQLAuthenticate     users
      SQLMinUserGID       100
      SQLMinUserUID       500
      SQLDefaultGID       65534
      SQLDefaultUID       65534
      SQLNegativeCache    on
      
      RequireValidShell   off
      
      DefaultRoot         ~
      Umask               022
      
      DenyFilter          \*.*/
      ListOptions         "-A +R"
      UseGlobbing         off
      TimesGMT            on
      
      AllowOverwrite      on
      
      TransferLog         /var/log/ftp_access
   </Global>
   
   
   # --------------------------------------------
   # Standard-Server (lokal)
   # --------------------------------------------
   
   DefaultAddress      192.168.xxx.yyy
   ServerName          "ABC"
   ServerAdmin         hostmaster@abc.de
   
   
   # --------------------------------------------
   # Virtueller Host (extern)
   # --------------------------------------------
   
   <VirtualHost 192.168.xxx.zzz>
      ServerName          "ABC"
      ServerAdmin         hostmaster@abc.de
      
      MasqueradeAddress   abc.de
   </VirtualHost>
Das Ganze natürlich ohne Gewähr!

Ich denke, damit kommst Du klar - wenn nicht...   Zwinkernd

Viel Erfolg!

mfg.
  VolGas
Gespeichert
Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS
Seite erstellt in 0.071 Sekunden mit 16 Zugriffen.