Je rencontre des problèmes de transfert de port depuis l'extérieur de mon réseau lors de la connexion avec mon téléphone. J'ai une mauvaise compréhension des routeurs et des réseaux en général, alors soyez indulgent avec moi.
Mon appareil Android est celui directement connecté à Internet. Pour permettre l'accès à mon ordinateur depuis le monde extérieur via l'appareil Android, j'utilise actuellement l'application gratuite appelée Port Forwarder et mon téléphone est enraciné, j'ai donc l'autorisation dont j'ai besoin. Le port sur lequel je gère les connexions sur le serveur est 80. Accéder à l'adresse IP du serveur (à l'intérieur du réseau) avec <local_ip.addr.ess.here>:80
je peux y accéder, donc ça marche.
Le problème est que lorsque j'essaie d'y accéder depuis l'extérieur du réseau, l'application me dit de définir la source sur 80 et la destination quelle qu'elle soit (leur exemple est 8080); bien sûr, je l'ai mis à 80 car c'est ce que le serveur écoute. J'essaie donc d'accéder au serveur de l'extérieur en utilisant <phone.public_ip.adr.ess>:80
mais cela ne fonctionne pas.
Comme vous l'avez remarqué, je n'ai aucune idée de ce que je fais et trouver des guides a été difficile, même pour les routeurs standard. Quelqu'un a-t-il utilisé cette application avec succès et peut-être pourrait-il m'aider? J'ai probablement omis des informations importantes en raison de l'ignorance, si c'est le cas, faites-le moi savoir et je mettrai à jour la question.
la source
192.168.*.*
, mais parfois aussi172.*.*.*
ou10.*.*.*
, voir Wikipedia ), elle n'est visible qu'à l' intérieur de votre réseau local et n'est pas accessible directement depuis le "monde extérieur". Les paramètres de transfert de port dans votre routeur sont nécessaires ici, et sont mieux discutés à ServerFault .adb logcat
) tout en essayant d'accéder de l'extérieur, pour voir s'il atteint au moins votre appareil et peut-être enregistre quelques indices.Réponses:
Je ne sais pas quelle version vous utilisez, voici mon conseil. La raison pour laquelle vous êtes probablement bloqué est due au pare-feu d'Android et à la forte politique Se-Linux.
Puisque vous avez un accès root complet, vous pouvez obtenir un shell avec ADB et vérifier cela. Tapez
su -
et cela vous mettra en racine. J'utilise TerminalEmulator, mais vous pouvez en utiliser un natif, s'il est livré avec le système d'exploitation.Si je vous ai bien compris, votre téléphone se comporte comme un routeur en mode modem. C'est donc nécessaire pour transmettre les paquets:
echo 1 > /proc/sys/net/ipv4/ip_forward
Voyez si cela aide. Très probablement, vous devrez jouer avec iptables, autoriser le port 80,443 sur le port de connexion. Ce n'est pas une réponse complète, mais il est trop long pour poster un commentaire.
la source
La réponse est que votre fournisseur bloque le port 80, mais si vous passez au port 443, il ne peut pas le bloquer car le port 443 doit avoir une communication bidirectionnelle débloquée pour que https envoie et reçoive des réponses. Ainsi, le passage de http à https: // devrait probablement résoudre votre problème.
la source