am Thu, dem 25.12.2003, um 12:02:22 +0100 mailte Werner Mahr folgendes: > Wäre ganz gut wenn ich das vorher wüsste. Soweit ich mich an meine > Ausbildung erriner, läuft die Kommunikation doch so ab: > SSH, Anfrage an PORT 22 -> Antwort mit zu verwendenden PORT -> > Kommunikation über diesen PORT. Ist ja logisch, sonsts könnte ich ja > nur eine Sitzung nutzen. Diese Verbindung muss aber laufen.
Nein. Eine IP-Verbindung(TCP, UDP) ist durch 5¹ Dinge beschrieben: - Quelladresse - Zieladresse - Quellport - Zielport - Protokoll Mein lokaler SSH-Server rennt auf Port 22/TCP. Ich kann nun mich lokal z.B. 2 mal damit verbinden: kaufbach:/home/kretschmer# netstat -anpt | grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 4017/sshd tcp 0 0 127.0.0.1:22 127.0.0.1:33351 VERBUNDEN 4041/sshd tcp 0 0 127.0.0.1:22 127.0.0.1:33352 VERBUNDEN 4051/sshd tcp 0 0 127.0.0.1:33351 127.0.0.1:22 VERBUNDEN 4040/ssh tcp 0 0 127.0.0.1:33352 127.0.0.1:22 VERBUNDEN 4050/ssh Die Clients haben die PID 4040 und 4050, der SSH-Server startet jeweil eine eigene, neue Instanz seiner selbst mit den PID 4041 und 4051. Beide werkeln auf Port 22, außerdem der sshd mit der PID 4017. Wenn Du also SSH freigeben willst, wäre sowas sinnvoll: (Lokal) ... -p TCP --sport 1024: --dport 22 -j ACCEPT # (eingehend) ... -p TCP --sport 22 --dport 1024: -j ACCEPT # (ausgehend) (wobei ich OUTPUT i.d.R. auf ACCEPT habe) Willst Du SSH für Clients im Netz (NAT) erlauben, solltest Du also beachten, daß: - outgoing Ziel-Port 22 ist - eingehend Source-Port 22 ist Du brauchst also 2 Regeln, und zwar in der FORWARD-Chain. ¹ es gibt andere Protokolle, wo das so nicht mehr stimmt. ESP, AH zum Bleistift. Andreas -- Diese Message wurde erstellt mit freundlicher Unterstützung eines freilau- fenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert frei von Micro$oft'schen Viren. (#97922 http://counter.li.org) GPG 7F4584DA Was, Sie wissen nicht, wo Kaufbach ist? Hier: N 51.05082°, E 13.56889° ;-)
pgp00000.pgp
Description: PGP signature