วิธีทำงานข้าม VPN หลายตัวได้อย่างไร้ความสับสนสามวิธี
การสลับตามลำดับ พื้นที่ทำงานหนึ่งแห่งต่อลูกค้าหนึ่งราย และเกตเวย์ร่วม มีต้นทุนการประสานงานที่ต่างกัน เลือกวิธีหนึ่งแล้วจดขั้นตอนส่งมอบไว้
อุโมงค์ลูกค้าสองอุโมงค์ แล็ปท็อปหนึ่งเครื่อง และแท็บเบราว์เซอร์ที่ยังล็อกอินอยู่ในที่ที่ไม่ควรอยู่ ส่วนที่ยากของการทำงานข้ามเครือข่ายส่วนตัวหลายเครือข่ายไม่ใช่การเชื่อมต่อ แต่คือการรู้ว่าหน้าต่างหนึ่งเป็นของบริบทใดเมื่อคุณสลับ พื้นที่ทำงานตอบคำถามนั้นได้ คือหนึ่งตัวตน หนึ่งชุดแอปพลิเคชัน หนึ่งนโยบายตัวแก้ชื่อ และหนึ่งจุดให้ดูเมื่อมีบางอย่างถูกแก้ชื่อผิด ในวันที่แย่ นี่คือความต่างระหว่างการแก้ไขห้านาทีกับการรั่วไหลของข้อมูล
ตัดสินใจว่างานเป็นงานพร้อมกันหรือไม่
ถ้าคำตอบคือไม่ ให้หยุดตรงนี้และใช้รูปแบบที่ง่ายที่สุดเท่าที่มี การเชื่อมต่อหนึ่งรายการที่ได้รับอนุมัติในแต่ละครั้ง เชื่อมและตัดผ่านไคลเอนต์ที่เป็นเจ้าของโปรไฟล์ จะขจัดความล้มเหลวทั้งชั้นก่อนที่อย่างใดอย่างหนึ่งจะเกิดขึ้น
ความเป็นงานพร้อมกันคือสิ่งที่เพิ่มต้นทุน คำนำหน้าที่ทับซ้อน นโยบายตัวแก้ชื่อสองชุด และสถานะแอปพลิเคชันสองชุด ต้องถูกแยกออกจากกันอย่างตั้งใจ ไม่ใช่ด้วยเวลา
จดข้อกำหนดไว้อย่างตรงไปตรงมา เพราะการอยากหลีกเลี่ยงการเชื่อมต่อใหม่ไม่เหมือนกับการต้องการทั้งสองเครือข่ายพร้อมกัน
ลำดับเป็นรูปแบบที่ถูกที่สุด
งานตามลำดับไม่ต้องใช้โครงสร้างพื้นฐานเพิ่มเติม และโหมดล้มเหลวของมันคือเซสชันที่ค้างเก่า ไม่ใช่ความขัดแย้งของการกำหนดเส้นทาง วินัยอยู่ที่การส่งมอบ ทำงานให้เสร็จ ปิดสิ่งที่ถือการเชื่อมต่อ ตัดการเชื่อมต่อ และยืนยันการเชื่อมต่อถัดไปก่อนเริ่มงาน
แท็บเบราว์เซอร์หรือเทอร์มินัลที่เปิดค้างไว้ไม่ได้พาบริบทเครือข่ายของมันไปด้วย คำขอถัดไปจะไปยังที่ที่เครื่องกำหนดเส้นทางอยู่ตอนนี้ ซึ่งอาจเป็นลูกค้าอีกราย
ติดป้ายโปรไฟล์ตามลูกค้าไม่ใช่ตามโปรโตคอล และเก็บเจ้าของข้อมูลรับรองให้มองเห็นได้ในชื่อโปรไฟล์ โปรไฟล์ชื่อ work2 ไม่ได้บอกอะไรใครในขณะที่สลับอย่างเร่งรีบ
ข้อดีของรูปแบบนี้คือตรวจสอบได้ ทุกขณะมีบริบทเครือข่ายเดียว และบันทึกแสดงว่าเปลี่ยนเมื่อใด
หนึ่งพื้นที่ทำงานต่อลูกค้าหนึ่งรายมีต้นทุนคือการแยกตัว
เครื่องเสมือนหรือสภาพแวดล้อมการพัฒนาทางไกลต่อลูกค้าหนึ่งรายรวมไคลเอนต์ แอปพลิเคชัน และชื่อไว้ในที่เดียว การสลับกลายเป็นการเปลี่ยนหน้าต่างแทนการเปลี่ยนเครือข่าย และสองบริบทไม่สามารถรั่วเข้าหากันผ่านเส้นทางที่หลงผิด
นี่ไม่ฟรี ตอนนี้คุณดูแลระบบสองหรือสามระบบ แพตช์มัน และตัดสินใจว่าไฟล์และข้อมูลรับรองอยู่ที่ไหน เครื่องเสมือนยังเข้าถึงอินเทอร์เน็ตผ่านโฮสต์ ดังนั้นเส้นทางภายนอกของมันยังเป็นเส้นทางของแล็ปท็อปคุณ
ตรวจสอบว่าไคลเอนต์และนโยบายสถานะอุปกรณ์ใด ๆ อนุญาตสภาพแวดล้อมนั้นก่อนสร้างนิสัยรอบมัน ไคลเอนต์ที่ปฏิเสธการทำงานในเครื่องเสมือนเป็นข้อเท็จจริงที่ควรค้นพบแต่เนิ่น ๆ
เกตเวย์ร่วมคือโครงสร้างพื้นฐาน
เราเตอร์แยกที่บรรทุกทราฟฟิกที่เลือกไว้เปลี่ยนปัญหาให้เป็นการออกแบบเครือข่าย มันทำงานได้ดีเมื่อหลายคนต้องการเครือข่ายลูกค้าเดียวกัน และล้มเหลวเมื่อมีคนปฏิบัติต่อมันเป็นกล่องวิเศษที่แยกทุกลูกค้าออกจากกัน
เกตเวย์หนึ่งตัวที่สลับอุโมงค์ที่ใช้งานอยู่คือบริบทที่ใช้ร่วมกันหนึ่งบริบทพร้อมคิว ไม่ใช่เครือข่ายอิสระหลายเครือข่าย ระบุว่าใครเปลี่ยนได้ มันให้บริการแหล่งใด และเกิดอะไรขึ้นเมื่อสองคนต้องการลูกค้าต่างกันในเวลาเดียวกัน หากไม่มีคำตอบนั้น เกตเวย์จะกลายเป็นแหล่งของเหตุขัดข้องที่ไม่มีใครเป็นเจ้าของ และยังกลายเป็นที่ที่ใครบางคนปิดการตรวจสอบอย่างเงียบ ๆ เพื่อให้ทันกำหนด
จดการส่งมอบไว้เป็นบันทึก
บันทึกไม่ต้องซับซ้อน แต่ต้องเฉพาะเจาะจงพอที่คนอื่นจะทำตามได้ บน Linux เนมสเปซคือเวอร์ชันทางเทคนิคของแนวคิดเดียวกัน พร้อมอินเทอร์เฟซและตารางเส้นทางของตัวเอง
คำสั่งเหล่านี้สร้างเนมสเปซ รันคำสั่งภายใน และแสดงว่าปัจจุบันไคลเอนต์เดสก์ท็อปถือการเชื่อมต่อใดอยู่
sudo ip netns add customer-a
sudo ip netns exec customer-a ip route
nmcli connection show --active
แอปพลิเคชันยังต้องเริ่มภายในเนมสเปซ และการกำหนดค่าตัวแก้ชื่อภายในนั้นเป็นไฟล์แยก การแยกอินเทอร์เฟซไม่ได้แยกคลิปบอร์ด เอเจนต์ SSH หรือแชร์ที่เมานต์ไว้ และนั่นคือการรั่วไหลที่คนมักลืม
เลือกรูปแบบเล็กที่สุดที่รักษาการแยกที่คุณต้องการจริง ๆ และทำให้การเปลี่ยนผ่านมองเห็นได้ ชื่อหน้าต่าง พรอมต์เทอร์มินัล ชื่อโปรไฟล์ และเจ้าของข้อมูลรับรอง ควรตรงกันทั้งหมดก่อนส่งคำขอส่วนตัวใด ๆ