Wie kann ich „localhost“ auf eine andere lokale IP umleiten?

Wie kann ich „localhost“ auf eine andere lokale IP umleiten?

Das ist meine Situation:

Zwei Computer unter demselben Router, 192.168.1.101 und 192.168.1.102

Ich mache es gerne so: Beim Zugriff auf Port 22 unter 192.168.1.101 mit localhost wird der Datenverkehr an Port 22 unter 192.168.1.102 umgeleitet.

Mit anderen Worten, ich möchte den gesamten Datenverkehr vom lokalen Host an eine andere lokale IP weiterleiten.

Gibt es eine Lösung für mein Bedürfnis?

Antwort1

Wenn Sie Windows verwenden, können Sie den folgenden Befehl verwenden:

netsh interface portproxy add v4tov4 listenaddress=192.168.1.101 listenport=21 connectaddress=192.168.1.102 connectport=21

Ersetzen:

  • 21mit dem Port, den Sie weiterleiten möchten,
  • 192.168.1.101mit deiner IP,
  • 192.168.1.102mit der Ziel-IP.

Antwort2

Definieren Sie die Bedeutung von „localhost“ nicht neu. Dadurch werden die Dinge auf überraschende Weise kaputt gemacht.

Sehen Sie sich stattdessen die Optionen -Lund in an. Sie erleichtern die Umleitung eines Ports auf dem lokalen Computer zur IP-Adresse und zum Port eines Remotecomputers. Außerdem ist der Tunnel durch SSH gesichert.-Rssh(1)

Beachten Sie, dass diese Tunnel nicht unbedingt spezifisch für SSH-/Shell-Datenverkehr sind. Sie können für beliebigen Datenverkehr verwendet werden.

Antwort3

Ich bin mir nicht sicher, ob das eine kluge Entscheidung ist. Viele Dienste, die auf dem lokalen Rechner ausgeführt werden sollen, verwenden entweder 127.0.0.1(was mit Ihrer Änderung kein Problem wäre) oder localhost(in diesem Fall würde Ihre Änderung alles durcheinander bringen), um eine Verbindung zu anderen Diensten auf demselben Rechner herzustellen. Und viele andere Pakete sind so konfiguriert.

Wenn der Zweck darin besteht, den gleichen Namen für die übergreifende Verbindung zu verwenden, unabhängig davon, auf welchem ​​Rechner Sie sich befinden, würde ich eher empfehlen, hierfür einen anderen Namen zu verwenden. Statt "localhost" könnten Sie beispielsweise "crosshost" verwenden - und dabei den Hinweisen von Indrek folgen: Suchen Sie nach Ihrer hostsDatei (unter Linux/Unix und wahrscheinlich auch Mac ist es /etc/hosts, unter Windows ist es C:\Windows\System32\drivers\etc\hosts(ohne Erweiterung - seien Sie also vorsichtig, Windows hat normalerweise bereits eine andere hosts.*Datei in diesem Verzeichnis).NICHTKommentieren Sie die 127.0.0.1 localhostZeile aus und ändern Sie sie nicht - lassen Sie sie so wie sie ist. Fügen Sie einfach eine Zeile hinzu

192.168.1.101 crosshost

auf der Maschine 192.168.1.102 und ebenso mit der anderen Adresse auf der anderen Maschine. Jetzt können Sie sich beispielsweise ssh crosshostvon einer Maschine aus mit der anderen verbinden oder Dateien mit kopieren scp filename.ext crosshost:/path/to/putoder was auch immer Sie beabsichtigen.

verwandte Informationen