กำหนดเส้นทางไคลเอนต์ OpenVPN ผ่าน Cloudflare? ตรวจสอบบทบาทก่อน
ไคลเอนต์อุปกรณ์ไม่ใช่เราเตอร์ ยืนยันว่าบทบาทของ Cloudflare ส่งต่อแพ็กเก็ตของโฮสต์อื่น แล้วเก็บอุโมงค์ของเซิร์ฟเวอร์เองไว้บนเส้นทางเดิม
คุณมี OpenVPN เซิร์ฟเวอร์ที่ใช้งานได้และโฮสต์ที่รันซอฟต์แวร์อุปกรณ์ของ Cloudflare ด้วย และขั้นตอนถัดไปที่ชัดเจนดูเหมือนจะเป็นการส่งทราฟฟิกของไคลเอนต์ไปที่มันการเชื่อมต่อสองรายการที่ทำงานบนเครื่องเดียวไม่รวมกันเป็นเกตเวย์ส่งผ่านสิ่งที่ขาดคือบทบาทที่จัดทำเอกสารไว้สำหรับส่งต่อแพ็กเก็ตที่เป็นของคนอื่น และนโยบายที่จำแนกแพ็กเก็ตเหล่านั้นเมื่อมาถึง
ก่อนกฎใด ๆ มีสี่คำถาม: ทราฟฟิกใดเข้ามา ไปที่ใดต่อไป คำตอบหาทางกลับได้อย่างไร และการออกแบบทำอะไรเมื่อเส้นทางที่สองล้มเหลวสองข้อแรกเป็นคำถามเรื่องความสามารถ
สองบริการบนโฮสต์เดียวไม่ใช่เส้นทางส่งผ่าน
ไคลเอนต์อุปกรณ์ถูกสร้างมาเพื่อจัดการทราฟฟิกที่เกิดบนเครื่องที่มันทำงานอยู่มันดักจับการแปลงชื่อ หรือทราฟฟิกแอปพลิเคชันที่เลือก และส่งผ่านอุโมงค์ของตัวเอง และนโยบายของมันเขียนไว้สำหรับผู้ใช้ของอุปกรณ์นั้นและโปรเซสของอุปกรณ์นั้นแพ็กเก็ตที่ส่งต่อจากไคลเอนต์ OpenVPN ไม่ใช่เอาต์พุตภายใน จึงไม่ถูกจำแนกด้วยกฎเดียวกันนี่ไม่ใช่รายละเอียดการกำหนดค่าที่ปกปิดด้วยกฎที่กว้างกว่าได้ เพราะมันตัดสินว่าซอฟต์แวร์เห็นแพ็กเก็ตหรือไม่
นั่นคือเหตุผลที่คำถามการออกแบบเป็นคำถามเรื่องความสามารถไม่ว่าผลิตภัณฑ์ที่ติดตั้งจะมีบทบาทที่จัดทำเอกสารไว้สำหรับส่งต่อทราฟฟิกให้เครือข่ายอื่น หรือ ฟังก์ชันส่งผ่านเป็นของที่อื่นโดยสิ้นเชิง
บทบาทใดของ Cloudflare ที่ได้รับอนุญาตให้ส่งต่อ
ไคลเอนต์อุปกรณ์ของ Cloudflare มีโหมดที่ต่างกันในขอบเขต: แปลงชื่อเท่านั้น ทราฟฟิกจากอุปกรณ์ และบางครั้งทั้งสองอย่างไม่มีโหมดใดเปลี่ยนโฮสต์ให้เป็นเราเตอร์สำหรับช่วงส่วนตัวที่มาจากอุโมงค์อื่นบทบาทการกำหนดเส้นทางเฉพาะเป็นผลิตภัณฑ์แยกต่างหากที่มีคอนเนกเตอร์ การลงทะเบียน และโมเดลเครือข่ายของตัวเอง
| Question | What has to answer it |
|---|---|
| Does the installed product forward packets from other hosts? | A documented routing or connector role, not a device mode |
| Which prefixes does the connector advertise? | Its own configuration and status output |
| Does the server's own transport still take the old path? | ip route get for the endpoint, before and after |
| Do replies return through the same path? | Connection tracking counters on the forward rule |
ตรวจสอบบทบาทที่ติดตั้งก่อนออกแบบเส้นทางรอบ ๆ มันอ่านว่าคอนเนกเตอร์สร้างอินเทอร์เฟซใด ประกาศคำนำหน้าเฉพาะหรือเส้นทางเริ่มต้นหรือไม่ และนโยบายภายในใช้กับแพ็กเก็ตที่ส่งต่อเช่นเดียวกับแพ็กเก็ตภายในหรือไม่หากจัดการเฉพาะทราฟฟิกภายใน เซิร์ฟเวอร์ OpenVPN จะเป็นจุดส่งผ่านไม่ได้ ไม่ว่ากฎการแปลจะเขียนอย่างไร
ที่นี่เองที่ข้อกำหนดเรื่องทางออกสาธารณะต้องระบุอย่างแม่นยำทางออกที่ Cloudflare จัดให้สำหรับทราฟฟิกไคลเอนต์ที่ส่งต่อเป็นกรณีการใช้งานเฉพาะ และต้องยืนยันกับบริการที่คุณมีจริง
เก็บอุโมงค์ชั้นนอกให้เป็นอิสระจากเส้นทางใหม่
ทันทีที่คุณเพิ่มเส้นทางเริ่มต้นไปยังอินเทอร์เฟซใหม่ ทราฟฟิกขาออกของเซิร์ฟเวอร์เองก็เริ่มแข่งขันกันเอง และรวมถึงการตอบกลับไปยังไคลเอนต์ OpenVPN และเซสชัน SSH ของคุณไปยังเครื่องอาการปกติคืออุโมงค์ที่สร้างขึ้นแล้วตายไป หรือผู้ดูแลถูกล็อกออกด้านนอกในขณะที่การเปลี่ยนแปลงดูเหมือนสำเร็จเปรียบเทียบ ip route get สำหรับปลายทางก่อนและหลัง และใช้การกำหนดเส้นทางตามนโยบายหรือเส้นทางโฮสต์เพื่อเก็บการรับส่งของเซิร์ฟเวอร์เองไว้ที่เดิมรันการเปรียบเทียบนั้นจากเครื่องเอง เพราะมุมมองของเซิร์ฟเวอร์ต่อเส้นทางของตัวเองคือสิ่งที่นับ
ข้อยกเว้นสำหรับที่อยู่สาธารณะของเซิร์ฟเวอร์ไม่เพียงพอในตัวเอง เพราะเส้นทางกลับของผู้ดูแลระยะไกลแต่ละรายเป็นโฟลว์ที่ต่างกันตัดสินว่าโฟลว์ใดต้องรอดจากการเปลี่ยนแปลง แล้วตรวจสอบแต่ละรายการแทนที่จะถือว่ารายการแรกครอบคลุมที่เหลือ
จำกัดการส่งต่อและการแปลให้อยู่ในโฟลว์เดียว
แพ็กเก็ตที่ได้รับจะตามเส้นทางส่งต่อ ไม่ใช่เส้นทางเอาต์พุตภายใน กฎที่สำคัญจึงอยู่ในฮุก forwardเมื่ออินเทอร์เฟซถัดไปต้องการการแปล ให้จำกัดแหล่งที่มาไว้ที่กลุ่มไคลเอนต์ ปลายทางไว้ที่สิ่งที่ได้รับอนุญาต และทางออกไว้ที่อินเทอร์เฟซเดียวนั้นกฎ masquerade ที่ผูกกับอินเทอร์เฟซเท่านั้นไม่เลือกเส้นทางด้วยตัวเองและไม่อนุญาตให้ส่งต่อผ่านฟิลเตอร์อื่นใด
ตัดสินพฤติกรรมการปิดเมื่อล้มเหลวล่วงหน้า แล้วทดสอบหยุดเส้นทางถัดไปและยืนยันว่าไคลเอนต์สูญเสียทางออกที่ตั้งใจไว้ แทนที่จะถอยกลับไปที่อัปลิงก์ปกติอย่างเงียบ ๆ เพราะนั่นคือผลลัพธ์ที่ไม่มีใครสังเกตจนกว่าทราฟฟิกจะออกทางประตูผิดทำการตรวจสอบซ้ำสำหรับการแปลงชื่อและสำหรับ IPv6 เพราะชุดกฎสำหรับ v4 เท่านั้นปล่อยเส้นทาง v6 ไว้เปิด
เขียนคำตอบสี่ข้อที่คุณลงเอยด้วยและข้อสังเกตที่พิสูจน์แต่ละข้อเส้นทางส่งผ่านที่คุณอธิบายได้คือเส้นทางที่คุณปกป้องได้ในการทบทวนเหตุการณ์ครั้งถัดไป