Comment puis-je rediriger "localhost" vers une autre adresse IP locale?

C'est ma situation:

Deux ordinateurs sous le même routeur, 192.168.1.101 et 192.168.1.102

C'est ce que j'aime faire: En 192.168.1.101, en accédant au port 22 avec localhost, il dirige le trafic vers 192.168.1.102 port 22.

Dans un autre mot, j'aimerais transmettre tout trafic provenant d'un hôte local vers un autre IP local.

Y a-t-il une solution pour ce dont j'ai besoin?

3 Solutions collect form web for “Comment puis-je rediriger "localhost" vers une autre adresse IP locale?”

Ne redéfinissez pas le sens de localhost. Vous casserez les choses de façon surprenante.

Au lieu de cela, regardez les options -L et -R dans ssh(1) . Ils permettent de rediriger un port sur la machine locale vers l'adresse IP et le port d'une machine distante. De plus, le tunnel est sécurisé par SSH.

Notez que ces tunnels ne sont pas nécessairement spécifiques au trafic ssh / shell. Cela peut être pour un trafic arbitraire.

Je ne sais pas si c'est une chose intelligente à faire. Beaucoup de services destinés à être exécutés sur l'ordinateur local utilisent 127.0.0.1 (ce qui n'aura aucun problème avec votre changement) ou localhost (auquel cas votre changement dérangera) pour se connecter à d'autres services sur la même machine. Et beaucoup d'autres paquets sont configurés de cette façon.

Si le but est d'avoir le même nom pour se connecter en travers, quelle que soit la machine, je préfère utiliser un nom différent pour cela. Au lieu de "localhost", vous pouvez par exemple utiliser "crosshost" – et avec cela suivre les astuces fournies par Indrek: Vérifiez votre fichier hosts (sur Linux / Unix et probablement aussi Mac c'est /etc/hosts , sur Windows c'est C:\Windows\System32\drivers\etc\hosts (sans extension – alors prenez soin ici, Windows a déjà déjà d'autres hosts.* Fichier dans ce répertoire). NE PAS faire un commentaire sur la ligne 127.0.0.1 localhost , ni le modifier – – laissez-le comme ça. Ajoutez simplement une ligne

 192.168.1.101 crosshost 

Sur la machine 192.168.1.102, et de même avec l'autre adresse sur l'autre machine. Maintenant, vous pouvez par exemple ssh crosshost se connecter à une machine de l'autre, ou copier les fichiers avec scp filename.ext crosshost:/path/to/put , ou ce que vous vouliez.

Si vous êtes sur Windows, vous pouvez utiliser la commande:

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

Remplacer:

  • 21 avec le port que vous souhaitez transférer,
  • 192.168.1.101 avec votre ip,
  • 192.168.1.102 avec l'ip de destination.
  • Désactiver 302 Redirections dans Firefox
  • Comment les expressions régulières fonctionnent-elles dans htaccess pour rediriger une plage IP
  • La redirection vers l'arrière est-elle identique à celle d'un tuyau?
  • Comment héberger plusieurs pages de différents domaines ensemble?
  • La redirection de dossier ne fonctionne pas dans Windows 7 ou Vista
  • Changer le répertoire par défaut des documents et des paramètres?
  • Rediriger la sortie de la ligne de commande de 7-Zip vers / dev / null sur Windows lors de l'extraction d'un fichier .7z
  • Proxying faux domaine à un port localhost
  • Rediriger le nom de domaine vers Localhost
  • Soyons le génie de l'ordinateur et du réseau.