Encaminhamento de porta no Android 2.3.6 wifi-tether usando o aplicativo Port Forwarder

11

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>:80posso 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>:80mas 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.

justanotherhobbyist
fonte
De que "endereço público" estamos falando aqui? Se for o endereço WiFi atribuído pelo seu roteador (geralmente algo como 192.168.*.*, mas às vezes também 172.*.*.*ou 10.*.*.*, 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 .
Izzy
Não, é o endereço do google'ing "whats my ip" (se você ainda não o usou, o próprio Google fornece um endereço IP que deve ser confiável). E você não entendeu bem a pergunta, no título diz "wifi-tethering". Significando que não é um roteador comum, meu dispositivo Android É meu roteador, tornando este o site relevante. Você leu a pergunta inteira? Estou mencionando aplicativos, telefone e outras coisas relevantes que você parece ter perdido completamente.
justanotherhobbyist
1
Eu já li várias vezes - mas devo admitir que fiquei um pouco confuso. Você não declarou explicitamente qual dispositivo atua como "servidor" nesse contexto, por isso assumi a direção usual (a palavra "amarrar" sozinha não especifica quem é o servidor e quem é o cliente, desculpe). Obrigado pelo esclarecimento: isso faz com que meu comentário sobre o ServerFault seja obsoleto, é claro. // Sua porta de 80 a 80 parece correta para mim. Sugiro consultar os logs do Android (por exemplo adb logcat) ao tentar acessar de fora, para ver se pelo menos chega ao seu dispositivo e talvez registra algumas dicas.
Izzy
1
Obrigado! Acabei de editar um pouco mais, então agora deve ficar perfeitamente claro (espero; pelo menos ninguém deve usar a mesma armadilha que eu). Sinta-se à vontade para ajustar se você não gostar da minha edição. // Um ​​pensamento é que seu provedor pode não permitir isso. Para verificar, configure um servidor (como um servidor FTP simples) no seu dispositivo Android e tente se isso pode ser acessado no "mundo exterior". Se isso também não funcionar, é seu provedor bloqueando esse tráfego. Se funcionar, ainda podemos investigar mais.
Izzy
1
Liguei para o meu provedor e eles disseram que permitiam. Apenas algumas "portas de vírus conhecidas" foram bloqueadas, seja lá o que isso significa. Portanto, o problema deve estar no próprio telefone.
justanotherhobbyist

Respostas:

2

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.

fugitivo
fonte
1

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.

Chris Zolinski
fonte