การส่งต่อพอร์ตบน Android 2.3.6 wifi-tether โดยใช้แอป Port Forwarder


11

ฉันมีปัญหาในการเชื่อมต่อพอร์ตจากภายนอกเครือข่ายเมื่อเชื่อมโยงกับโทรศัพท์ ฉันมีความเข้าใจที่ไม่ดีเกี่ยวกับเราเตอร์และเครือข่ายโดยทั่วไปดังนั้นโปรดอดทนกับฉัน

อุปกรณ์ Android ของฉันเป็นอุปกรณ์ที่เชื่อมต่อกับอินเทอร์เน็ตโดยตรง ในการเปิดใช้งานการเข้าถึงคอมพิวเตอร์ของฉันจากโลกภายนอกผ่านอุปกรณ์ Android ฉันกำลังใช้งานแอพฟรีชื่อPort Forwarderและโทรศัพท์ของฉันถูกรูทดังนั้นฉันจึงต้องขออนุญาต พอร์ตที่ฉันจัดการกับการเชื่อมต่อบนเซิร์ฟเวอร์คือ 80 การเข้าถึงที่อยู่ IP ของเซิร์ฟเวอร์ (ภายในเครือข่าย) ด้วย<local_ip.addr.ess.here>:80ฉันสามารถเข้าถึงได้เพื่อให้ทำงานได้

ปัญหาคือเมื่อฉันพยายามเข้าถึงจากนอกเครือข่ายแอพบอกให้ฉันตั้งค่าแหล่งที่มาเป็น 80 และปลายทางไม่ว่าจะเป็นอะไร (ตัวอย่างของพวกเขาคือ 8080) แน่นอนฉันตั้งไว้ที่ 80 เพราะนั่นคือสิ่งที่เซิร์ฟเวอร์กำลังฟัง ดังนั้นฉันจึงพยายามเข้าถึงเซิร์ฟเวอร์จากการใช้ภายนอก<phone.public_ip.adr.ess>:80แต่มันใช้งานไม่ได้

อย่างที่คุณสังเกตุว่าฉันไม่มีเงื่อนงำอะไรที่ฉันกำลังทำอยู่และการหาไกด์ก็ทำได้ยากแม้แต่กับเราเตอร์มาตรฐาน มีใครใช้แอปนี้สำเร็จและอาจช่วยฉันได้บ้าง ฉันอาจจะทิ้งข้อมูลสำคัญไว้เพราะไม่รู้ถ้าเป็นเช่นนั้นให้ฉันรู้และฉันจะอัปเดตคำถาม


"ที่อยู่สาธารณะ" ที่เราพูดถึงคืออะไร หากเป็นที่อยู่ WiFi ที่กำหนดโดยเราเตอร์ของคุณ (โดยทั่วไปจะเป็นบางอย่างเช่น192.168.*.*แต่บางครั้งก็เช่นกัน172.*.*.*หรือ10.*.*.*ดูที่Wikipedia ) มันจะปรากฏเฉพาะภายในเครือข่ายท้องถิ่นของคุณและไม่สามารถเข้าถึงได้โดยตรงจาก "โลกภายนอก" พอร์ตการตั้งค่าการส่งต่อในเราเตอร์ของคุณมีความจำเป็นที่นี่และจะกล่าวถึงดีกว่าที่ServerFault
Izzy

ไม่มันเป็นที่อยู่จาก google'ing "whats ip ของฉัน" (ถ้าคุณยังไม่ได้ใช้ google จะให้ที่อยู่ IP ซึ่งน่าเชื่อถือ) และคุณเข้าใจผิดคำถามในชื่อมันบอกว่า "wifi-tethering" หมายความว่าไม่ใช่เราเตอร์ปกติอุปกรณ์ Android ของฉันคือเราเตอร์ของฉันทำให้ไซต์นี้เป็นไซต์ที่เกี่ยวข้อง คุณได้อ่านคำถามทั้งหมดหรือไม่? ฉันพูดถึงแอพโทรศัพท์และสิ่งอื่น ๆ ที่เกี่ยวข้องที่คุณดูเหมือนจะพลาด
justanotherhobbyist

