
Ich arbeite unter Windows 8. Ich versuche, eine Verbindung zu einer OpenStack-Cloud herzustellen, die auf einem Remote-Server gehostet wird, aber eine öffentliche IP-Adresse für die API hat. API-Aufrufe erfordern jedoch Aufrufe an zusätzliche Dienste innerhalb der Cloud, die noch die internen Adressen der Cloud haben, und das kann ich nicht tun. Alle internen Adressen wurden so eingerichtet, dass sie jetzt ein öffentliches Äquivalent haben. Für jede private 10.xx2:yyyyy habe ich jetzt also eine 194.xxx:zzzzz
Ich muss auf meinem lokalen Computer eine Portweiterleitung einrichten, sodass jeder Aufruf von 10.xx2:yyyyy der Anwendung, die die API aufruft, in die entsprechende öffentliche Adresse 194.xxx:zzzzz übersetzt wird.
Ich habe netsh versucht mit
netsh interface portproxy add v4tov4 listenport=yyyy listenaddress=10.x.x.2 connectport=zzzzz connectaddress=194.x.x.x
Dies hat jedoch zu keinen Ergebnissen geführt.
Ich habe auch versucht, ein PassPort-Tool zu verwenden, das ich online gefunden habe. Ich habe es mit Administratorrechten ausgeführt und dasselbe getan, aber auch hier ohne Erfolg. Ich habe zuerst versucht, die Adresse 10.xxx:yyyy in einem Browser zu testen und dann mit der Anwendung, aber es hat kein einziges Mal funktioniert.
Die Firewall ist ausgefallen.
Irgendwelche Ideen?
Mit freundlichen Grüße.
Antwort1
Das funktioniert bei mir:
netsh interface portproxy add v4tov4 listenport=yyyyy connectaddress=destination.ip connectport=destination.port protocol=tcp
Jede Verbindung zu localhost:yyyyy wird zu destination.ip:destination.port umgeleitet, auch wenn destination.ip extern ist.
Hinweis: Dadurch wird die Weiterleitungsregel dauerhaft.
Antwort2
Wenn Sie die CLI-Tools verwenden, versuchen Sie, diese Zeile in Ihre OpenRC-Anmeldeinformationsdatei aufzunehmen: export OS_INTERFACE=public