ไม่สามารถเข้าถึงบริการภายนอกจากภายใน LAN


11

ฉันมีปัญหาการส่งต่อพอร์ตแปลก ๆ ฉันพยายามเปิดพอร์ต 22 ไปยังเครือข่ายภายนอก ฉันสามารถเข้าถึงได้ตราบใดที่ฉันไม่ได้อยู่ใน LAN ฉันสามารถเข้าถึงได้จากสำนักงานของฉันเป็นต้น แต่จากภายใน LAN ฉันสามารถเข้าถึงพอร์ตโดยใช้ไอพีท้องถิ่น แต่ฉันไม่สามารถเข้าถึงพอร์ตโดยใช้ IP ภายนอกได้ ราวกับว่าเราเตอร์กำลังบล็อกลูปแบ็ค ฉันตรวจสอบการตั้งค่าเราเตอร์ทั้งหมดปิดไฟร์วอลล์ / การกรองที่เกี่ยวข้อง ความคิดใด ๆ

คำตอบ:


5

สมมติว่า Spiff ถูกต้องและเราเตอร์ของคุณไม่สามารถจัดการพอร์ตที่ส่งต่อไปยัง ip ภายนอกจากภายในเครือข่ายจะมีการทำงานเล็ก ๆ

คุณสามารถแก้ไขไฟล์โฮสต์ได้ที่ / etc / hosts ในระบบยูนิกซ์ส่วนใหญ่และใน C: \ Windows \ system32 \ drivers \ etc \ บน Windows

ถ้าคุณเพิ่ม

192.168.0.15  example.com

ในไฟล์นั้นคอมพิวเตอร์ของคุณจะไปที่ ip spesified ทุกครั้งที่คุณพยายามเข้าถึง example.com แน่นอนคุณจะต้องทำเช่นนี้ในคอมพิวเตอร์ทุกเครื่องที่คุณต้องการใช้ภายในเครือข่าย

คุณสามารถตรวจสอบบทความวิกิพีเดียสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับสถานที่พบ: https://en.wikipedia.org/wiki/Hosts_file


13

เนื่องจากคุณกล่าวถึงการส่งต่อพอร์ตฉันคิดว่าเกตเวย์ภายในบ้านของคุณกำลังทำหน้าที่เป็น NAT - หรือมากกว่าเฉพาะ NAPT - เกตเวย์ สิ่งที่คุณพยายามจะทำคือเรียกว่า "กิ๊บ NAT" หรือ "NAT hairpinning" ในการอ้างอิงถึงวิธีการที่ปิ่นปักผมกลับเป็นสองเท่าในตัวของมันเอง ถนนจะกลับมาเป็นสองเท่า)

เกตเวย์ NAT บางอันไร้สาระและไม่รองรับการปักผม อาจถึงเวลาที่จะสำรวจตัวเลือกการอัปเกรดของคุณ


นี่คือเราเตอร์ใหม่ที่สวยดังนั้นฉันสงสัยว่าเป็นปัญหา
erotsppa

6
"ใหม่" ไม่ได้หมายถึง "คุณภาพสูง" มีอึมากมายในตลาดในเวลาที่กำหนด
Spiff

และความคิดเห็นนั้นก็เป็นจริงในแปดปีต่อมา!
Tim_Stewart

@erotsppa - ตามที่ Tim_Stewart กล่าวว่า "ถือเป็นความจริง 8 ปีต่อมา" (2018) ... ทุกอย่างต้องเสียค่าใช้จ่ายและสิ่งที่ต้องใช้ในการดำเนินการโซลูชันและความต้องการโซลูชันดังกล่าว โมเด็ม / เราเตอร์ "บ้าน" ทั่วไปของคุณไม่จำเป็นต้องใช้ฟังก์ชั่นดังกล่าว ... ธุรกิจจะมีความต้องการที่แตกต่างกันมาก (พนักงานที่ทำงานทั้งในและนอกสถานที่ตัวอย่างเช่นไม่ควรเปลี่ยนการตั้งค่าเพื่อรับ กล่าวว่าอีเมล (หากใช้เซิร์ฟเวอร์อีเมลในสถานที่) ทำงานเมื่อทำงานในสำนักงานและเมื่อทำงานนอกสถานที่ ฯลฯ อุปกรณ์ระดับธุรกิจมักจะมีประสิทธิภาพสูงกว่าและมีความสามารถเหล่านี้
Kinnectus

3

มีคำตอบง่ายๆจริง ๆ สำหรับคนนี้ NAT กำลังเข้ามาขวางทาง

  1. คอมพิวเตอร์ของคุณเปิดการเชื่อมต่อกับ [ExternalIP]
  2. เราเตอร์ของคุณส่งต่อการเชื่อมต่อไปที่ [SSHInternalIP] เซิร์ฟเวอร์ SSH ของคุณเห็นการเชื่อมต่อจาก [YourInternalIP]
  3. เซิร์ฟเวอร์ SSH ของคุณส่งแพ็กเก็ตไปที่ [YourInternalIP]
  4. คอมพิวเตอร์ของคุณเห็นแพ็คเก็ตแปลก ๆ ที่มาจาก IP มันไม่เคยพูดคุยและทิ้งมันไป
  5. การเชื่อมต่อกับ TCP / 22 ของคุณล้มเหลวเนื่องจากการจับมือ 3-way ของ TCP ไม่เคยเสร็จสมบูรณ์

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


2

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

เวิร์กสเตชันของคุณกำลังส่งแพ็กเก็ตที่มี IP ต้นทางของที่อยู่ภายใน (เช่น 10.0.0.2) แต่ที่อยู่ปลายทางคือ IP ภายนอกของคุณ เมื่อแพ็กเก็ตมาถึงเซิร์ฟเวอร์ (SSH?) ของคุณที่พอร์ต 22 เซิร์ฟเวอร์จะตอบกลับไปยังเวิร์กสเตชันของคุณโดยตรงและจะไม่เกิด NAT ตอนนี้เมื่อเวิร์กสเตชันของคุณได้รับการตอบกลับจาก 10.0.0.3 เมื่อคาดว่าจะได้รับคำตอบจากที่อยู่ภายนอกของคุณมันจะส่งแพ็กเก็ตทิ้ง

ดูเหมือนว่าจะมีปัญหาเล็กน้อยอยู่ในมือ แต่สามารถแก้ไขได้โดยการอัปเดตไฟล์ HOSTS ของเวิร์กสเตชันของคุณเพิ่มเซิร์ฟเวอร์ DNS ภายใน (หรือแก้ไขรายการเซิร์ฟเวอร์ DNS) หรือสร้างกฎ NAT เพื่อจัดการภายใน -> ภายนอก -> ภายใน การจราจร

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