Saya mengalami masalah koneksi port-forwarding dari luar jaringan saya ketika tethering dengan telepon saya. Saya memiliki pemahaman yang buruk tentang router dan jaringan pada umumnya, jadi tolong tahan dengan saya.
Perangkat Android saya adalah yang terhubung langsung ke Internet. Untuk mengaktifkan akses ke komputer saya dari dunia luar melalui perangkat Android, saya saat ini menggunakan aplikasi gratis bernama Port Forwarder dan ponsel saya di-root sehingga saya memiliki otorisasi yang saya butuhkan. Port tempat saya menangani koneksi di server adalah 80. Mengakses alamat IP Server (di dalam jaringan) dengan <local_ip.addr.ess.here>:80
saya dapat mengaksesnya, sehingga berfungsi.
Masalahnya adalah ketika saya mencoba mengaksesnya dari luar jaringan, aplikasi memberitahu saya untuk mengatur sumber ke 80, dan tujuan apa pun itu (contohnya adalah 8080); tentu saja saya atur ke 80 karena itulah yang didengarkan server. Jadi saya mencoba mengakses server dari luar menggunakan <phone.public_ip.adr.ess>:80
tetapi tidak berhasil.
Seperti yang Anda perhatikan, saya tidak tahu apa yang saya lakukan dan menemukan panduan sulit, bahkan untuk router standar. Adakah yang berhasil menggunakan aplikasi ini dan mungkin bisa membantu saya? Saya mungkin meninggalkan info penting karena ketidaktahuan, jika demikian, beri tahu saya dan saya akan memperbarui pertanyaan.
sumber
192.168.*.*
, tetapi kadang-kadang juga172.*.*.*
atau10.*.*.*
, lihat Wikipedia ), itu hanya terlihat di dalam jaringan lokal Anda , dan tidak dapat diakses langsung dari "dunia luar". Pengaturan penerusan port di router Anda diperlukan di sini, dan lebih baik dibahas di ServerFault .adb logcat
) Ketika mencoba mengakses dari luar, untuk melihat apakah setidaknya mencapai perangkat Anda dan mungkin mencatat beberapa petunjuk.Jawaban:
Saya tidak yakin versi mana yang Anda jalankan, ini saran saya. Penyebab Anda mungkin diblokir, adalah karena firewall Android dan kebijakan Se-Linux yang kuat.
Karena Anda memiliki akses root penuh, Anda bisa mendapatkan shell dengan ADB, dan memeriksanya. Ketik
su -
dan itu akan membuat Anda menjadi root. Saya menggunakan TerminalEmulator, tetapi Anda dapat menggunakan yang asli, jika dikirimkan dengan OS.Jika saya memahami Anda dengan benar, ponsel Anda bertindak seperti router dalam mode tethering. Jadi ini diperlukan untuk meneruskan paket:
echo 1 > /proc/sys/net/ipv4/ip_forward
Lihat apakah itu membantu. Kemungkinan besar, Anda harus bermain dengan iptables, izinkan port 80.443 pada port tethering. Ini bukan jawaban yang lengkap, tetapi terlalu panjang untuk dikirim sebagai komentar.
sumber
Jawabannya adalah penyedia Anda memblokir port 80, namun jika Anda beralih ke port 443 mereka tidak dapat memblokirnya karena port 443 harus memiliki komunikasi dua arah yang tidak diblokir untuk https untuk mengirim dan menerima tanggapan. Dengan demikian, perubahan dari http ke https: // kemungkinan besar akan menyelesaikan masalah Anda.
sumber