INTERNET:25565ROUTERforwardSERVER:25565all other ports remain blocked

การส่งต่อพอร์ต

10 นาทีอ่านเครือข่าย

การส่งต่อพอร์ตคือสิ่งที่คุณตั้งค่าเมื่อคุณต้องการโฮสต์เซิร์ฟเวอร์เกม ใช้งานเว็บไซต์ส่วนตัวที่บ้าน หรือเข้าถึงเดสก์ท็อปของคุณจากระยะไกล นอกจากนี้ยังเป็นหนึ่งในสิ่งที่คำนึงถึงความปลอดภัยมากที่สุดที่คุณสามารถทำได้กับเครือข่ายในบ้าน การทำผิดจะเปิดประตูสู่อินเทอร์เน็ตสาธารณะ ควรทำความเข้าใจก่อนที่จะพลิกสวิตช์

เนื้อหาบทความฉบับเต็มมีให้เป็นภาษาอังกฤษด้านล่าง

การส่งต่อพอร์ต คือการกำหนดค่าเราเตอร์ที่ระบุว่า: "เมื่อแพ็กเก็ตมาถึงที่ IP สาธารณะของฉันบนพอร์ตนี้ ให้ส่งไปยังอุปกรณ์ภายในนี้บนพอร์ตภายในนี้" เป็นการแทนที่พฤติกรรม "ไม่มีการร้องขอขาเข้า" ที่เป็นค่าเริ่มต้นของ NAT อย่างชัดเจน หากไม่มีสิ่งนี้ อินเทอร์เน็ตที่เหลือจะไม่สามารถเข้าถึงสิ่งใดภายในเครือข่ายในบ้านของคุณได้ ด้วยเหตุนี้ บริการที่คุณเลือกจึงสามารถเข้าถึงได้อย่างแน่นอน

กลไก

เราเตอร์ของคุณมีตารางกฎการส่งต่อ แต่ละกฎชื่อ:

  • A พอร์ตสาธารณะ (พอร์ตที่ใครบางคนบนอินเทอร์เน็ตจะโจมตี)
  • An ที่อยู่ IP ภายใน (อุปกรณ์ใดบน LAN ของคุณที่จะส่งไป)
  • An พอร์ตภายใน (มักจะเหมือนกับพอร์ตสาธารณะ, แต่อาจแตกต่างกันได้)
  • A protocol (TCP, UDP หรือทั้งสองอย่าง)

เมื่อแพ็กเก็ตที่ตรงกันมาถึงอินเทอร์เฟซ WAN เราเตอร์จะเขียนปลายทางใหม่และส่งเข้าไปด้านใน การตอบกลับกลับไปผ่าน NAT ปกติ

A ทำงานตัวอย่าง

คุณต้องการโฮสต์เซิร์ฟเวอร์ Minecraft เซิร์ฟเวอร์ทำงานบนพีซีสำหรับเล่นเกมของคุณที่ 192.168.1.50 และฟังบนพอร์ต TCP/UDP 25565 คุณกำหนดค่ากฎการส่งต่อพอร์ต: สาธารณะ TCP+UDP 25565 → 192.168.1.50:25565 ตอนนี้ใครก็ตามที่เชื่อมต่อกับ your.public.ip:25565 จะเข้าถึงเซิร์ฟเวอร์

เพื่อทำให้สิ่งนี้มีประโยชน์ คุณต้องมีที่อยู่ที่มั่นคงด้วย IP สาธารณะจาก ISP สำหรับผู้บริโภคมีการเปลี่ยนแปลงเป็นครั้งคราว ดังนั้นให้ใช้บริการ Dynamic-DNS (DuckDNS, No-IP, Cloudflare DNS API) เพื่อชี้ชื่อไปที่ IP ที่คุณเปลี่ยนแปลง หรือขอ IP แบบคงที่จาก ISP ของคุณหากผู้ให้บริการดังกล่าวเสนอให้

UPnP และ NAT-PMP

การส่งต่อพอร์ตด้วยตนเองนั้นน่ารำคาญสำหรับการใช้งานทั่วไป ดังนั้น ทั้งสองโปรโตคอลจึงอนุญาตให้แอปพลิเคชันร้องขอการส่งต่อ โดยอัตโนมัติ:

  • UPnP IGD (Universal Plug and Play, โปรไฟล์อุปกรณ์เกตเวย์อินเทอร์เน็ต) เป็นรุ่นเก่าและได้รับการสนับสนุนอย่างกว้างขวางมากขึ้น แอปพลิเคชันส่งคำขอ XML-over-HTTP ไปยังที่อยู่มัลติคาสต์ในเครื่อง เราเตอร์ตอบ แอปขอให้เปิดพอร์ต เราเตอร์จะเปิดขึ้น
  • NAT-PMP และตัวตายตัวแทน PCP เป็นโปรโตคอลไบนารี่ที่ง่ายกว่าซึ่งทำงานเดียวกัน ซึ่งใช้งานอย่างหนักโดยอุปกรณ์ Apple และเกมสมัยใหม่ consoles.

โปรโตคอลทั้งสองมีความสะดวกและเป็นแหล่งที่มาของเหตุการณ์ด้านความปลอดภัยอย่างต่อเนื่อง UPnP ไม่มีการรับรองความถูกต้อง: อุปกรณ์ใดๆ บน LAN — รวมถึงหลอดไฟ IoT ที่ถูกบุกรุก — สามารถเปิดช่องโหว่โดยพลการผ่านไฟร์วอลล์ คำแนะนำด้านความปลอดภัยหลายรายการแนะนำให้ปิดการใช้งาน UPnP และการส่งต่อพอร์ตด้วยตนเอง

