Como posso redirecionar “localhost” para outro IP local?

4

Esta é a minha situação:

Dois computadores no mesmo roteador, 192.168.1.101 e 192.168.1.102

Isso é o que eu gosto de fazer: em 192.168.1.101, ao acessar a porta 22 com localhost, ele direciona o tráfego para a porta 22.168.1.102.

Em outra palavra, gostaria de encaminhar o tráfego do localhost para outro IP local.

Existe alguma solução para o que eu preciso?

    
por keith 01.07.2012 / 21:04

3 respostas

5

Não redefina o significado de localhost. Você vai quebrar as coisas de formas surpreendentes.

Em vez disso, observe as opções -L e -R em ssh(1) . Eles facilitam o redirecionamento de uma porta na máquina local para o endereço IP e a porta de uma máquina remota. Além disso, o túnel é protegido por SSH.

Observe que esses túneis não são necessariamente específicos do tráfego de ssh / shell. Pode ser para tráfego arbitrário.

    
por 02.07.2012 / 09:39
3

Não tenho certeza se isso é uma coisa inteligente a fazer. Muitos serviços destinados a serem executados na máquina local usam 127.0.0.1 (o que não seria um problema com sua alteração) ou localhost (caso em que sua alteração atrapalharia as coisas) para se conectar a outros serviços na mesma máquina . E muitos outros pacotes vêm configurados dessa maneira.

Se o objetivo é ter o mesmo nome para se conectar transversalmente, independentemente de qual máquina você é, prefiro recomendar o uso de um nome diferente para isso. Em vez de "localhost", você poderia, por exemplo use "crosshost" - e com isso siga as dicas dadas pelo Indrek: Verifique seu arquivo hosts (no Linux / Unix e provavelmente também Mac ele é /etc/hosts , no Windows ele é C:\Windows\System32\drivers\etc\hosts (sem extensão - so tome cuidado aqui, o Windows geralmente já tem algum outro arquivo hosts.* nesse diretório.) NÃO comente a linha 127.0.0.1 localhost , nem a modifique - deixe-a como está. Basta adicionar uma linha

192.168.1.101 crosshost

na máquina 192.168.1.102 e similarmente com o outro endereço na outra máquina. Agora você pode, por exemplo ssh crosshost para se conectar a uma máquina da outra, ou copiar arquivos com scp filename.ext crosshost:/path/to/put ou o que você pretendia.

    
por 01.07.2012 / 22:01
2

Se você está no Windows, pode usar o comando:

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

Substituir:

  • 21 com a porta que você deseja encaminhar,
  • 192.168.1.101 com seu ip,
  • 192.168.1.102 com o ip de destino.
por 29.05.2016 / 11:31