Transfert de port sur Android 2.3.6 wifi-tether à l'aide de l'application Port Forwarder

11

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>:80je 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>:80mais 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.

justanotherhobbyist
la source
De quelle «adresse publique» parlons-nous ici? Si c'est l'adresse WiFi attribuée par votre routeur (généralement quelque chose comme 192.168.*.*, mais parfois aussi 172.*.*.*ou 10.*.*.*, 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 .
Izzy
Non, c'est l'adresse de google "quel est mon ip" (si vous ne l'avez pas utilisé, google lui-même donne une adresse ip qui devrait être fiable). Et vous vous méprenez sur la question, dans le titre, il est écrit «connexion wifi». Ce qui signifie que ce n'est pas un routeur ordinaire, mon appareil Android EST mon routeur, ce qui en fait le site pertinent. Avez-vous même lu toute la question? Je mentionne des applications, un téléphone et d'autres choses pertinentes que vous semblez avoir complètement manquées.
justanotherhobbyist
1
Je l'ai même lu plusieurs fois - mais je dois admettre que j'étais un peu confus. Vous n'avez pas explicitement indiqué quel périphérique agit comme "serveur" dans ce contexte, j'ai donc pris la direction habituelle (le mot "tether" seul ne spécifie pas qui est le serveur et qui est le client, désolé). Merci pour les éclaircissements: cela rend mon commentaire sur ServerFault obsolète bien sûr. // Votre port avant de 80 à 80 me semble correct. Je suggère de consulter les journaux Android (par exemple 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.
Izzy
1
Merci! Je viens d'en éditer un peu plus, alors maintenant ça devrait être parfaitement clair (avec un peu de chance, au moins plus personne ne devrait puiser dans le même piège que moi). N'hésitez pas à ajuster si vous n'aimez pas ma modification. // Une pensée est que votre fournisseur pourrait ne pas permettre cela. Pour vérifier, configurez un serveur (comme un simple serveur FTP) sur votre appareil Android, et essayez de savoir si celui-ci est accessible depuis le "monde extérieur". Si cela ne fonctionne pas non plus, c'est votre fournisseur qui bloque ce trafic. Si cela fonctionne, nous pouvons toujours enquêter davantage.
Izzy
1
J'ai appelé mon fournisseur et ils m'ont dit qu'ils le permettaient. Seuls certains "ports de virus connus" ont été bloqués, quoi que cela signifie. Le problème devrait donc être dans le téléphone lui-même.
justanotherhobbyist

Réponses:

2

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.

fugitif
la source
1

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.

Chris Zolinski
la source