VPN แบบ L2 เทียบกับอุโมงค์ L3: ห้าข้อตรวจก่อนเชื่อมไซต์ด้วยบริดจ์
อุโมงค์ L3 ทิ้งส่วนหัว Ethernet ทำให้ ARP, PXE และโปรโตคอลที่ไม่ใช่ IP หยุดทำงาน ห้าข้อตรวจจะบอกว่าคุณจำเป็นต้องใช้เฟรมจริงหรือไม่
คุณเชื่อมไซต์ด้วยบริดจ์เพราะเครื่องมือบางอย่างยืนยันว่าต้องอยู่ในเครือข่ายเดียวกัน และสามสัปดาห์ต่อมาคุณก็อ่านบันทึกของสวิตช์ตอนตีสอง สัญชาตญาณแบบนั้นตัดสินลิงก์ Ethernet-over-IP มากเกินไป ที่นี่มีเพียงความแตกต่างเดียวที่สำคัญจริง คือเฟรมทั้งเฟรมเดินทางจากปลายถึงปลาย หรือมีเพียงแพ็กเก็ต IP เท่านั้นที่เดินทาง ทำห้าข้อตรวจด้านล่างตามลำดับ และหยุดที่ข้อแรกที่ล้มเหลว
ตรวจสอบว่าแอปพลิเคชันใส่อะไรลงบนสายจริง ๆ
ก่อนที่ชื่อผลิตภัณฑ์ใดจะเข้าสู่การสนทนา ให้บันทึกทราฟฟิกหนึ่งนาทีที่จะต้องข้ามลิงก์: tcpdump -i eth0 -nn -e 'not ip'. ตัวเลือก -e พิมพ์ส่วนหัวของชั้นลิงก์ ซึ่งเป็นส่วนที่อุโมงค์แบบกำหนดเส้นทางทิ้งไป ถ้าการบันทึกยังว่างอยู่ แอปพลิเคชันของคุณพูด IP และอุโมงค์ L3 นำส่งโดยไม่เปลี่ยนแปลง หากมีเฟรมปรากฏขึ้น ให้บันทึก EtherType ไว้ เพราะ 0x0806 คือ ARP, 0x88cc คือ LLDP และค่าจากผู้ผลิตมักหมายถึงโปรโตคอลการค้นพบที่ไม่มีทางเลือกผ่าน IP ณ จุดนี้เองที่อินเทอร์เฟซ tun ธรรมดาไม่เพียงพออีกต่อไป
ทำการบันทึกซ้ำที่ฝั่งไกลด้วย เฟรมที่มีอยู่เพียงภายในสวิตช์เสมือนของโฮสต์เดียวไม่ใช่เหตุผลที่จะยืดโดเมนการออกอากาศข้าม WAN
ตรวจสอบว่าการค้นพบต้องข้ามลิงก์หรือไม่
อุโมงค์แบบกำหนดเส้นทางไม่มีเซกเมนต์ร่วม ดังนั้นสิ่งที่ส่งถึงกลุ่มจึงไปไม่ถึงอีกฝั่ง ARP การออกอากาศ DHCP, mDNS ที่ 224.0.0.251, SSDP และการสอบถามชื่อ NetBIOS ล้วนถือว่าลิงก์ที่หลายโฮสต์ได้ยินพร้อมกัน
ถามว่าแอปพลิเคชันพึ่งพาสิ่งใดจริง ๆ และมีพร็อกซีสำหรับสิ่งนั้นอยู่แล้วหรือไม่ รีเลย์ DHCP การสะท้อน mDNS และรายการ ARP แบบคงที่แต่ละอย่างลบ dependency หนึ่งรายการ และแต่ละอย่างก็เป็นบริการอีกตัวที่ต้องรันและเฝ้าดู เมื่อเหลือสองหรือสามข้อ การทำบริดจ์คือคำตอบที่ซื่อสัตย์
ตรวจสอบว่าส่วนหัวที่เพิ่มเข้ามาเสียค่าใช้จ่ายเท่าไร
เฟรมต้องมีที่อยู่ ดังนั้นทุกอย่างที่คุณส่งจะถูกห่อด้วยสแต็กส่วนหัวชุดที่สอง VXLAN overlay หมายถึงส่วนหัว IP ชั้นนอก ส่วนหัว UDP และส่วนหัว VXLAN ขนาด 8 ไบต์ ซึ่งดันเพย์โหลดเต็มขนาด 1,500 ไบต์ให้เกิน MTU เส้นทางของลิงก์อินเทอร์เน็ตทั่วไปที่ 1,500 ไบต์ OpenVPN ในโหมด tap ก็เพิ่มโอเวอร์เฮดของตัวเองไปในทิศทางเดียวกัน หากไม่มี MTU ที่ต่ำกว่าฝั่งใน คุณจะได้ลิงก์ที่ตอบ ping ได้แต่หยุดเมื่อมีการถ่ายโอนขนาดใหญ่ครั้งแรก
บิลไม่ได้หยุดที่ไบต์ของส่วนหัว การออกอากาศและมัลติแคสต์ที่สวิตช์จัดการในฮาร์ดแวร์ตอนนี้วิ่งบน WAN และทุกไซต์ที่ทำบริดจ์สืบทอดแผนที่อยู่ ขอบเขต DHCP และพฤติกรรมแอดเดรสซ้ำชุดเดียวกัน นั่นทำให้ลิงก์ตรวจสอบได้ยากกว่าพูลแบบกำหนดเส้นทางที่มีหนึ่งพรีฟิกซ์ต่อไซต์มาก
คำนวณก่อนเลือก เซกเมนต์ที่ใช้งานหนักซึ่งถูกทำสำเนาไปยังสามไซต์อาจเคลื่อนทราฟฟิกการออกอากาศได้มากกว่าการถ่ายโอนไฟล์ที่มันถูกสร้างมาเพื่อรองรับ
ตรวจสอบว่ากำลังเสนอ VPN แบบ L2 ชนิดใดให้คุณ
คำนี้เองก็กำกวม และความกำกวมนั้นเป็นตัวกำหนดว่าใครขนส่งทราฟฟิกของคุณ บางครั้งมันอธิบายเพย์โหลด คือเฟรม Ethernet ที่อยู่ภายใน IP ส่งผ่านอินเทอร์เน็ตเหมือนอุโมงค์อื่น ๆ อย่างที่ VXLAN, ZeroTier และโหมด tap ของ OpenVPN ทำ บางครั้งมันอธิบายบริการที่ซื้อมา คือวงจร Ethernet ของผู้ให้บริการหรือสายเทียม MPLS ที่เชื่อมสองไซต์ภายในเครือข่ายของผู้ให้บริการรายเดียว
ทั้งสองให้เซกเมนต์แก่คุณ แอปพลิเคชันจึงแยกไม่ออก แต่ความแตกต่างด้านปฏิบัติการนั้นมาก โอเวอร์เลย์ปล่อยให้คุณรับผิดชอบ MTU การเข้ารหัส และเส้นทางชั้นล่าง บริการของผู้ให้บริการรับสิ่งเหล่านั้นไปและคิดค่าบริการ และจะไม่กำหนดเส้นทางเฟรมของคุณผ่านอินเทอร์เน็ตสาธารณะเลย จะเลือกแบบไหนขึ้นกับว่าสองไซต์ใช้ผู้ให้บริการรายเดียวกันหรือแค่เป็นบริษัทเดียวกัน
ตรวจสอบวิธีที่ถูกกว่าก่อนทำบริดจ์
คำขอเชื่อมลิงก์ด้วยบริดจ์ส่วนใหญ่มาจากการค้นหาชื่อที่เสียเพียงครั้งเดียว ไม่ได้มาจากโปรโตคอลที่ต้องการเฟรมจริง ๆ ส่งตัวแปลงชื่อและโดเมนค้นหาผ่านอุโมงค์แบบกำหนดเส้นทางก่อน: dhcp-option DNS 10.8.0.1 พร้อมกับ dhcp-option DOMAIN internal.example ในการตั้งค่าเซิร์ฟเวอร์ OpenVPN ช่วยแก้ได้มากจนน่าประหลาดใจ ตัวส่งต่อภายในฝั่งไกลทำงานเดียวกันโดยไม่ต้องย้ายทราฟฟิกการออกอากาศใด ๆ
หากเครื่องมือเก่าตัวหนึ่งยังล้มเหลว ให้วางเครื่องมือนั้นไว้หลังพร็อกซีหรือโฮสต์กระโดดในเซกเมนต์ปลายทาง ตัวส่งต่อ TCP ตัวเดียวถูกกว่าการดูแล WAN ที่ทำบริดจ์
ปิดการตัดสินใจตามลำดับ: ทราฟฟิกมี EtherType ที่ไม่ใช่ IP หรือไม่ การค้นพบต้องข้ามหรือไม่ MTU รับส่วนหัวที่เพิ่มได้หรือไม่ มีวงจรของผู้ให้บริการอยู่จริงหรือไม่ และวิธีแบบกำหนดเส้นทางล้มเหลวด้วยเหตุผลที่คุณบอกได้หรือไม่ คำว่าไม่ในขั้นใดก็จบข้อโต้แย้งเพื่ออุโมงค์ที่คุณมีอยู่แล้ว เก็บการบันทึกและรายการ EtherType ไว้กับบันทึกการเปลี่ยนแปลงเพราะคนถัดไปจะถามคำถามเดียวกันและไม่อยากวัดซ้ำ