[fli4l] ftp und weitere Fragen nach DHCP-Umstellung

Christoph Schulz fli4l at kristov.de
Mo Jan 30 16:28:51 CET 2017


Hallo!

Martin schrieb:

> Hallo zusammen,
> 
> kann mit hier keiner mehr weiterhelfen?

Es wird schwierig, weil die Einstellungen bei allen anderen funktionieren.

Deshalb einige weitere Fragen:

1) Du schreibst "Es ist nicht mehr möglich auf ftp-Server im Aktiv-mode 
zuzugreifen". Mir ist nicht klar, was da genau nicht funktioniert. Kann 
schon die Kontrollverbindung nicht aufgebaut werden, über die man sich 
authentifiziert und Befehle abschickt? Oder funktioniert erst das Aufbauen 
der Datenverbindung (Befehle "ls", "get") nicht?

2) Du testest nur mit FileZilla. Kannst du bitte auch einen anderen FTP-
Client probieren, etwa einen möglichst einfachen, kommandozeilen-
basierenden? Hintergrund: "Elaborierte" FTP-Clients wie FileZilla oder 
WinSCP machen manchmal "komische Sachen", etwa das Aufbauen einer 
*separaten* Kontrollverbindung für jeden Download, wir müssen aber erst 
einmal den Standard-Fall (eine Kontrollverbindung, eine Datenverbindung).

3) Probiere einen anderen Server, z.B. "speedtest.tele2.net" (IP-Adresse: 
90.130.70.73), vgl. http://speedtest.tele2.net/#ftp.

4) Sobald du die Kontrollverbindung zu einem FTP-Server aufgebaut hast (du 
musst noch keine Datenübertragung angestoßen haben), solltest du auf deinem 
Router in der so genannten conntrack-Tabelle diese Verbindung sehen, und es 
sollte das FTP-Hilfsmodul mit dieser Verbindung verknüpft sein.

Alle folgenden Beispiele wurden mit der aktuellen fli4l-Entwicklerversion 
(4.0-Versionszweig) gemacht. Es sollte jedoch keine Unterschiede in Hinblick 
auf die verwendeten Programme geben.


Beispiel:

(auf dem Client)
kristov at eagle ~ $ ftp 90.130.70.73
Connected to 90.130.70.73 (90.130.70.73).
220 (vsFTPd 2.3.5)
Name (90.130.70.73:kristov): anonymous
530 Please login with USER and PASS.
SSL not available
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

(auf dem fli4l-Router)
fence 4.0.0-r47062 # conntrack -L 2>/dev/null | grep "90\.130\.70\.73"
tcp      6 431984 ESTABLISHED src=192.168.11.2 dst=90.130.70.73 sport=36620 
dport=21 packets=11 bytes=635 src=90.130.70.73 dst=89.182.24.214 sport=21 
dport=36620 packets=9 bytes=610 [ASSURED] mark=0 helper=ftp use=1

Man beachte den "helper=ftp"-Eintrag.

Wird nun eine Datenverbindung aufgebaut, etwa mit dem ls-Befehl:

ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 0        0        1073741824000 Feb 19  2016 1000GB.zip
-rw-r--r--    1 0        0        107374182400 Feb 19  2016 100GB.zip
[...]
-rw-r--r--    1 0        0         5242880 Feb 19  2016 5MB.zip
drwxr-xr-x    2 105      108          4096 Jan 30 15:49 upload
226 Directory send OK.
ftp>

So sollte auf dem Router auch eine zusätzliche Datenverbindung vom FTP-
Server zu deinem fli4l-Router zu sehen sein:

fence 4.0.0-r47062 # conntrack -L 2>/dev/null | grep "90\.130\.70\.73"
tcp      6 102 TIME_WAIT src=90.130.70.73 dst=89.182.24.214 sport=20 
dport=36564 packets=5 bytes=1473 src=192.168.11.2 dst=90.130.70.73 
sport=36564 dport=20 packets=3 bytes=164 [ASSURED] mark=0 use=1
tcp      6 431982 ESTABLISHED src=192.168.11.2 dst=90.130.70.73 sport=36620 
dport=21 packets=16 bytes=928 src=90.130.70.73 dst=89.182.24.214 sport=21 
dport=36620 packets=13 bytes=932 [ASSURED] mark=0 helper=ftp use=2

Die erste Zeile bezeichnet die Datenverbindung: Sie geht vom FTP-Server aus 
(90.130.70.73) zum fli4l-Router (89.182.24.214, die derzeitige externe IP-
Adresse), der Quell-Port ist 20 (= FTP-DATA), und sie ist bereits beendet 
(TIME_WAIT). Die zweite Zeile bezeichnet weiterhin die Kontrollverbindung, 
wobei hier jetzt "use=2" zu sehen ist, weil eine weitere Verbindung sich 
darauf bezieht.


Bitte teile uns das Ergebnis deiner Analysen mit, dann schauen wir weiter!


Viele Grüße und viel Erfolg,
-- 
Christoph Schulz
[fli4l-Team]


Mehr Informationen über die Mailingliste Fli4L