ผลกระทบด้านความปลอดภัย

การส่งต่อพอร์ตคือช่วงเวลาที่ไฟร์วอลล์ของคุณเปลี่ยนจาก "ปฏิเสธโดยค่าเริ่มต้น" เป็น "อนุญาตสิ่งนี้" บริการที่เปิดเผยจะต้องเป็น:

  • Patched. เปิด SSH บนอินเทอร์เน็ตได้ เปิด SSH บนเราเตอร์ที่ไม่ได้รับการติดตั้งอายุ 5 ปีคือโฆษณารับสมัครบอทเน็ต
  • Authenticated. บริการจะต้องใช้รหัสผ่าน ซึ่งถือเป็นรหัสที่รัดกุม ข้อมูลประจำตัวเริ่มต้นถือเป็นหายนะ
  • Monitored. แม้แต่บริการที่ดีก็ยังมองเห็นปริมาณการสแกนอย่างต่อเนื่อง บันทึกช่วยให้คุณสังเกตเห็นเมื่อการรับส่งข้อมูลปกติกลายเป็นอย่างอื่น

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

เหตุใด CGNAT จึงหยุดการส่งต่อพอร์ต

หาก ISP ของคุณใช้ CGNAT แสดงว่าคุณไม่มี IP สาธารณะ ที่อยู่ WAN ของเราเตอร์ของคุณนั้นเป็นที่อยู่ส่วนตัวที่แชร์กับลูกค้ารายอื่นหลายร้อยราย ไม่มีที่ไหนที่จะส่งต่อ to การส่งต่อพอร์ตไม่ทำงานบนการเชื่อมต่อ CGNAT

วิธีแก้ปัญหา: สอบถาม ISP ของคุณเกี่ยวกับ IP สาธารณะจริง (บางแห่งเสนอให้มีค่าธรรมเนียมเพิ่มเติม) ใช้ IPv6 (ซึ่งไม่จำเป็นต้องใช้ NAT) หรือใช้บริการทันเนล เช่น Cloudflare Tunnel, Tailscale Funnel, ngrok หรือ VPS เป็นโฮสต์แบบกระโดด

การส่งต่อพอร์ตเทียบกับ VPN

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

คำถามที่พบบ่อย

การส่งต่อพอร์ตเป็นอันตรายหรือไม่?
ไม่ใช่โดยเนื้อแท้ แต่เป็นปุ่มที่เสี่ยงที่สุดในเราเตอร์ที่บ้าน บริการที่ถูกเปิดเผยจะต้องได้รับการติดตั้งและรับรองความถูกต้อง รูปแบบที่ปลอดภัยคือ: ส่งต่อพอร์ตเดียวสำหรับ VPN (WireGuard หรือ OpenVPN) และเข้าถึงทุกสิ่งจากภายในอุโมงค์แทนที่จะเปิดเผยแต่ละบริการ
เหตุใดการส่งต่อพอร์ตจึงไม่ทำงานสำหรับฉัน
สาเหตุที่พบบ่อยที่สุด: ISP ของคุณใช้ CGNAT (ไม่มี IP สาธารณะที่จะส่งต่อ) เราเตอร์ของคุณมี IPv6 แต่คุณส่งต่อเฉพาะ IPv4 บริการที่คุณกำลังส่งต่อมีไฟร์วอลล์ของตัวเองบล็อกพอร์ต หรือกฎการส่งต่อตั้งชื่อ IP ภายในคงที่ซึ่งมีการเปลี่ยนแปลงตั้งแต่นั้นมาผ่าน DHCP ตรวจสอบแต่ละรายการ
UPnP ปลอดภัยที่จะดำเนินต่อไปหรือไม่?
ใช่บนเครือข่ายของอุปกรณ์ที่เชื่อถือได้ของคุณเท่านั้น บนเครือข่ายใดๆ ที่มีอุปกรณ์สมาร์ทโฮมหรือแล็ปท็อปที่ไม่น่าเชื่อถือ ไม่จำเป็น — UPnP ช่วยให้อุปกรณ์ใดๆ บน LAN สามารถเจาะช่องโหว่ในไฟร์วอลล์ของคุณได้ เราเตอร์ที่บ้านส่วนใหญ่จัดส่งพร้อมกับมัน ลองปิดมันดู
VPN สามารถแทนที่การส่งต่อพอร์ตได้หรือไม่
สำหรับการเข้าถึงเครือข่ายของคุณเองขาเข้า ใช่ — เรียกใช้เซิร์ฟเวอร์ VPN บนเราเตอร์ของคุณและเชื่อมต่อจากภายนอก สำหรับการรับส่งข้อมูลขาเข้าจาก <em>strangers</em> (ใช้งานเซิร์ฟเวอร์เกมสาธารณะ เว็บไซต์) ไม่ — ไคลเอนต์ของ VPN ต้องเป็นของคุณเอง
ฉันจำเป็นต้องส่งต่อพอร์ตเพื่อใช้ VPN หรือไม่?
หากต้องการเชื่อมต่อ <em>out</em> จากไคลเอนต์ VPN ไม่ใช่ ใช่ สำหรับ <em>host</em> เซิร์ฟเวอร์ VPN ที่บ้าน ใช่ — ต้องส่งต่อพอร์ต VPN ขาเข้า ผู้ให้บริการ VPN หลายรายยังเสนอตัวเลือกการส่งต่อพอร์ตสำหรับกรณีการใช้งาน เช่น การเริ่ม BitTorrent จากภายในเครือข่ายของตน
คำอธิบายการส่งต่อพอร์ต: ปล่อยให้อินเทอร์เน็ตพูดคุยกับอุปกรณ์ภายในเครือข่ายของคุณ