[linux-l] ftp lahmt
Peter Ross
Peter.Ross at alumni.tu-berlin.de
Mo Nov 26 00:26:03 CET 2007
On Sun, 25 Nov 2007, Mike Dornberger wrote:
> On Sun, Nov 25, 2007 at 04:55:25PM +1100, Peter Ross wrote:
>
> > Aber oft reicht es, wenn der Client bei Verbindungsaufbau via ICMP ein
> > Reject meldet ("ich habe keinen identd") und der Server ists zufrieden.
>
> Sagt die entsprechende RFC nicht eigentlich, da hat ein TCP-Reset zu kommen,
> wenn auf dem (TCP-)Port nichts läuft? Jedenfalls ist das daß, was in
> entsprechenden Howtos udgl. gesagt wird: iptables -A INPUT -p tcp --dport
> ident -j REJECT --reject-with tcp-reset
Warum das denn?
TCP-Resets werden sinnvollerweise _während_ einer offenen TCP-Verbindung
benutzt, um der anderen Seite Schwierigkeiten (wie z.B.
Networkstack-Überlauf, Rekonfiguration) mitzuteilen, um evt. eine neue
Verbindung aufzubauen, so daß weiterhin ein verläßlicher Datentransfer
gesichert werden kann.
Ein TCP-reset ist Teil einer TCP-verbindung, d.h. man antwortet auf
TCP-Ebene.
Wenn aber kein Daemon läuft, sollte gar keine TCP-Verbindung aufgebaut
werden, deshalb eine Antwort auf ICMP-Ebene.
Deine Antwort hat mich überrascht, deshalb habe ich gegooglet.
http://pages.cpsc.ucalgary.ca/~carey/papers/2005/TCP-Resets.pdf
stellt fest, daß viele Verbindungen nicht mehr TCP-Standards folgen, z.B.
viele HTTP-Verbindungen sind fehlerhaft implementiert und benutzen
TCP-Resets sinnentstellend.
Das Howto dürfte auch falsch sein, IMHO.
Ich sehe das gerade sogar in der iptables-Manpage.. Grrrh.
"The option tcp-reset can be used on rules which only match the TCP
protocol: this causes a TCP RST packet to be sent back. This is mainly
useful for blocking ident (113/tcp) probes which frequently occur when
sending mail to broken mail hosts (which won't accept your mail
otherwise)."
Keine Ahnung, welcher Mail-Server so kaputt ist, daß nicht mal ein ICMP
reicht:-( Due Idee, darauf mit noch einer RFC-Verletzung zu antworten, ist
allkerdsings sehr bizarr.
Anyway, FreeBSDs inetd stellt einen internen auth (identd)-Service bereit,
mit Fake-ID-Support, um einen Anfrager happy zu machen. Bei linux finde
ich gerade keine Entsprechung.
Man muß leider feststellen, daß Linux einige Netzwerkprobleme bereitet,
teils durch fehlerhafte Implementationen im Kernel (z.B. Antworten auf
ARP-Requests in ein Netzwerk, in dem das betreffende Interface gar nicht
liegt), teils durch fehlerhafte Implementation auf Konfigurationsebene.
netfilter ist sehr mächtig - so mächtig, daß man da auch viele Fehler
machen kann:-(
Es grüßt
Peter
Mehr Informationen über die Mailingliste linux-l