Existe uma maneira fácil de fazer com que um cliente local em uma máquina local, conversando com um servidor local, pense que está falando com um servidor na Internet?

4

Eu tenho um servidor local (HTTP) em execução na minha máquina (Linux) (escutando em 127.0.0.1:port) e um aplicativo local que se conecta a ele como um cliente. Tanto o servidor quanto os aplicativos clientes são proprietários e só posso alterar algumas configurações básicas para ambos. Eu tive essa configuração funcionando bem até recentemente, quando o aplicativo cliente foi atualizado. O aplicativo cliente agora parece exigir que o servidor ao qual ele se conecta esteja "na Internet", portanto, não está permitindo conexões com 127.0.0.1 e outros endereços "locais", como 10.0. *. * E 192.168. *. * .

Como solução alternativa, agora estou usando o ngrok para obter um endereço remoto para o meu servidor local e o aplicativo cliente funciona perfeitamente com isso. No entanto, esse é um processo manual / lento para executar o ngrok e atualizar a configuração do aplicativo cliente e requer uma conexão com a Internet e passar pelos servidores do ngrok.

Eu estou querendo saber se existe uma maneira de "falsificar" um endereço IP "semelhante à internet" para resolver diretamente a minha máquina local.

Eu olhei para as soluções de "DNS dinâmico", mas elas exigem mudanças na configuração do roteador que muitas vezes não tenho controle.

O que eu estou pensando é ao longo das linhas de configuração de IP "internet-like" de algum site pornô para "resolver" para minha máquina local na minha máquina local usando algum tipo de "adaptador de rede virtual", mas eu não quero gastar muito tempo construindo tal configuração. Portanto, a questão, existe uma maneira fácil de fazer isso?

    
por SBhojani 11.02.2018 / 06:38

5 respostas

1

usa o iptables?

iptables -t nat  -I OUTPUT --src 0/0 --dst dest_ip -p tcp --dport 80 -j REDIRECT --to-ports 80

(não tenho certeza sobre a cadeia embora) Isso deve redirecionar --transparentemente-- qualquer tráfego que vá para dest_ip: 80 para localhost: 80.

o des_ip é qualquer ip que faz a aplicação feliz.

    
por 16.02.2018 / 00:33
1

Você pode adicionar como alias um IP "real" no servidor, ou seja, 1.2.3.4/32 e tentar se conectar a esse endereço do aplicativo cliente, se ele estiver no mesmo computador. Se o seu aplicativo cliente estiver em um computador diferente, use algo como 1.2.3.4/24 para o servidor e 1.2.3.5/24 para o cliente, desde que estejam na mesma LAN. Esse tipo de endereço não é atribuído na internet, portanto você não terá problemas de conectividade.

    
por 15.02.2018 / 21:32
0

Você pode tentar um endereço IP em um dos intervalos reservados menos conhecidos, ou não roteáveis, apostando em uma implementação ruim em seu aplicativo cliente-servidor.

Consulte link

    
por 13.02.2018 / 20:18
0

Eu usaria a virtualização. Você pode criar um pequeno mundo falso para o seu software. Isso pode ser tão elaborado ou simples quanto você quiser. O benefício aqui é que você pode usar endereços IP públicos sem bagunçar a rede para toda a LAN à qual você está conectado. Apenas certifique-se de que as interfaces virtuais estejam configuradas para "somente host" ou "somente rede virtual".

Você pode até criar duas máquinas. Um cliente e um servidor na sub-rede pública, para que possam conversar entre si sem roteamento. Isso pode existir completamente na rede virtual e nem ser visível para o host, se você desejar.

    
por 19.02.2018 / 18:31
0

Talvez você possa usar um simulador da Internet como o INetSim . Ele simula (fornece falsos) serviços comuns de internet, então o programa acha que está na Internet. É, e. usado para analisar o comportamento de rede de malware em um ambiente fechado e seguro, e esse programa é usado para enganá-lo e acreditar que é a Internet, enquanto na verdade não é.

Parece o mesmo cenário que o seu, então dê uma olhada nele e veja se você pode usá-lo!

    
por 20.02.2018 / 12:03