Hallo zusammen, eventuell hat jemand von Euch eine Idee. Ich möchte von einem Linux Rechner zu mehreren anderen Rechnern Tunnel aufbauen. Das würde so funktionieren: ssh -L 18000:10.130.4.15:80 localhost ssh -L 18001:10.130.4.16:80 localhost : : Da das ganze Script gesteuert ablaufen soll, möchte ich mir gerne die Portverwaltung für die vielen SSH Tunnel ersparen. Gibt es da was womit ich einen Tunnel mit mehreren Enden einrichten kann, wobei die Enden dynamisch hinzu oder weg gehen müssen ? Danke für einen Schubs in die richtige Richtung (falls es eine gibt) Grüße Werner Franke -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo, Am Fri, 10 Oct 2014, Werner Franke schrieb:
eventuell hat jemand von Euch eine Idee.
Ich möchte von einem Linux Rechner zu mehreren anderen Rechnern Tunnel aufbauen. Das würde so funktionieren:
ssh -L 18000:10.130.4.15:80 localhost ssh -L 18001:10.130.4.16:80 localhost : :
Da das ganze Script gesteuert ablaufen soll, möchte ich mir gerne die Portverwaltung für die vielen SSH Tunnel ersparen.
Gibt es da was womit ich einen Tunnel mit mehreren Enden einrichten kann, wobei die Enden dynamisch hinzu oder weg gehen müssen ?
Vielleicht sowas: ==== #!/bin/bash IPS=( 10.130.4.15 10.130.4.16 10.130.4.18 ) port=$(( ( $RANDOM % 31744 + 1024 ) )) for ip in "${IPS[@]}"; do echo ssh -L "${port}:${ip}:80" localhost : $(( port += 1 )) test $port -gt 32767 && port=1024 done ==== Das erzeugt ab einem zufälligen Port zwischen 1024 und 32767 eine Sequenz von IPs als lokalen Port. Das 'echo' vor'm ssh natürlich dann wegmachen, wenn die Ausgabe gut aussieht. Viel Spaß beim Verstehen / Auseinanderdröseln ;) HTH, -dnh -- Power corrupts, PowerPoint corrupts absolutely. -- Vint Cerf -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo David, Am 11.10.2014 um 12:44 schrieb David Haller:
Hallo,
Am Fri, 10 Oct 2014, Werner Franke schrieb:
eventuell hat jemand von Euch eine Idee.
Ich möchte von einem Linux Rechner zu mehreren anderen Rechnern Tunnel aufbauen. Das würde so funktionieren:
ssh -L 18000:10.130.4.15:80 localhost ssh -L 18001:10.130.4.16:80 localhost : :
Da das ganze Script gesteuert ablaufen soll, möchte ich mir gerne die Portverwaltung für die vielen SSH Tunnel ersparen.
Gibt es da was womit ich einen Tunnel mit mehreren Enden einrichten kann, wobei die Enden dynamisch hinzu oder weg gehen müssen ?
Vielleicht sowas:
==== #!/bin/bash IPS=( 10.130.4.15 10.130.4.16 10.130.4.18 ) port=$(( ( $RANDOM % 31744 + 1024 ) )) for ip in "${IPS[@]}"; do echo ssh -L "${port}:${ip}:80" localhost : $(( port += 1 )) test $port -gt 32767 && port=1024 done ====
Das erzeugt ab einem zufälligen Port zwischen 1024 und 32767 eine Sequenz von IPs als lokalen Port. Das 'echo' vor'm ssh natürlich dann wegmachen, wenn die Ausgabe gut aussieht.
Danke für die Antwort. Ich hatte jedoch auf einen anderen Tipp gehofft. Ein Kollege sagte mir, dass es sowas wie einen VPN gibt, der so ein Feature kann, aber er wusste keinen Namen. Aber falls sich das als ein Gerücht herausstellt, ist obiges eine gute Idee. Gruss Werner -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hi alle, Am 13.10.2014 um 09:14 schrieb Werner Franke:
Hallo David,
Am 11.10.2014 um 12:44 schrieb David Haller:
Hallo,
Am Fri, 10 Oct 2014, Werner Franke schrieb:
eventuell hat jemand von Euch eine Idee.
Ich möchte von einem Linux Rechner zu mehreren anderen Rechnern Tunnel aufbauen. Das würde so funktionieren:
Habe jetzt nochmal genauer nachgefragt... Es müsste nicht unbedingt ein Tunnel sein. Portforwarding müsste auch passen. Wir haben ein VMware System, auf dem per Script VMs erzeugt und wieder gelöscht werden. Ein Gateway auf dem System hat 2 Netzwerk Adapter und nur dieses Gateway kann eine Verbindung zwischen unserem Firmen- Netzwerk, auf dem die Anwendungen laufen und dem System auf den VMs herstellen. Was uns vorschwebt ist, dass der Anwender mit Portnummern nichts zu tun hat. Schön wäre es, wenn er auf dem Gateway eine Verbindung zu der VM und dem Port 80 aufmacht und automatisch durch den Tunnel oder über das richtige Portforwarding zum Ziel kommt. Etwa in der Art: vm_name1:80 -> 18000:10.130.4.15:80 vm-name2:80 -> 18050:10.130.4.40:80 Ich hoffe das ist soweit verständlich. Gibt es da eine Möglichkeit ? Gruss Werner -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo, Am Mon, 13 Oct 2014, Werner Franke schrieb:
Am 13.10.2014 um 09:14 schrieb Werner Franke:
Am 11.10.2014 um 12:44 schrieb David Haller:
Am Fri, 10 Oct 2014, Werner Franke schrieb:
eventuell hat jemand von Euch eine Idee.
Ich möchte von einem Linux Rechner zu mehreren anderen Rechnern Tunnel aufbauen. Das würde so funktionieren:
Habe jetzt nochmal genauer nachgefragt... Es müsste nicht unbedingt ein Tunnel sein. Portforwarding müsste auch passen.
Wir haben ein VMware System, auf dem per Script VMs erzeugt und wieder gelöscht werden. Ein Gateway auf dem System hat 2 Netzwerk Adapter und nur dieses Gateway kann eine Verbindung zwischen unserem Firmen- Netzwerk, auf dem die Anwendungen laufen und dem System auf den VMs herstellen. Was uns vorschwebt ist, dass der Anwender mit Portnummern nichts zu tun hat. Schön wäre es, wenn er auf dem Gateway eine Verbindung zu der VM und dem Port 80 aufmacht und automatisch durch den Tunnel oder über das richtige Portforwarding zum Ziel kommt.
Etwa in der Art:
vm_name1:80 -> 18000:10.130.4.15:80 vm-name2:80 -> 18050:10.130.4.40:80
Gibt es da eine Möglichkeit ?
Nicht daß ich wüßte. Irgendwie mußt du "VM-Name" und "Lokaler Port" zusammenbringen. Das mußt du irgendwie verwalten. Am einfachsten wäre wohl ein statisches Mapping (egal ob dann via SSH oder VPN oder stunnel oder sonstwas). Oder du müßtest eine dynamische Tabelle a la DNS pflegen, die das Mapping vom VM-Namen auf den lokalen Port erledigt. Da es nur um die lokalen ports geht: was spricht gegen statische VM <=> Port Zuordnungen? Meinetwegen: VM1 -> 18001:...:80 VM2 -> 18002:...:80 ... VM42 -> 18042:..:80 usw. Ich hätte trotzdem gern noch von dir mein Scripterl erklärt gehabt, da hab ich mal wieder ein paar Schmankerl/Feinheiten eingebaut ;) Und speziell das mit Überlauf(!) für >= 3 Ports auf das Intervall [1024..32767] einschränken hat mich dann doch so einiges an (mathematischen) Hirnschmalz gekostet... Wenn ich's nicht doch noch verbaselt habe kommt für 4 IPs/Ports mit (zufälligem) Startwert (aus $RANDOM) von 32766 das hier raus: 32766, 32767, 1024, 1025. Und auch die anderen Grenzfälle (0-2, 1022-1026, 31743-31746 [1], 32766-32768) machen glaub das richtige ;) -dnh [1] 2^15-2^10 = 31744 -- Der geistige Horizont ist der Abstand zwischen Brett und Kopf. -- Sig von Rocco Rutte -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (2)
-
David Haller
-
Werner Franke