การมอนิเตอร์เซิร์ฟเวอร์และเครือข่ายเมช
CreateYourVPN คอยจับตาดูสุขภาพของเซิร์ฟเวอร์อย่างไร: การตรวจสอบตนเอง เครือข่ายเมชของการตรวจสอบซึ่งกันและกันระหว่างเซิร์ฟเวอร์ และการซ่อนเซิร์ฟเวอร์ที่เข้าถึงไม่ได้จากผู้ใช้โดยอัตโนมัติ
เซิร์ฟเวอร์อาจทำให้คุณผิดหวังได้ในช่วงเวลาที่แย่ที่สุด: บริการล่ม โฮสต์รีบูตเครื่อง — หรือแย่ยิ่งกว่านั้น เซิร์ฟเวอร์ถูก บล็อก ในประเทศของผู้ใช้และหยุดเข้าถึงได้ แม้ว่าในทางเทคนิคมันจะยังทำงานอยู่ก็ตาม ผู้ใช้ของคุณไม่ควรสังเกตเห็นสิ่งเหล่านี้เลย บทเรียนนี้ครอบคลุมเรื่องที่ว่า CreateYourVPN คอยเฝ้าดูเซิร์ฟเวอร์ของคุณอย่างไร และเกิดอะไรขึ้นเมื่อเซิร์ฟเวอร์เครื่องใดเครื่องหนึ่งมีปัญหา
การตรวจสอบสองชั้น
ระบบมองแต่ละเซิร์ฟเวอร์จากสองมุมมอง
1. เซิร์ฟเวอร์ตรวจสอบตัวเอง
ทุก ๆ ไม่กี่นาที เซิร์ฟเวอร์แต่ละเครื่องจะรายงานเข้ามา: ตัวรับฟังทราฟฟิกบนพอร์ต 443 ยังทำงานอยู่หรือไม่ และบริการ VPN กำลังรันอยู่หรือเปล่า เมทริกจากบทที่ 3 จะมาพร้อมกับรายงานเดียวกันนี้ หากรายงานบอกว่า "ฉันไม่สบาย" เซิร์ฟเวอร์จะได้รับสถานะ "เซิร์ฟเวอร์ไม่พร้อมใช้งาน" หากรายงานหยุดส่งเข้ามาทั้งหมด สถานะจะกลายเป็น "ไม่มีข้อมูลจากเซิร์ฟเวอร์" — เครื่องอาจถูกปิดหรือขาดการเชื่อมต่อเครือข่าย
2. เซิร์ฟเวอร์ "เคาะประตู" กันเอง
การตรวจสอบตนเองไม่สามารถจับกรณีที่แสบที่สุดได้: เซิร์ฟเวอร์ เชื่อว่าตัวเองยังสบายดี แต่จากภายนอกไม่สามารถเข้าถึงได้ — เช่น IP ของมันถูกบล็อก นี่คือเหตุผลที่เซิร์ฟเวอร์ทั้งหมดของคุณถูกรวมเข้าเป็น เครือข่ายเมชของการตรวจสอบซึ่งกันและกัน: เซิร์ฟเวอร์แต่ละเครื่องจะพยายามเข้าถึงเพื่อนบ้านทุกตัวอยู่เป็นประจำ — ในลักษณะเดียวกับที่แอปของผู้ใช้จะทำ
จากนั้น "การโหวต" จะเข้ามาทำงาน:
- การเคาะที่ล้มเหลวเพียงครั้งเดียวไม่มีความหมายอะไร — เครือข่ายอาจแค่กะพริบชั่วครู่ มีเพียง ชุดความล้มเหลวที่ต่อเนื่อง เท่านั้นที่นับ
- เซิร์ฟเวอร์จะถูกทำเครื่องหมายว่า "เข้าถึงไม่ได้จากเซิร์ฟเวอร์ของคุณ" ก็ต่อเมื่อ เซิร์ฟเวอร์อิสระหลายเครื่อง ไม่สามารถเข้าถึงมันได้อย่างต่อเนื่องเท่านั้น — ความเห็นของเซิร์ฟเวอร์เดียวไม่ใช่คำตัดสิน
- ยังมีการป้องกันจาก "พยานที่ไม่น่าเชื่อถือ" ด้วย: หากเซิร์ฟเวอร์ตัวใดตัวหนึ่งอ้างว่ามองไม่เห็นเพื่อนบ้านครึ่งหนึ่งของมันอย่างกะทันหัน ปัญหาน่าจะอยู่ที่ตัวมันเองมากกว่า และคะแนนโหวตของมันจะถูกทิ้งไป
นี่คือแผนการเดียวกันกับที่จับการบล็อกได้: หากเซิร์ฟเวอร์ถูกบล็อกในประเทศที่มีเซิร์ฟเวอร์อื่นของคุณตั้งอยู่ เพื่อนบ้านจากประเทศนั้นจะหยุดเข้าถึงมันได้อย่างรวดเร็ว จนเกิดองค์ประชุม (quorum) และระบบจะทำเครื่องหมายเซิร์ฟเวอร์นั้นว่าเข้าถึงไม่ได้ ในขณะเดียวกัน เซิร์ฟเวอร์ในประเทศที่ไม่มีการบล็อกก็จะยังคงมองเห็นมันต่อไป — และความแตกต่างของความคิดเห็นนี้เองที่ทำให้ภาพชัดเจนขึ้น
เมื่อการตรวจสอบการเชื่อมต่อระหว่างสองเซิร์ฟเวอร์ไม่ผ่าน
การโหวตจะจับการบล็อกได้เมื่อคุณมีเซิร์ฟเวอร์หลายเครื่องในประเทศที่ปิดการเข้าถึง แต่ส่วนใหญ่คุณมีเพียงเครื่องเดียวที่นั่น เครื่องนั้นมองไม่เห็นเซิร์ฟเวอร์ต่างประเทศของคุณ ขณะที่เครื่องต่างประเทศมองเห็นกันเองได้ดี ภาพแบบนี้จะไม่มีวันรวบรวมเสียงได้ครบ
เราสังเกตเห็นอยู่ดี แต่จะบอกตามตรงว่าเราไม่รู้อะไร จาก «A มองไม่เห็น B» ไม่สามารถสรุปได้ว่าที่อยู่ของฝ่ายใดถูกบล็อก เพราะนี่คือคำกล่าวเดียวกันเกี่ยวกับเส้นทางระหว่างทั้งสอง และจากภายนอกทั้งสองกรณีดูเหมือนกันทุกประการ ดังนั้น:
- โดยค่าเริ่มต้นเราไม่กล่าวโทษใคร เราทำเครื่องหมาย «เข้าถึงไม่ได้» ที่จุดเชื่อมต่อของฝั่งที่การตรวจสอบไปไม่ถึง และของทั้งสองฝั่งหากไม่ผ่านทั้งสองทิศทาง เหตุผลจะระบุชื่อทั้งสองเซิร์ฟเวอร์ (เห็นได้เมื่อเปิดจุดเชื่อมต่อในการ์ดเซิร์ฟเวอร์) คุณเป็นผู้ตัดสินใจว่าจะเปลี่ยนเครื่องไหน ส่วนใหญ่คือเครื่องที่ลูกค้าของคุณเข้าถึงไม่ได้
- ไม่มีเครื่องใดถูกซ่อน การซ่อนทั้งคู่จะดึงเซิร์ฟเวอร์ที่ยังปกติดีออกจากการสมัครสมาชิกไปด้วย ลูกค้ายังคงได้รับจุดเชื่อมต่อของทั้งสองเครื่อง ส่วนการกระจายโหลดก็เพียงเลือกเครื่องที่ปกติดีก่อน หากเส้นทางมีอยู่
เซิร์ฟเวอร์ตรวจสอบ
เพื่อให้ได้คำตอบที่ชัดเจนแทน «เครื่องใดเครื่องหนึ่งในสอง» ให้ทำเครื่องหมายเซิร์ฟเวอร์ที่คุณเชื่อถือผลการตรวจสอบ: การ์ดเซิร์ฟเวอร์ → «ใช้เซิร์ฟเวอร์นี้ตรวจสอบการบล็อกของเครื่องอื่น»
จากนั้นกฎก็ง่าย: ถ้าเซิร์ฟเวอร์ตรวจสอบมองไม่เห็นเซิร์ฟเวอร์ธรรมดา เราจะถือว่าที่อยู่ของเซิร์ฟเวอร์ธรรมดานั้นถูกบล็อก ส่งอีเมลแนะนำให้คุณเปลี่ยน IP และหยุดส่งจุดเชื่อมต่อของเครื่องนั้นให้ลูกค้าตราบใดที่เส้นทางยังมีตัวเลือกอื่น ในทางกลับกัน เซิร์ฟเวอร์ธรรมดามองไม่เห็นเครื่องตรวจสอบ ไม่มีความหมายใด ๆ
เซิร์ฟเวอร์ตรวจสอบที่ดีที่สุดคือเครื่องที่อยู่ในประเทศเดียวกับลูกค้าของคุณ เพราะมุมมองของมัน ใกล้เคียงกับสิ่งที่แอปของผู้ใช้เห็นมากที่สุด คุณสามารถทำเครื่องหมายได้หลายเครื่อง แต่ถ้าทำ เครื่องหมายทุกเครื่อง ทิศทางจะหายไปอีกครั้ง เพราะไม่เหลือใครตัดสิน และคู่เซิร์ฟเวอร์จะกลับไป ทำงานแบบค่าเริ่มต้น โปรดทราบว่าเซิร์ฟเวอร์ตรวจสอบเองจะไม่ถูกสัญญาณนี้ทำเครื่องหมายอีกต่อไป เพราะเราตัดสินจากฝั่งของมัน จึงไม่เหลือใครมาตัดสินมัน
เกิดอะไรขึ้นกับเซิร์ฟเวอร์ที่มีปัญหา
สถานะเหล่านี้จะป้อนเข้าสู่การกระจายโหลดโดยตรง: เซิร์ฟเวอร์ที่มีสถานะ "เซิร์ฟเวอร์ไม่พร้อมใช้งาน" และ "เข้าถึงไม่ได้จากเซิร์ฟเวอร์ของคุณ" จะถูก ดึงออกจากการหมุนเวียน — ไม่มีการเชื่อมต่อใหม่ส่งไปทางนั้น และในการสมัครสมาชิกของผู้ใช้ ตำแหน่งของมันจะถูกแทนที่ด้วยเซิร์ฟเวอร์ที่แข็งแรงจากเส้นทางเดียวกัน ข้อยกเว้นเดียวคือคู่ที่ขาดการเชื่อมต่อโดยไม่มีเครื่องตรวจสอบ ตรงนั้นจุดเชื่อมต่อจะถูกทำเครื่องหมาย แต่ไม่มีจุดใดถูกถอดออกจากการจ่ายงาน
ในขณะเดียวกัน ระบบก็ระมัดระวัง — มันถูกสร้างขึ้นบนหลักการ "อย่าทำอันตราย":
- เส้นทางจะไม่มีวันถูกทิ้งให้ว่างเปล่า หากเซิร์ฟเวอร์ทุกเครื่องในเส้นทางกลายเป็น "แย่" ทั้งหมด ระบบจะให้บริการตัวเลือกที่ดีที่สุดที่มีอยู่แก่ผู้ใช้ แทนที่จะเป็นลิสต์ว่างเปล่า — มิฉะนั้นแอปจะตัดสินว่าเซิร์ฟเวอร์หายไปแล้วและลบมันทิ้ง
- ความเงียบไม่ใช่คำตัดสิน สถานะ "ไม่มีข้อมูลจากเซิร์ฟเวอร์" จะไม่ดึงเซิร์ฟเวอร์ออกจากการหมุนเวียนด้วยตัวมันเอง — หากไม่มีข้อมูลล่าสุด ระบบจะไม่ทำการเคลื่อนไหวที่ฉับพลัน
ทุกอย่างรักษาตัวเองได้
ไม่มีสถานะใดที่ "ติดค้าง" ตลอดไป — สถานะจะถูกคำนวณใหม่จากข้อมูลล่าสุดเสมอ:
- เซิร์ฟเวอร์ส่งรายงานที่แข็งแรงเข้ามาอีกครั้ง → สถานะ "เซิร์ฟเวอร์ไม่พร้อมใช้งาน" จะถูกยกเลิก
- เพื่อนบ้านเริ่มเข้าถึงมันได้อีกครั้ง → ชุดความล้มเหลวจะถูกรีเซ็ต และเครื่องหมาย "เข้าถึงไม่ได้จากเซิร์ฟเวอร์ของคุณ" จะหายไป
- รายงานกลับมาเริ่มต้นอีกครั้ง → "ไม่มีข้อมูลจากเซิร์ฟเวอร์" จะหายไป
ซ่อมเซิร์ฟเวอร์เสร็จ (หรือรอให้การบล็อกถูกยกเลิก) — แล้วมันจะกลับเข้าประจำการเองโดยอัตโนมัติ ไม่ต้อง "เปิดกลับคืน" ด้วยมือเลย
จะดูสิ่งนี้ได้ที่ไหนในแผงควบคุม
เปิดการ์ดของผู้ใช้คนใดก็ได้ → รายการเซิร์ฟเวอร์ของพวกเขา: ข้าง ๆ เซิร์ฟเวอร์แต่ละเครื่องจะมีจุดสถานะ และเมื่อมีปัญหา — คำอธิบายพร้อมเหตุผล: "เซิร์ฟเวอร์ไม่พร้อมใช้งาน", "เข้าถึงไม่ได้จากเซิร์ฟเวอร์ของคุณ" (พร้อมระบุว่าเซิร์ฟเวอร์ของคุณกี่เครื่องที่มองไม่เห็นมัน) หรือ "ไม่มีข้อมูลจากเซิร์ฟเวอร์" สัญญาณทางอ้อมก็ปรากฏบนการ์ดเซิร์ฟเวอร์เช่นกัน: ป้าย "ข้อมูลเก่า" บนเมทริก และ "ไม่มีข้อมูล — เอเจนต์ไม่ตอบสนอง"
การตรวจสอบแบบเมชนั้นประหยัดมาก: เป็นการแตะทดสอบเล็ก ๆ พร้อมเพดานปริมาณ ต่อวันที่เข้มงวด — ไม่มีผลกระทบต่อทราฟฟิกหรือประสิทธิภาพของเซิร์ฟเวอร์ของคุณเลย
สรุปสิ่งสำคัญ
- การควบคุมสองชั้น: เซิร์ฟเวอร์ตรวจสอบ ตัวเอง และเพื่อนบ้านในเครือข่ายเมชตรวจสอบ มันจากภายนอก
- การบล็อกถูกจับได้ด้วย "การโหวต" ของเซิร์ฟเวอร์หลายเครื่อง — ไม่ตื่นตระหนกกับความผิดพลาดครั้งเดียว
- เซิร์ฟเวอร์ที่มีปัญหาหลุดออกจากการหมุนเวียน ผู้ใช้ย้ายไปยังเซิร์ฟเวอร์ที่แข็งแรงโดยเงียบ ๆ
- ทุกอย่างรักษาตัวเองได้: ทันทีที่เซิร์ฟเวอร์ฟื้นคืนชีพ มันจะกลับเข้าร่วมโดยอัตโนมัติ
- หากการตรวจสอบการเชื่อมต่อระหว่างเซิร์ฟเวอร์คู่หนึ่งไม่ผ่านและยังไม่ได้เลือกเครื่องตรวจสอบ เราจะทำเครื่องหมายจุดเชื่อมต่อของฝั่งที่เข้าถึงไม่ได้ (หรือของทั้งสองฝั่ง หากไม่ผ่านทั้งสองทิศทาง) และ ไม่ซ่อน จุดใดเลย การตัดสินใจเป็นของคุณ
บทถัดไป
โครงสร้างพื้นฐานรู้วิธีซ่อมแซมตัวเอง แต่มีสิ่งหนึ่งที่ควรปกป้องแยกต่างหาก — ฐานผู้ใช้ของคุณ
การเข้าถึงฉุกเฉิน: เมื่อเครือข่ายบล็อกทุกอย่าง
การเข้าถึงฉุกเฉิน (OLCRTC) ใน CreateYourVPN: ช่องสำรองที่ปลอมตัวเป็นวิดีโอคอลสำหรับเครือข่ายที่ใช้ไวต์ลิสต์ — มันกินทรัพยากรเซิร์ฟเวอร์เท่าไร อะไรเปิดเองพร้อมกับ Pro และคุณควรบอกผู้ใช้ล่วงหน้าว่าอย่างไร
การสำรองข้อมูล: บันทึกและกู้คืนผู้ใช้ของคุณ
ทำไมต้องสำรองฐานข้อมูลผู้ใช้ วิธีตั้งค่าการสำรองข้อมูลอัตโนมัติไปยัง Google Drive หรือ S3 และวิธีกู้คืนจากข้อมูลสำรอง