Chuyển tiếp cổng trên Android 2.3.6 wifi-tether bằng ứng dụng Port Forwarder


11

Tôi gặp sự cố kết nối chuyển tiếp cổng từ bên ngoài mạng của mình khi kết nối với điện thoại. Tôi có một sự hiểu biết không tốt về các bộ định tuyến và mạng nói chung, vì vậy xin vui lòng chịu đựng với tôi.

Thiết bị Android của tôi là thiết bị được kết nối trực tiếp với Internet. Để cho phép truy cập vào máy tính của tôi từ thế giới bên ngoài thông qua thiết bị Android, tôi hiện đang sử dụng ứng dụng miễn phí có tên Port Forwarder và điện thoại của tôi đã được root để tôi có quyền mà tôi cần. Cổng mà tôi xử lý các kết nối trên máy chủ là 80. Truy cập địa chỉ IP của Máy chủ (bên trong mạng) mà <local_ip.addr.ess.here>:80tôi có thể truy cập, để nó hoạt động.

Vấn đề là khi tôi đang cố truy cập nó từ bên ngoài mạng, ứng dụng sẽ bảo tôi đặt nguồn thành 80 và đích đến bất kể là gì (ví dụ của họ là 8080); tất nhiên tôi đặt nó là 80 vì đó là những gì máy chủ đang nghe. Vì vậy, tôi cố gắng truy cập máy chủ từ bên ngoài bằng cách sử dụng <phone.public_ip.adr.ess>:80nhưng nó không hoạt động.

Như bạn đã nhận thấy, tôi không biết tôi đang làm gì và việc tìm hướng dẫn rất khó khăn, ngay cả đối với các bộ định tuyến tiêu chuẩn. Có ai đã sử dụng thành công ứng dụng này và có thể giúp tôi không? Tôi có thể bỏ qua thông tin quan trọng vì sự thiếu hiểu biết, nếu vậy, hãy cho tôi biết và tôi sẽ cập nhật câu hỏi.


"Địa chỉ công cộng" nào chúng ta đang nói ở đây? Nếu đó là địa chỉ WiFi được chỉ định bởi bộ định tuyến của bạn (thường là một cái gì đó giống như 192.168.*.*, nhưng đôi khi cũng 172.*.*.*hoặc 10.*.*.*, xem Wikipedia ), nó chỉ hiển thị trong mạng cục bộ của bạn và không thể truy cập trực tiếp từ "thế giới bên ngoài". Các cài đặt chuyển tiếp cổng trong bộ định tuyến của bạn là cần thiết ở đây và được thảo luận tốt hơn tại ServerFault .
Izzy

Không, đó là địa chỉ từ google "whats my ip" (nếu bạn chưa sử dụng thì chính google sẽ cung cấp một địa chỉ IP đáng tin cậy). Và bạn đang hiểu nhầm câu hỏi, trong tiêu đề có ghi "wifi-tethering". Có nghĩa nó không phải là một bộ định tuyến thông thường, thiết bị Android của tôi là bộ định tuyến của tôi, biến đây thành trang web có liên quan. Bạn thậm chí đã đọc toàn bộ câu hỏi? Tôi đang đề cập đến các ứng dụng, điện thoại và những thứ liên quan khác mà bạn dường như đã hoàn toàn bỏ lỡ.
justanotherhulkist

1
Tôi thậm chí đã đọc nó nhiều lần - nhưng tôi phải thừa nhận rằng tôi có một chút bối rối. Bạn đã không nói rõ thiết bị nào hoạt động như "máy chủ" trong ngữ cảnh đó, vì vậy tôi giả sử hướng thông thường (từ "tether" không chỉ định máy chủ là ai và máy khách là ai, xin lỗi). Cảm ơn đã làm rõ: điều này làm cho nhận xét của tôi đối với ServerFault trở nên lỗi thời. // Cổng của bạn từ 80 đến 80 có vẻ đúng với tôi. Tôi khuyên bạn nên tham khảo nhật ký Android (ví dụ adb logcat) trong khi cố gắng truy cập từ bên ngoài, để xem liệu nó ít nhất có đến được thiết bị của bạn không và có thể ghi lại một số gợi ý.
Izzy

1
Cảm ơn! Tôi vừa mới chỉnh sửa thêm một chút, vì vậy bây giờ nó sẽ hoàn toàn rõ ràng (hy vọng; ít nhất không ai nên chạm vào cái bẫy giống như tôi đã làm nữa). Hãy điều chỉnh nếu bạn không thích chỉnh sửa của tôi. // Một suy nghĩ là nhà cung cấp của bạn có thể không cho phép điều đó. Để kiểm tra, hãy thiết lập một số máy chủ (như máy chủ FTP đơn giản) trên thiết bị Android của bạn và thử xem liệu có thể truy cập được từ "thế giới bên ngoài" hay không. Nếu điều đó cũng không hoạt động, đó là nhà cung cấp của bạn chặn lưu lượng đó. Nếu nó hoạt động, chúng tôi vẫn có thể điều tra thêm.
Izzy

1
Tôi gọi cho nhà cung cấp của tôi, và họ nói họ cho phép nó. Chỉ một số "cổng virus đã biết" bị chặn, bất kể điều đó có nghĩa là gì. Vì vậy, vấn đề nên được ở chính điện thoại.
justanotherhulkist

Câu trả lời:


2

Tôi không chắc bạn đang chạy phiên bản nào, đây là lời khuyên của tôi. Nguyên nhân có thể bạn bị chặn, là do tường lửa của Android và chính sách Se-Linux mạnh.

Vì bạn có quyền truy cập root đầy đủ, bạn có thể nhận được shell với ADB và kiểm tra xem. Kiểusu - và nó sẽ đưa bạn vào root. Tôi đang sử dụng TerminalEmulator, nhưng bạn có thể sử dụng bản gốc, nếu nó được vận chuyển cùng với hệ điều hành.

Nếu tôi hiểu bạn chính xác, điện thoại của bạn hoạt động như bộ định tuyến ở chế độ kết nối. Vì vậy, điều này là cần thiết để chuyển tiếp các gói: echo 1 > /proc/sys/net/ipv4/ip_forward

Xem nếu điều đó giúp. Rất có thể, bạn sẽ cần chơi với iptables, cho phép cổng 80,443 trên cổng kết nối. Đây không phải là câu trả lời đầy đủ, nhưng quá dài để đăng dưới dạng bình luận.


1

Câu trả lời là nhà cung cấp của bạn chặn cổng 80, tuy nhiên nếu bạn chuyển sang cổng 443 thì họ không thể chặn được vì cổng 443 phải có giao tiếp hai chiều được bỏ chặn cho https để gửi và nhận phản hồi. Do đó, việc thay đổi từ http sang https: // rất có thể sẽ giải quyết vấn đề của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.