Przekazywanie portów w modemie Wi-Fi Android 2.3.6 za pomocą aplikacji Port Forwarder

11

Mam problemy z przekierowywaniem połączeń spoza sieci podczas tetheringu z telefonem. Nie rozumiem ogólnie routerów i sieci, więc proszę o wyrozumiałość.

Moje urządzenie z Androidem to urządzenie podłączone bezpośrednio do Internetu. Aby umożliwić dostęp do mojego komputera ze świata zewnętrznego za pośrednictwem urządzenia z Androidem, obecnie używam bezpłatnej aplikacji o nazwie Port Forwarder, a mój telefon jest zrootowany, więc potrzebuję autoryzacji. Port, na którym obsługuję połączenia na serwerze, to 80. Dostęp do adresu IP serwera (wewnątrz sieci) za pomocą <local_ip.addr.ess.here>:80I mogę uzyskać do niego dostęp, więc to działa.

Problem polega na tym, że kiedy próbuję uzyskać do niego dostęp spoza sieci, aplikacja mówi mi, żebym ustawił źródło na 80 i miejsce docelowe, cokolwiek to jest (ich przykładem jest 8080); oczywiście ustawiłem go na 80, ponieważ tego właśnie słucha serwer. Dlatego próbuję uzyskać dostęp do serwera z zewnątrz, <phone.public_ip.adr.ess>:80ale to nie działa.

Jak zauważyłeś, nie mam pojęcia, co robię, a znalezienie przewodników było trudne, nawet dla standardowych routerów. Czy ktoś z powodzeniem korzystał z tej aplikacji i może mógłby mi pomóc? Prawdopodobnie pominąłem ważne informacje z powodu ignorancji, jeśli tak, daj mi znać, a zaktualizuję pytanie.

justanotherhobbyist
źródło
O jakim „adresie publicznym” mówimy tutaj? Jeśli jest to adres Wi-Fi przypisany przez router (zwykle coś w rodzaju 192.168.*.*, ale czasem także 172.*.*.*lub 10.*.*.*patrz Wikipedia ), jest widoczny tylko w sieci lokalnej i nie można uzyskać do niego dostępu bezpośrednio z „zewnętrznego świata”. Potrzebne są tutaj ustawienia przekierowania portów w routerze i lepiej je omówić na ServerFault .
Izzy
Nie, to adres z google'ing „whats my ip” (jeśli go nie używałeś, sam google podaje adres ip, który powinien być niezawodny). I źle rozumiesz pytanie, w tytule jest napisane „tethering wifi”. Oznacza to, że to nie jest zwykły router, moje urządzenie z Androidem JEST moim routerem, co czyni tę witrynę odpowiednią. Czy przeczytałeś nawet całe pytanie? Wspominam o aplikacjach, telefonie i innych istotnych rzeczach, które wydają się całkowicie pominięte.
justanotherhobbyist
1
Przeczytałem go nawet wiele razy - ale muszę przyznać, że byłem trochę zdezorientowany. Nie określiłeś jawnie, które urządzenie działa w tym kontekście jako „serwer”, więc obrałem zwykły kierunek (samo słowo „tether” nie określa, kto jest serwerem, a kto klientem, przepraszam). Dzięki za wyjaśnienie: to oczywiście powoduje, że mój komentarz do ServerFault jest przestarzały. // Twój przyszły port od 80 do 80 wygląda dla mnie poprawnie. Sugeruję zajrzeć do dzienników Androida (np. adb logcat) Podczas próby uzyskania dostępu z zewnątrz, aby sprawdzić, czy przynajmniej dotrze ono do twojego urządzenia i może zapisuje jakieś wskazówki.
Izzy
1
Dzięki! Właśnie edytowałem trochę więcej, więc teraz powinno być całkowicie jasne (mam nadzieję; przynajmniej nikt nie powinien wpaść w tę samą pułapkę, co ja). Dostosuj, jeśli nie podoba ci się moja edycja. // Myślą jest, że twój dostawca może na to nie pozwolić. Aby to sprawdzić, skonfiguruj jakiś serwer (np. Zwykły serwer FTP) na urządzeniu z Androidem i sprawdź, czy można uzyskać do niego dostęp z „zewnętrznego świata”. Jeśli to też nie działa, to twój dostawca blokuje ten ruch. Jeśli to zadziała, nadal możemy przeprowadzić dalsze dochodzenie.
Izzy
1
Zadzwoniłem do mojego dostawcy i powiedzieli, że pozwalają. Tylko niektóre znane porty wirusów zostały zablokowane, cokolwiek to znaczy. Problemem powinien być sam telefon.
justanotherhobbyist

Odpowiedzi:

2

Nie jestem pewien, którą wersję używasz, oto moja rada. Przyczyną prawdopodobnie zablokowania jest zapora systemu Android i silne zasady Se-Linux.

Ponieważ masz pełny dostęp do katalogu głównego, możesz uzyskać powłokę za pomocą ADB i to sprawdzić. Wpisz, su -a dostaniesz się do rootowania. Używam TerminalEmulatora, ale możesz użyć natywnego, jeśli jest dostarczany z systemem operacyjnym.

Jeśli dobrze cię zrozumiałem, Twój telefon działa jak router w trybie modemu. Jest to potrzebne do przekazywania pakietów: echo 1 > /proc/sys/net/ipv4/ip_forward

Sprawdź, czy to pomoże. Najprawdopodobniej będziesz musiał grać z iptables, zezwól na port 80,443 na porcie modemu. To nie jest pełna odpowiedź, ale opublikowanie jej jako komentarza jest zbyt długie.

zbieg
źródło
1

Odpowiedź brzmi: twój dostawca blokuje port 80, jednak jeśli przełączysz się na port 443, nie będzie mógł go zablokować, ponieważ port 443 musi mieć odblokowaną dwukierunkową komunikację dla https w celu wysyłania i odbierania odpowiedzi. Dlatego zmiana z http na https: // najprawdopodobniej powinna rozwiązać problem.

Chris Zolinski
źródło