ฉันได้ทำสิ่งนี้จริง ๆ แล้วแม้ว่าจะมีการเชื่อมต่อระยะไกล "เพียง" สองสามร้อยที่คล้ายกันกับเราเตอร์ DSL ฉันไม่สามารถแสดงความคิดเห็นมากเกินไปเกี่ยวกับปัญหาการ rekeying แต่สิ่งที่ปฏิบัติได้สองสามอย่างที่ฉันได้เรียนรู้ระหว่างทาง:
1) เมื่อปรับใช้ไคลเอนต์ตรวจสอบให้แน่ใจว่าคุณระบุเซิร์ฟเวอร์ VPN หลายตัวในไคลเอนต์ conf, vpn1.example.com, vpn2.example.com, vpn3 ..... แม้ว่าคุณจะให้หนึ่งหรือสองเหล่านี้ตอนนี้คุณให้ ตัวคุณเองเฮดรูม กำหนดค่าอย่างถูกต้องไคลเอนต์จะทำการลองใหม่โดยสุ่มจนกว่าพวกเขาจะพบที่ทำงาน
2) เราใช้อิมเมจเซิร์ฟเวอร์ AWS VPN ที่กำหนดเองและสามารถเพิ่มกำลังการผลิตได้ตามต้องการและ Amazon DNS (R53) จัดการด้าน DNS ของสิ่งต่าง ๆ มันแยกออกจากโครงสร้างพื้นฐานส่วนที่เหลือทั้งหมดของเราอย่างสมบูรณ์
3) ที่เซิร์ฟเวอร์ให้ใช้ netmask อย่างระมัดระวังเพื่อ จำกัด จำนวนผู้มีโอกาสเป็นลูกค้า ที่ควรบังคับให้ลูกค้าเข้าสู่เซิร์ฟเวอร์ทางเลือกเพื่อลดปัญหา CPU ฉันคิดว่าเรา จำกัด เซิร์ฟเวอร์ของเราไว้ที่ 300 คนหรือมากกว่านั้น ตัวเลือกนี้ค่อนข้างจะมีข้อ จำกัด ในส่วนของเรา - "ความรู้สึกไส้ใน" ถ้าคุณต้องการ
4) นอกจากนี้ที่จุดสิ้นสุดของเซิร์ฟเวอร์คุณควรใช้ไฟร์วอลล์อย่างระมัดระวัง ในแง่ง่ายเรามีการกำหนดค่าของเราเพื่อให้ลูกค้าสามารถเชื่อมต่อ VPN แต่เซิร์ฟเวอร์ไม่อนุญาตการเชื่อมต่อ ssh ทั้งหมดขาเข้ายกเว้นจากที่อยู่ IP ที่รู้จักกันอย่างเคร่งครัด เราสามารถ SSH ให้กับลูกค้าหากเราต้องการเป็นครั้งคราวพวกเขาไม่สามารถ SSH ให้เรา
5) อย่าพึ่ง OpenVPN ทำการเชื่อมต่อใหม่ให้คุณตอนท้ายไคลเอนต์ มันจะ 9 เท่าจาก 10 แต่บางครั้งมันก็ติด มีกระบวนการแยกต่างหากเพื่อรีเซ็ต / รีสตาร์ท openVPN ที่จุดสิ้นสุดไคลเอ็นต์เป็นประจำ
6) คุณต้องการวิธีสร้างคีย์เฉพาะสำหรับลูกค้าเพื่อให้คุณสามารถปฏิเสธพวกเขาบางครั้ง เราสร้างสิ่งเหล่านี้ภายในด้วยกระบวนการสร้างเซิร์ฟเวอร์ (PXEboot) ของเรา ไม่เคยเกิดขึ้นกับเรา แต่เรารู้ว่าเราสามารถทำได้
7) คุณจะต้องมีเครื่องมือการจัดการสคริปต์เพื่อตรวจสอบการเชื่อมต่อเซิร์ฟเวอร์ VPN ของคุณอย่างมีประสิทธิภาพ
มีเนื้อหาไม่มากเกี่ยวกับวิธีการทำสิ่งนี้โชคไม่ดี แต่เป็นไปได้ด้วยการกำหนดค่าอย่างระมัดระวัง