Estou tendo problemas para encaminhar conexões de porta de fora da minha rede ao conectar com o meu telefone. Eu tenho um mau entendimento de roteadores e redes em geral, então, por favor, tenha paciência comigo.
Meu dispositivo Android é aquele diretamente conectado à Internet. Para habilitar o acesso ao meu computador do mundo exterior por meio do dispositivo Android, atualmente estou usando o aplicativo gratuito chamado Port Forwarder e meu telefone está enraizado, por isso tenho a autorização necessária. A porta na qual manipulo as conexões no servidor é 80. Acessando o endereço IP do servidor (dentro da rede) com <local_ip.addr.ess.here>:80
posso acessá-lo, para que funcione.
O problema é que, quando estou tentando acessá-lo de fora da rede, o aplicativo diz para definir a fonte como 80 e o destino, seja qual for (o exemplo é 8080); é claro que eu ajustei para 80, já que é isso que o servidor está ouvindo. Então, eu tento acessar o servidor de fora usando, <phone.public_ip.adr.ess>:80
mas ele não funciona.
Como você notou, não tenho idéia do que estou fazendo e encontrar guias tem sido difícil, mesmo para roteadores padrão. Alguém já usou com sucesso este aplicativo e talvez possa me ajudar? Provavelmente deixei de fora informações importantes por ignorância. Se assim for, informe-me e atualizarei a pergunta.
fonte
192.168.*.*
, mas às vezes também172.*.*.*
ou10.*.*.*
, consulte a Wikipedia ), ele é visível apenas na rede local e não pode ser acessado diretamente do "mundo exterior". As configurações de encaminhamento de porta no seu roteador são necessárias aqui e são melhor discutidas no ServerFault .adb logcat
) ao tentar acessar de fora, para ver se pelo menos chega ao seu dispositivo e talvez registra algumas dicas.Respostas:
Não tenho certeza de qual versão você está executando, eis o meu conselho. A causa pela qual você provavelmente está bloqueado deve-se ao firewall do Android e à forte política Se-Linux.
Como você tem acesso root completo, você pode obter um shell com o ADB e verificar isso. Digite
su -
e ele irá levá-lo à raiz. Estou usando o TerminalEmulator, mas você pode usar um nativo, se ele for fornecido com o sistema operacional.Se o entendi corretamente, seu telefone funciona como roteador no modo de amarrar. Portanto, isso é necessário para encaminhar pacotes:
echo 1 > /proc/sys/net/ipv4/ip_forward
Veja se isso ajuda. Provavelmente, você precisará jogar com o iptables, permitir a porta 80.443 na porta de compartilhamento. Esta não é uma resposta completa, mas é muito tempo para postar como um comentário.
fonte
A resposta é que seu provedor bloqueia a porta 80, no entanto, se você alternar para a porta 443, eles não poderão bloqueá-la porque a porta 443 deve ter uma comunicação bidirecional desbloqueada para https enviar e receber respostas. Assim, a alteração de http para https: // provavelmente deve resolver seu problema.
fonte