1
ฉันเคยอ่านมาหลายครั้งแล้ว แต่ฉันต้องยอมรับว่าฉันสับสนเล็กน้อย คุณไม่ได้ระบุอย่างชัดเจนว่าอุปกรณ์ใดทำหน้าที่เป็น "เซิร์ฟเวอร์" ในบริบทนั้นดังนั้นฉันจึงสันนิษฐานว่าทิศทางปกติ (คำว่า "โยง" เพียงอย่างเดียวไม่ได้ระบุว่าใครเป็นเซิร์ฟเวอร์และใครเป็นลูกค้าขอโทษ) ขอบคุณสำหรับการชี้แจง: นี่ทำให้ความคิดเห็นของฉันที่มีต่อ ServerFault ล้าสมัยแน่นอน // พอร์ตของคุณ foward จาก 80 เป็น 80 ถูกต้องสำหรับฉัน ฉันขอแนะนำให้ศึกษาบันทึกของ Android (เช่นadb logcat) ในขณะที่พยายามเข้าถึงจากภายนอกเพื่อดูว่าอย่างน้อยที่สุดก็ถึงอุปกรณ์ของคุณและอาจบันทึกคำแนะนำบางอย่าง
Izzy

1
ขอบคุณ! ฉันเพิ่งแก้ไขในอีกเล็กน้อยดังนั้นตอนนี้มันควรจะชัดเจนอย่างสมบูรณ์ (หวังว่าอย่างน้อยก็ไม่มีใครควรแตะลงในกับดักเดียวกันกับที่ฉันทำอีกต่อไป) อย่าลังเลที่จะปรับถ้าคุณไม่ชอบการแก้ไขของฉัน // ความคิดคือผู้ให้บริการของคุณอาจไม่อนุญาตให้ทำเช่นนั้น ในการตรวจสอบตั้งค่าเซิร์ฟเวอร์ (เช่นเซิร์ฟเวอร์ FTP ธรรมดา) บนอุปกรณ์ Android ของคุณและลองว่าสามารถเข้าถึงได้จาก "โลกภายนอก" หากวิธีนี้ใช้ไม่ได้ผลนั่นคือผู้ให้บริการของคุณบล็อกการรับส่งข้อมูล หากใช้งานได้เรายังคงสามารถตรวจสอบเพิ่มเติมได้
อิซซี

1
ฉันโทรหาผู้ให้บริการของฉันและพวกเขาบอกว่าอนุญาต "พอร์ตไวรัสที่รู้จักเท่านั้น" เท่านั้นที่ถูกบล็อกนั่นหมายความว่า ดังนั้นปัญหาควรอยู่ในโทรศัพท์ของตัวเอง
justanotherhobbyist

คำตอบ:


2

ฉันไม่แน่ใจว่าคุณใช้เวอร์ชั่นใดอยู่นี่คือคำแนะนำของฉัน สาเหตุที่คุณอาจถูกบล็อกเกิดจากไฟร์วอลล์ของ Android และนโยบาย Se-Linux ที่แข็งแกร่ง

เนื่องจากคุณสามารถเข้าถึงรูททั้งหมดคุณสามารถรับเชลล์ด้วย ADB และตรวจสอบว่า พิมพ์su -แล้วมันจะทำให้คุณรูท ฉันกำลังใช้ TerminalEmulator แต่คุณสามารถใช้เนทีฟตัวจริงได้หากมาพร้อมกับระบบปฏิบัติการ

หากฉันเข้าใจคุณถูกต้องโทรศัพท์ของคุณจะทำหน้าที่เหมือนเราเตอร์ในโหมดแชร์อินเทอร์เน็ต ดังนั้นสิ่งนี้จำเป็นสำหรับการส่งต่อแพ็กเก็ต: echo 1 > /proc/sys/net/ipv4/ip_forward

ดูว่าช่วยได้ไหม เป็นไปได้มากว่าคุณจะต้องเล่นกับ iptables อนุญาตพอร์ต 80,443 บนพอร์ต tethering นี่ไม่ใช่คำตอบที่สมบูรณ์ แต่มันยาวเกินไปที่จะโพสต์เป็นความคิดเห็น


1

คำตอบคือผู้ให้บริการของคุณบล็อกพอร์ต 80 อย่างไรก็ตามหากคุณเปลี่ยนเป็นพอร์ต 443 พวกเขาไม่สามารถบล็อกได้เพราะพอร์ต 443 จะต้องยกเลิกการสื่อสารแบบสองทางเพื่อให้ https เพื่อส่งและรับการตอบกลับ ดังนั้นการเปลี่ยนจาก http เป็น https: // น่าจะแก้ปัญหาของคุณได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.