Wenn nur ein Port nicht geht, na gut, na schoen, dann nehme man einen anderen. Das ist leichter gesagt als getan, denn Windows ist da ein bisschen schwierig. Wer schonmal geschafft hat, eine Windows-Maschine dazu zu bewegen, eine Dateifreigabe auf einem frei gewaehlten Port zu nutzen oder gar freizugeben moege sich bitte bei mir melden :)
Wenn der Port feststeht, was dann tun? Tunneln. das ist nun von der Idee her so neu nicht -- secure-mailing-tunnel.html hat das schon behandelt. Die dort vorgestellte Loesung saehe wie folgt aus: Auf einer Unix-Maschine Verbindungen auf Port 445 annehmen und diese durch einen ssh-Tunnel zu einer Unix-Maschine auf der anderen Seite des SMB-feindlichen Netzwerks aus dem Tunnel lassen. Das funktioniert auch; die Verbindung kann sogar auf der Client-Maschine mit putty aufgebaut werden, wenn (und zwar genau dann, wenn) Port 445 nicht schon besetzt ist.
Port 445 ist aber besetzt. Und nur fuers tunneln eine weitere Unix-Maschine rumlaufen lassen? Auch bloed. Vielleicht ne virtuelle Maschine? Das macht's nicht besser, fuehrt aber schon auf die Loesung hin: Warum koennte es mit einer virtuellen Maschine funktionieren? Weil damit einem physikalischen Netzwerkanschluss eine weitere IP-Adresse zugewiesen wird.
Wenn sich diese Erkenntnis gesetzt hat, dann laesst sie sich auch anders nutzen. Es muss ja nur dafuer gesorgt werden, dass der entfernte SMB-Server lokal eine eigene IP-Adresse erhaelt, auf der noch kein
[ad001@salz ~]$ sudo ifconfig bge0 alias 192.168.0.177 [ad001@salz ~]$ ifconfig bge0 bge0: flags=8843Mit dieser Verwedung vonmetric 0 mtu 1500 options=9b ether 00:c0:9f:8e:d7:c1 inet 192.168.0.180 netmask 0xffffff00 broadcast 192.168.0.255 inet 192.168.0.177 netmask 0xffffff00 broadcast 192.168.0.255 media: Ethernet autoselect (100baseTX ) status: active
ifconfig ist es auch schon geschehen -- die Maschine hat eine IP mehr. Nun muss nur noch ein SSH-Tunnel her, der auch auf dieser IP lauscht:
[ad001@salz ~]$ sudo ssh -L 192.168.0.177:445:zielrechner:445 ad001@tunnelendeDie Ausfuehrung von
ssh mit Root-Rechten ist notwendig, weil Port 445 zu den privilegierten Ports gehoert, die ich als einfacher Nutzer nicht verwenden kann. Wenn die Verbindung aufgebaut ist, kann ich von meinem Windows aus auf \\192.168.0.177\ zugreifen wie ich ansonsten auf \\zielrechner\ zugreifen wuerde.