
Esta es mi situación:
Dos computadoras bajo el mismo enrutador, 192.168.1.101 y 192.168.1.102
Esto es lo que me gusta hacer: en 192.168.1.101, mientras accede al puerto 22 con localhost, dirige el tráfico al puerto 22 de 192.168.1.102.
En otras palabras, me gustaría reenviar cualquier tráfico desde localhost a otra IP local.
¿Hay alguna solución para lo que necesito?
Respuesta1
Si estás en Windows, puedes usar el comando:
netsh interface portproxy add v4tov4 listenaddress=192.168.1.101 listenport=21 connectaddress=192.168.1.102 connectport=21
Reemplazar:
21
con el puerto que deseas reenviar,192.168.1.101
con tu ip,192.168.1.102
con la ip de destino.
Respuesta2
No redefina el significado de localhost. Romperás cosas de formas sorprendentes.
En su lugar, mire las opciones -L
y -R
en ssh(1)
. Facilitan la redirección de un puerto en la máquina local a la dirección IP y al puerto de una máquina remota. Además, el túnel está protegido por SSH.
Tenga en cuenta que estos túneles no son necesariamente específicos del tráfico ssh/shell. Puede ser para tráfico arbitrario.
Respuesta3
No estoy seguro de si eso es algo inteligente. Muchos servicios destinados a ejecutarse en la máquina local usan 127.0.0.1
(lo que no sería un problema con su cambio) o localhost
(en cuyo caso su cambio arruinaría las cosas) para conectarse a otros servicios en la misma máquina. Y muchos otros paquetes vienen configurados de esta manera.
Si el propósito es tener el mismo nombre para conectarse de forma transversal, independientemente de en qué máquina se encuentre, prefiero recomendar usar un nombre diferente para esto. En lugar de "localhost", podría utilizar, por ejemplo, "crosshost", y con eso siga los consejos dados por Indrek: Verifique su hosts
archivo (en Linux/Unix y probablemente también en Mac /etc/hosts
, en Windows lo es C:\Windows\System32\drivers\etc\hosts
(sin extensión, así que tome tenga cuidado aquí, Windows generalmente ya tiene algún otro hosts.*
archivo en ese directorio).NOcomente la 127.0.0.1 localhost
línea, ni la modifique; déjela como está. Solo agrega una línea
192.168.1.101 crosshost
en la máquina 192.168.1.102, y de manera similar con la otra dirección en la otra máquina. Ahora puede, por ejemplo, ssh crosshost
conectarse a una máquina desde otra, copiar archivos con scp filename.ext crosshost:/path/to/put
, o lo que desee.