Remote Access
การเข้าถึง MikroTik ระยะไกลหลัง CGNAT
เรียนรู้ว่า CGNAT คืออะไร เหตุใดจึงบล็อกการเข้าถึงขาเข้าสู่เราเตอร์ MikroTik และวิธีจัดการอุปกรณ์ระยะไกลด้วยอุโมงค์ขาออก.
สรุป CGNAT (Carrier-Grade NAT) ช่วยให้ ISP แบ่งปันที่อยู่ IPv4 สาธารณะเพียงหนึ่งที่อยู่ให้แก่ผู้ใช้บริการจำนวนมาก ซึ่งช่วยประหยัดที่อยู่ที่มีอยู่อย่างจำกัด แต่ทำให้การเชื่อมต่อขาเข้าใช้ไม่ได้ ดังนั้นการส่งต่อพอร์ตไปยังเราเตอร์ MikroTik ที่อยู่หลังมันจึงไม่ทำงาน เนื่องจากเราเตอร์ไม่มีที่อยู่สาธารณะที่เข้าถึงได้ วิธีแก้ที่เชื่อถือได้คือกลับทิศทาง โดยให้เราเตอร์โทรออกไปยังจุดนัดพบที่คุณควบคุม คู่มือนี้อธิบายว่า CGNAT คืออะไร จะตรวจหาได้อย่างไร และจะจัดการเราเตอร์ MikroTik ที่อยู่หลังมันด้วยอุโมงค์ขาออกได้อย่างไร
CGNAT คืออะไร?
CGNAT คือชั้นที่สองของการแปลที่อยู่เครือข่ายที่ทำงานอยู่ภายในเครือข่ายของ ISP ซึ่งจับคู่ลูกค้าจำนวนมากเข้ากับกลุ่มที่อยู่ IPv4 สาธารณะที่ใช้ร่วมกันจำนวนเล็กน้อย โดยทั่วไปจะมอบที่อยู่ส่วนตัวจากช่วงของผู้ให้บริการ 100.64.0.0/10 ให้แต่ละผู้ใช้บริการแทนที่จะเป็น IP สาธารณะจริง มันมีอยู่เพราะโลกใช้บล็อก IPv4 ที่ว่างหมดไปเมื่อหลายปีก่อน แทนที่จะซื้อที่อยู่ที่แพงขึ้นเรื่อย ๆ ผู้ให้บริการแบบไร้สายประจำที่ มือถือ ไฟเบอร์ และดาวเทียมส่วนใหญ่จึงวางผู้ใช้บริการไว้หลังเกตเวย์ที่ใช้ร่วมกัน MikroTik ของคุณยังคงเข้าถึงอินเทอร์เน็ตได้และสามารถเริ่มการเชื่อมต่อขาออกได้ตามปกติ แต่จากมุมมองของอินเทอร์เน็ตสาธารณะ เราเตอร์ของคุณไม่มีที่อยู่เป็นของตัวเอง (Carrier-grade NAT — Wikipedia)
CGNAT ทำให้การเข้าถึงขาเข้าสู่ MikroTik ใช้ไม่ได้อย่างไร?
การส่งต่อพอร์ตแบบปกติถือว่าอินเทอร์เฟซ WAN ของคุณมี IP สาธารณะที่ส่วนที่เหลือของอินเทอร์เน็ตเข้าถึงได้ ภายใต้ CGNAT สมมติฐานนั้นล้มเหลวถึงสองชั้น ประการแรก ที่อยู่ WAN ของคุณเป็นส่วนตัว (มักเป็น 100.64.x.x) ดังนั้นพอร์ตที่ส่งต่อบน MikroTik ของคุณจึงชี้ไปยังที่อยู่ที่ไม่มีใครนอกผู้ให้บริการสามารถกำหนดเส้นทางถึงได้ ประการที่สอง IP สาธารณะจริงอยู่ที่อุปกรณ์ NAT หลักของ ISP ซึ่งใช้ร่วมกับผู้ใช้บริการอีกหลายสิบรายและจะไม่ส่งต่อพอร์ตขาเข้าใด ๆ มาให้คุณ เพราะคุณไม่ได้ควบคุมมัน (Open Port Checkers — Why port forwarding fails with CGNAT)
ผลในทางปฏิบัติสำหรับใครก็ตามที่ดูแลฝูงเราเตอร์นั้นรุนแรง คุณไม่สามารถ Winbox, WebFig, SSH หรือ API เข้าไปยัง MikroTik ของลูกค้าจากที่ทำงานได้ เพราะไม่มีเส้นทางขาเข้าไปยังมัน ชื่อโฮสต์ DNS แบบไดนามิกก็ไม่ช่วยเช่นกัน มันจะแปลงไปยัง IP ที่ใช้ร่วมกันของผู้ให้บริการ ไม่ใช่เราเตอร์ของคุณ นี่คือกำแพงเดียวกับที่ผู้ใช้ Starlink ต้องเจอ ซึ่งเราครอบคลุมโดยละเอียดในกรณีศึกษาการเปลี่ยน IP ของ Starlink ของเรา
คุณจะบอกได้อย่างไรว่า MikroTik อยู่หลัง CGNAT?
ตรวจสอบที่อยู่บนอินเทอร์เฟซ WAN แล้วเปรียบเทียบกับ IP สาธารณะที่การเชื่อมต่อแสดงต่ออินเทอร์เน็ตจริง ในเทอร์มินัล Winbox หรือ WebFig:
/ip address printหากอินเทอร์เฟซ WAN มีที่อยู่ในช่วง 100.64.0.0 – 100.127.255.255 (ช่วงที่ใช้ร่วมกัน 100.64.0.0/10), 10.0.0.0/8 หรือช่วงส่วนตัว RFC1918 อื่น คุณแทบจะแน่ใจได้ว่าอยู่หลัง CGNAT ยืนยันได้โดยเปรียบเทียบที่อยู่นั้นกับสิ่งที่บริการ “what is my IP” ภายนอกรายงาน หากต่างกัน แสดงว่ามี NAT ของผู้ให้บริการคั่นอยู่ระหว่างคุณกับอินเทอร์เน็ต traceroute ที่แสดงฮอปส่วนตัวหนึ่งฮอปหรือมากกว่าก่อนฮอปสาธารณะแรกเป็นสัญญาณที่ชัดเจนอีกอย่างหนึ่ง (oneuptime — How to detect if you are behind CGNAT)
คุณจะจัดการเราเตอร์ MikroTik ที่อยู่หลัง CGNAT ได้อย่างไร?
วิธีแก้ที่ยั่งยืนคือเลิกพยายามเชื่อมต่อ เข้าไป และให้เราเตอร์เชื่อมต่อ ออกไป ยังจุดนัดพบที่มีที่อยู่สาธารณะที่เสถียรแทน เนื่องจากการเชื่อมต่อขาออกถูกเริ่มจากหลัง CGNAT NAT ของผู้ให้บริการจึงยอมให้ผ่านอย่างเต็มใจ เช่นเดียวกับที่เบราว์เซอร์ของคุณเข้าถึงเว็บไซต์ใดก็ได้ เมื่ออุโมงค์นั้นถูกสร้างขึ้นแล้ว คุณก็เข้าถึงเราเตอร์กลับผ่านมันได้ มีสี่วิธีทั่วไปในการสร้างสิ่งนี้ แต่ละวิธีมีคู่มือของตัวเอง:
VPN ที่โฮสต์เองไปยัง VPS เป็นแนวทางคลาสสิก: Linux VPS ราคาถูกที่มี IP สาธารณะทำหน้าที่เป็นจุดนัดพบ และ MikroTik แต่ละตัวโทรเข้าไป WireGuard เป็นค่าเริ่มต้นสมัยใหม่ ทั้งเร็ว ใช้ CPU น้อย และทนต่อการเปลี่ยนที่อยู่ที่มากับ CGNAT และ IP แบบไดนามิก คู่มือการจัดการบน VPS ที่กว้างกว่าครอบคลุมแนวคิดเดียวกันด้วยอุโมงค์ประเภทอื่น
mesh VPN แบบที่มีการจัดการ ช่วยขจัดงานเดินสายด้วยมือส่วนใหญ่ ทั้ง Tailscale และ ZeroTier ต่างให้ระนาบควบคุมที่จัดการการทะลุผ่าน NAT และการแจกจ่ายคีย์ให้คุณ ดังนั้นเราเตอร์ที่อยู่หลัง CGNAT จึงเข้าร่วมเครือข่ายได้แทบไม่ต้องตั้งค่าต่ออุปกรณ์
แพลตฟอร์ม TR-069 / ACS เป็นตัวเลือกมาตรฐานของผู้ให้บริการโทรคมนาคมเมื่อคุณดำเนินงานในระดับใหญ่: CPE เปิดเซสชันขาออกไปยังเซิร์ฟเวอร์การกำหนดค่าอัตโนมัติ ซึ่งจากนั้นจะส่งการกำหนดค่าและเฟิร์มแวร์ออกไป มันถูกสร้างมาเพื่อจัดการอุปกรณ์ของผู้ใช้บริการที่อยู่หลัง NAT ของผู้ให้บริการโดยเฉพาะ
คลาวด์การจัดการที่สร้างมาเพื่อวัตถุประสงค์เฉพาะ รวมแนวคิดอุโมงค์ขาออกเข้ากับการเฝ้าติดตามและการควบคุมการเข้าถึงไว้ในที่เดียว ซึ่งเป็นรูปแบบที่ NATCloud ของ MKController ใช้
เคล็ดลับ
- IPv6 มักหลีกเลี่ยง CGNAT ได้ทั้งหมด หาก ISP ของคุณกำหนดคำนำหน้า IPv6 ที่กำหนดเส้นทางได้ คุณอาจเข้าถึงเราเตอร์ผ่าน IPv6 ได้แม้ในขณะที่ IPv4 ติดอยู่หลัง NAT ของผู้ให้บริการ แต่ต่อเมื่อทุกฮอปในเส้นทางการจัดการของคุณก็มี IPv6 ด้วยเท่านั้น
- ตั้งค่า keepalive บนอุโมงค์ขาออกเสมอ (เช่น
persistent-keepalive=25บน WireGuard) เพื่อไม่ให้ผู้ให้บริการเงียบ ๆ ทิ้งการแมป NAT ที่ไม่มีกิจกรรม - ISP บางรายขายที่อยู่ IPv4 แบบคงที่หรือสาธารณะเป็นส่วนเสริมที่ต้องจ่ายเงิน สำหรับไซต์สำคัญเพียงแห่งเดียวอาจง่ายกว่าการใช้อุโมงค์ แต่สำหรับฝูงอุปกรณ์มันไม่คุ้มค่าในเชิงต้นทุน
- อย่าเปิด Winbox, WebFig หรือ SSH ออกสู่อินเทอร์เน็ตโดยตรงเป็น “วิธีแก้ขัด” เด็ดขาด หลัง CGNAT มันก็ใช้ไม่ได้อยู่แล้ว และบน IP สาธารณะจริงมันคือคำเชิญผู้โจมตีที่ตั้งทิ้งไว้
คำถามที่พบบ่อย
บริการ DNS แบบไดนามิกแก้ปัญหา CGNAT ได้ไหม? ไม่ได้ DNS แบบไดนามิกเพียงอัปเดตชื่อโฮสต์ให้ชี้ไปยัง IP สาธารณะที่คุณมี หลัง CGNAT IP สาธารณะนั้นเป็นของผู้ให้บริการและถูกใช้ร่วมกัน ดังนั้นชื่อโฮสต์จึงไม่สามารถเข้าถึงเราเตอร์ของคุณได้
CGNAT เหมือนกับ NAT บนเราเตอร์ของฉันเองไหม? ไม่เหมือน NAT ของเราเตอร์คุณแปลง LAN ส่วนตัวของคุณเป็นที่อยู่ WAN ของคุณ และคุณควบคุมกฎการส่งต่อพอร์ตของมัน CGNAT เพิ่ม NAT ตัวที่สอง ภายในฝั่ง ISP ที่คุณไม่ได้ควบคุม ซึ่งเป็นเหตุผลที่การส่งต่อขาเข้าใช้ไม่ได้
ฉันขอให้ ISP ปิดมันได้ไหม? บางครั้งได้ ผู้ให้บริการหลายรายเสนอที่อยู่ IPv4 สาธารณะหรือแบบคงที่โดยมีค่าธรรมเนียมหรือตามคำขอ ความพร้อมใช้งานและราคาแตกต่างกันมากตามผู้ให้บริการและภูมิภาค
ก้าวสู่ขั้นตอนต่อไป
การสร้างอุโมงค์ของคุณเองสำหรับเราเตอร์ตัวเดียวนั้นตรงไปตรงมา การทำมันข้าม MikroTik หลายสิบหรือหลายร้อยตัว แต่ละตัวอยู่หลังผู้ให้บริการ CGNAT ที่ต่างกัน พร้อมคีย์ที่ต้องหมุนเวียนและการกำหนดค่า VPS ที่ต้องคอยดูแล นั่นคือจุดที่ต้นทุนการดำเนินงานสะสมขึ้น
NATCloud ของ MKController ถูกสร้างมาเพื่อสิ่งนี้โดยเฉพาะ MikroTik แต่ละตัวออนไลน์ผ่านอุโมงค์ขาออกไปยังระนาบควบคุม โดยไม่ต้องมี IP สาธารณะ ไม่ต้องส่งต่อพอร์ต และไม่ต้องแก้ไข VPS ต่ออุปกรณ์ คุณได้รับการเฝ้าติดตามแบบรวมศูนย์และการเข้าถึงระยะไกลที่ปลอดภัยสู่ทุกเราเตอร์ แม้แต่ตัวที่ฝังลึกอยู่หลัง NAT ของผู้ให้บริการ