IP Adresse umleiten

hazweioo

hazweioo

Mitglied
Thread Starter
Dabei seit
09.11.2004
Beiträge
88
Reaktionspunkte
0
Hej,

vielleicht weiss ja jemand Rat oder hat eine Idee. Es geht um folgendes:

ich nutze ein Programm welches ueber eine IP Verbindung ueber das
Internet auf einen Server zugreift. Nun wollte ich diese Verbindung
ueber einen SSH Tunnel leiten. Da man in diesem Fall aber dem Programm
eine andere IP Adresse angeben muss kommt mein Problem zustande,
dieses Programm besitzt nicht die Moeglichkeit die IP Adresse des Servers
auf den es zugreifen will zu aendern. Zumindest nicht vom User.
Leider nutzt das Programm fuer den Zugriff auch keinen DNS Namen
womit eine Umleitung auf ne andere IP Adresse, in diesem Fall die
127.0.0.1 recht einfach waere.

Also das ganze schaut so aus:

Normaler Fall ohne SSH:
Programm will sich zur IP xxx.xxx.xxx.xxx verbinden ohne SSH Tunnel
auch kein Problem alles laeuft prima.

Nun das ganze wie ich mir das vorstelle mit SSH:
Programm greift auf IP xxx.xxx.xxx.xxx zu ein kleines Tool auf meinem Mac
merkt das und verweisst die IP xxx.xxx.xxx.xxx auf die IP 127.0.0.1 und
leitet das ganze mit dem entsprechenden Port in den SSH Tunnel.

