ต้องเตรียมอะไรก่อนจะโฮสต์เซิร์ฟเวอร์ VPN ของตัวเอง?
ไบนารีของเซิร์ฟเวอร์เป็นส่วนที่ง่ายที่สุด ต้องตกลงปลายทาง ตัวตนของไคลเอนต์ ช่วงแอดเดรส และทางกลับเข้ามาก่อนจะติดตั้งอะไร
การติดตั้งซอฟต์แวร์เซิร์ฟเวอร์เป็นส่วนที่สั้นที่สุดของ VPN ที่โฮสต์เอง และเป็นขั้นตอนที่คนมักเริ่มก่อน การปรับใช้จะได้ผลหรือไม่ขึ้นกับว่าไคลเอนต์ไปถึงปลายทางได้ไหม หลังเข้าอุโมงค์แล้วไคลเอนต์นั้นเข้าถึงอะไรได้ และเมื่อสิ่งที่พังคืออุโมงค์เอง คุณจะกลับเข้าไปได้อย่างไร ตกลงทั้งสามข้อก่อนตัวจัดการแพ็กเกจจะทำงาน
สองข้อเป็นการตัดสินใจเชิงออกแบบ และข้อที่สามเป็นนิสัยในการปฏิบัติงาน ทั้งสามข้อแก้บนกระดาษถูกกว่าแก้ตอนเกิดเหตุขัดข้อง
ตกลงว่าไคลเอนต์ควรเข้าถึงอะไร
เซิร์ฟเวอร์สำหรับเข้าถึงระยะไกลต้องมีเส้นทางไปยังเครือข่ายส่วนตัวที่มันประกาศ และมีทางกลับสำหรับคำตอบ ซึ่งทำให้มันเป็นเราเตอร์ของเครือข่ายนั้น ไม่ใช่แค่ตัวรอรับ เซิร์ฟเวอร์สำหรับออกอินเทอร์เน็ตต้องมีการส่งต่อพร้อมการจัดสรรหรือแปลงแอดเดรส และการจับมือที่สำเร็จอย่างเดียวไม่ได้ให้ทั้งสองอย่าง เลือกงานก่อนเลือกโครงสร้าง เพราะสองแบบต่างกันที่การเลือกเส้นทาง กฎไฟร์วอลล์ และสิ่งที่ไคลเอนต์ส่งผ่านอุโมงค์ เซิร์ฟเวอร์ที่ถูกขอให้ทำทั้งสองอย่างต้องมีกฎทั้งสองชุดและการแบ่งเส้นทางเริ่มต้นของไคลเอนต์ให้สอดคล้องกัน
เลือกช่วงอุโมงค์และช่วง LAN ที่ชนกับเครือข่ายที่ไคลเอนต์ใช้อยู่ไม่ได้ เพราะแล็ปท็อปที่มี 192.168.1.0/24 อยู่แล้วจะใช้เส้นทางนั้นต่อไป แทนที่จะรับอุโมงค์ที่แจกพรีฟิกซ์เดียวกัน ตรวจ IPv4 กับ IPv6 แยกกัน เพราะหลายคนทำอันแรกถูกแล้วไม่เคยสังเกตอันที่สอง เมื่อเซิร์ฟเวอร์อยู่หลังเราเตอร์อีกตัว ให้ยืนยันว่าจากภายนอกเข้าถึงได้ แทนที่จะเชื่อว่าการส่งต่อพอร์ตครั้งเดียวอธิบายได้ทุกชั้น
ตัวตน กุญแจ และทางกลับเข้ามา
ออกตัวตนแยกให้แต่ละอุปกรณ์ในที่ที่ซอฟต์แวร์รองรับ เพื่อให้แล็ปท็อปหายหมายถึงการเพิกถอนเพียร์หนึ่งตัว ไม่ใช่การสร้างเซิร์ฟเวอร์ใหม่ กุญแจส่วนตัวอยู่ในการจัดเก็บที่ป้องกันไว้ และไม่เคยอยู่ในโปรไฟล์ที่ถูกวางในข้อความแชต ทางกู้คืนคือส่วนที่คนข้ามไป ไม่ว่าจะเป็นการเข้าถึงคอนโซล คอนโซลอนุกรม หรืออินเทอร์เฟซจัดการนอกแบนด์ที่ไม่ขึ้นกับอุโมงค์ หากไม่มีสิ่งนี้ กฎไฟร์วอลล์ที่ผิดหนึ่งข้อจะเปลี่ยนการแก้เล็ก ๆ ให้กลายเป็นการไปหน้างาน
เขียนขั้นตอนการถอดออกไปพร้อมกับขั้นตอนการลงทะเบียน การเพิกถอนอุปกรณ์เป็นงานที่สักวันต้องใช้ และอธิบายได้ง่ายกว่าในขณะที่การตั้งค่ายังใหม่
ปลายทางไว้ที่บ้านหรือเช่า
สามเงื่อนไขตัดสินระหว่างโฮสต์ที่บ้านกับการเช่าอินสแตนซ์เล็ก ข้อแรกคือ การเชื่อมต่อขาเข้าจะมาถึงเครือข่ายของคุณได้หรือไม่ เพราะลิงก์ขาขึ้นที่ถูกแปลงในระดับผู้ให้บริการหรือเครือข่ายอาคารที่จำกัดจะตัดทางเลือกนี้ออก ข้อที่สองคือทางออกต้องไปปรากฏที่อื่นที่ไม่ใช่เมืองของคุณหรือไม่ เพราะมีแต่ปลายทางที่เช่าจึงเปลี่ยนข้อนี้ได้ ข้อที่สามคือความเต็มใจต่อความสัมพันธ์ไว้วางใจอีกชั้น เพราะผู้ให้บริการโฮสติ้งเข้ามาอยู่ในแบบจำลองและสังเกตปลายทางได้แม้อ่านทราฟฟิกไม่ได้
ถ้าเงื่อนไขข้อแรกผ่านและข้อที่สองไม่เกี่ยว การโฮสต์ที่บ้านเป็นทางที่สั้นกว่า ปลายทางที่เช่าซื้อตำแหน่งและความพร้อมใช้งาน ไม่ใช่ความเป็นส่วนตัวโดยตัวมันเอง
พิสูจน์ด้วยไคลเอนต์หนึ่งตัวและการรีสตาร์ตหนึ่งครั้ง
เปิดไคลเอนต์หนึ่งตัว ยืนยันทรัพยากรที่มันควรเข้าถึง และยืนยันว่ามันหยุดเข้าถึงสิ่งที่มันไม่ควร คำสั่งด้านล่างแสดงสถานะเพียร์ เส้นทางที่เซิร์ฟเวอร์ติดตั้ง และการส่งต่อเปิดอยู่หรือไม่ รันคำสั่งเหล่านี้ก่อนลงทะเบียนใครคนอื่น
wg show
sysctl net.ipv4.ip_forward
ip route get 10.8.0.2
ss -lunp | grep -E ':(51820|1194)'
เพียร์ที่จับมือล่าสุดคือเชื่อมต่ออยู่ ส่วนเพียร์ที่ไม่มีการจับมือเลยคือไม่เคยต่อรองกัน และนั่นเป็นความล้มเหลวคนละแบบ การส่งต่อที่ปิดอยู่อธิบายอุโมงค์ที่ลุกขึ้นมาแล้วไม่พาอะไรไปเลย ดังนั้นตรวจเซิร์ฟเวอร์ก่อนโทษไคลเอนต์ ตัวรอรับที่หายไปหมายถึงบริการไม่ได้เริ่มด้วยคอนฟิกที่คุณคิด หลังจากนั้นจงตั้งใจรีสตาร์ตเซิร์ฟเวอร์แล้วทำทั้งชุดซ้ำ เพราะอุโมงค์ที่ใช้ได้เพียงจนถึงการรีสตาร์ตเป็นผลลัพธ์ปกติของการทดสอบแต่เส้นทางที่ราบรื่น
จดปลายทาง เพียร์ ช่วง และวิธีการกู้คืนไว้ในหน้าเดียว หน้านั้นคือคู่มือที่คุณจะเปิดอ่านในจังหวะที่สะดวกน้อยที่สุด