Hoffe das ich das ganze jetzt verstaendlich beschrieben habe. Habe
schon versucht zu googeln und zu suchen aber scheinbar gebe ich
nicht die geziehlten suchbegriffe ein, denn mit IP Adresse umleiten
kommt man auf Anleitungen von Router fuer`s Portforwarding usw. aber
leider nich zu dem was ich mir vorstelle )o:

Danke schon mal ggf. im Vorraus.

ahoi till
 
Einfach so bestimmte Verbindungen über einen SSH-Tunnel umzuleiten, ist leider nicht möglich.

Ich mache etwas ähnliches für besonders restriktive Netze. SSH zu meinem Rechner außerhalb; über SSH wird eine OpenVPN-Verbindung getunnelt. Mein externer Rechner masqueradet und NATtet für VPN-Clients. Wenn ich jetzt auf meinem Notebook eine Route für irgendeine IP ändere (Befehl route) und die IP-Adresse des VPN-Interfaces des externen Rechners als Gateway eintrage, laufen alle Verbindungen von und zu dieser IP über VPN und damit über SSH.

SSH ist bei mir allerdings nur dabei, weil man mit SSH auch mal eine TCP-Verbindung durch einen Web-Proxy durchtunneln kann. OpenVPN kann das nicht selbst.

Einzige Anforderung: Ein externer Rechner auf dem Du Adminrechte hast, und der aus dem Internet erreichbar ist.
 
Router und Portforwarding sind da schon die richtigen Antworten, wenn auch nicht für Deinen Fall! Wenn ssh das täte was Du möchtest, wär es keinen Pfifferling mehr wert (Sicherheitsaspekt).
 
Naja SSH soll das ja nicht tun, SSH stellt mir ja nur den Tunnel zur Verfuegung und
leitet ueber localhost:xxxx entsprechend den Port durch den Tunnel. Ich will nur dem
Programm in dem ich die IP Adresse des Servers auf den es zugrifen will vorgaukeln
das es auf Adresse xxx.xxx.xxx.xxx zugreift aber ein kleines Tool oder so eben diese
Adresse umsetzt in 127.0.0.1 damit ich fuer das Programm eben auch den SSH
Tunnel nutzen kann.
 
Also ich tunnel sehr häufig mySQL Verbindungen nach genau diesem Prinzip.

Lokal nehme ich ssh (oder auf Windows PuTTY) und forwarde Port 3306 (das ist der standardport für mySQL) auf <zielhost>:3306.
Wobei der Zielhost nicht der Server ist auf dem der SSH-Host läuft, sondern der mySQL-Server.

Dann verbinde ich mit mit dem mySQL Frontend auf localhost:3306

Wenn das so nicht geht, könnte es daran liegen, dass a) mehr als ein Port gebraucht wird, oder b) auch eine rückwärtige Verbindung aufgebaut wird.

Gehen tut das aber 100% so - nur nicht nur mit mySQL, sondern allen TCP/IP Verbindungen.
 
Ja, eben nur mit Portforwarding oder/und Routing, das geht auch mit jedem 1-Diskettenrouter a la fli4l oder floppyfw
 
Wie du das beschreibst klappt es ja mit allen moeglichen Programmen zBsp.
auch VNC, bestens dort kann ich aber auch dem Client sagen connecte dich
auf localhost:5900 aber ich habe eine Software die hat eine feste IP Adresse
die ich nicht selebr aendern kann, daher brauche ich ein Tool welches dieses
Adresse abfaengt und 1:1 auf den localhost oder 127.0.0.1 leitet damit ich dann
ueber den Tunnel gehen kann.
 
Moin!

Was du bräuchtest, wäre halt ein virtuelles Netzwerk-Device, welches diese bestimmte IP hat, aber auf localhost verweist, so wie ich das verstanden habe... hm, keine Ahnung, ob das geht...

MfG
MrFX
 
Jupps das waere ne Idee, aber geht bestimmt nich so einfach...
 
Die IP vom Loopback Interface laesst sich aendern, und zwar mit sudo ifconfig lo0 inet 123.45.6.7 oder so aehnlich. Keine Ahnung ob das was hilft!
 
@hazweioo

kenne solche Probleme, weiss aber nicht ob es spezielle Mac-Lösungen gibt.
Habe sowas mal eingerichtet in einer Firma und deren Aussenstellen, die haben dort aber alles unter Windows laufen. Wir benutzen dafür das Programm Putty, das es auch in einer UNIX-Version gibt. Ist ein kostenfreies Tool. Die UNIX-Version sollte ja unter Mac OS X laufen, denke ich. Ich kann dir dazu mal den link geben, vielleicht ist das was für dich, oder es wird beschrieben wie man es für Mac OS X einrichten kann.
Kann dir aber auf jeden Fall aus Erfahrung sagen das dieses Proggi echt gut ist und auch sehr gut funktioniert. Wir haben damit auch einen Tunnel von der Aussenstelle über 127.0.0.1 hergestellt ohne Probleme.

Hier der Link: http://www.chiark.greenend.org.uk/~sgtatham/putty/

mfg

FK
 
Moin!

Irgendwie lest ihr hier alle nicht richtig... er braucht keinen Tunnel (also schon, aber den hat er ja bereits)... er braucht ein Netzwerk-Device, was eine ganz bestimmte (externe) IP hat, um dem Programm vorzugaukeln, daß es sich um den Remote-Server handelt. Dieses Netzwerkdevice sollte allerdings auf das loopback verweisen bzw. auf den Tunnel, den er schon aufgebaut hat.

Ich vermute mal, daß es hier einfach um Sicherheitsaspekte geht... also er will die Verbindung, die ja so schon übers Internet funktioniert, absichern.

Ich skizziere das mal:

So geht es bereits:
Programm (verbindet nur mit 141.199.253.XXX, als Beispiel) <-> Internet <-> Server (141.199.253.XXX)

So soll es werden:
Programm (verbindet nur mit 141.199.253.XXX) <-> virtuelles Device (141.199.253.XXX) <-> Tunnel (gesicherte Verbindung) <-> Server (141.199.253.XXX)

Ist das so in etwa richtig?

Update: Stimmt, man kann tatsächlich auch die IP des loopbacks ändern... dann kannste das ja mal so probieren... aber vorsicht, ich weiß nicht, ob das System das loopback braucht und da per 127.0.0.1 zugreift... bei mir ist der Rechner abgestürzt, als ich es wieder zurückändern wollte.

MfG
MrFX
 
Zuletzt bearbeitet:
notfalls die 127.0.0.2 benutzen
 
MrFX schrieb:
Irgendwie lest ihr hier alle nicht richtig... er braucht keinen Tunnel (also schon, aber den hat er ja bereits)... er braucht ein Netzwerk-Device, was eine ganz bestimmte (externe) IP hat, um dem Programm vorzugaukeln, daß es sich um den Remote-Server handelt.

Genau soetwas kann man mit einem VPN machen. Ein Netzwerkdevice auf das man Traffic zu einer bestimmten IP routen kann, und das funktioniert auch, solang die Gegenseite was mit dem Traffic anfangen kann.

Das ist nicht doppelt, jedenfalls nicht *zu* doppelt. Ich brauch oft genug einen VPN-Tunnel der in einen SSH-Tunnel gekapselt ist, weil's halt auch schön einfach zu benutzen ist. SSH ist sehr flexibel.
 
Moin!

Ja klar, das mach ich auch so, um von Arbeit per OpenVPN durch eine ssh-Verbindung auf meinen Server zu Hause zuzugreifen, weil wir hier nur Port 80 freigegeben haben.

MfG
MrFX
 
Hej,

also wie MrFX das nochma zusammengefasst hat ists richtig, der Tunne steht
nur eben nich die Umleitung der IP Adresse.

Den Aspekt ueber die SSH Verbindung ein VPN mit OpenVPN laufen zu lassen hab
ich mir auch schon ueberlegt nur war mir das ganze etwas kompliziert weil ich
das mit den ganzen Config und Routing nich so recht hinbekommen hatte.

Hier mal die Idee.

Mac auf dem die Anwendung laeuft >>> IP der Anwendung routet via VPN >>>
OpenVPN laeuft in einen SSH Tunnel >>> durch die Firewall (bestimmte Ports nur offen)
>>> Internet >>> SSH Tunnel endet auf einem Mac >>> VPN endet auf dem gleichen
Mac, diese Mac greift ganz normal via LAN/AirPort Router aufs Internet zu >>> die
Anwendung auf dem ersten Mac greift durch diese Instanzen auf's Internet zu da es
nun keine Portbeschraenkungen mehr gibt.

Okay das ganze waere einfacher bei der ersten Firewall enden zu lassen ohne SSH
usw. aber das geht nicht.

Wie muesste da so eine VPN Verbindung konfiguriert werden? Gibts evtl. nen Openvpn
Crack hier? Ich habe OpenVPN mit ach und krach selber zusammenkompiliert und
es tut auch, eine Verbindung von einem Rechner zum anderen klappt auch aber
Routen ueber solch einen VPN Tunnel da stosse ich echt momentan an Grenzen.
Leider sind die ganzen HowTo's recht unuebersichtlich und auch eher fuer Profis
durchschaubar. Naja vielleicht hat jemand ja ne Idee und kann mir ggf. helfen so
eine Config zusammen zu bekommen. Danke.

ahoi till
 
Zurück
Oben Unten