เราเพิ่งเปลี่ยน VPN จาก OpenVPN เป็น SoftEther; มันใช้งานได้ดีจนถึงตอนนี้ โดยมีข้อยกเว้นหนึ่งข้อ: SQL Server Management Studio ด้วยเหตุผลบางอย่าง SSMS หรือ SQL Server ดูเหมือนว่าจะหยุดการเชื่อมต่อหลังจากช่วงเวลาสั้นๆ (ประมาณ 30 วินาที) การพยายามเรียกใช้แบบสอบถามหลังจากนั้น (แม้แต่ SELECT อย่างง่าย) จะส่งคืนสิ่งนี้:

การกด F5 ที่จุดนั้นจะสร้างการเชื่อมต่อใหม่และทุกอย่างก็ปกติดี...อีก 30 วินาทีหรือมากกว่านั้น ไม่ใช่ตัวแบ่งข้อตกลง แต่น่ารำคาญอย่างมากหากคุณเป็น DBA (เช่นผู้ใช้ของฉันหลายคน)
อย่างอื่นทำงานได้ดีบน SoftEther: ไฟล์ + พิมพ์, เซสชัน SSH/RDP, MySQL Workbench อะไรก็ตาม ดูเหมือนว่าจะเป็น SSMS ที่ไม่ชอบ แต่ฉันไม่รู้ว่าทำไม ปัญหานี้พบได้ทั่วไปใน SQL Servers ทั้งหมดที่ฉันได้ทดสอบด้วย ฉันได้ปรับการตั้งค่าการหมดเวลา/keepalive บนเซิร์ฟเวอร์และไคลเอ็นต์แล้ว แต่ดูเหมือนจะไม่มีผลใดๆ การติดตามแพ็กเก็ตของการรับส่งข้อมูล SQL Server แสดงเซิร์ฟเวอร์ที่ส่ง RST หลังจากผ่านไปประมาณ 30 วินาที:

(192.168.30.30 คือ VPN IP ของฉัน, 172.16.1.132 คือ SQL Server ที่ฉันกำลังทดสอบด้วย)
ไม่มีใครมีความคิดว่าฉันจะโน้มน้าวให้สิ่งนี้เชื่อมต่อได้อย่างไร DBA ที่โกรธไม่สนุกที่จะอยู่ใกล้
แก้ไข เพื่อตอบสนองต่อความคิดเห็นของ Greg: การรับส่งข้อมูลบนเซิร์ฟเวอร์ไม่แสดง RST เพียงแค่ FIN/ACK:

(150.150.10.39 คือ IP ฝั่ง LAN ของเซิร์ฟเวอร์ VPN ซึ่งเป็น NAT-ing การรับส่งข้อมูลของฉัน)
การอัปเดตเพิ่มเติม 14/3/22: การปรับ MTU บนไคลเอ็นต์ เซิร์ฟเวอร์ VPN หรือเซิร์ฟเวอร์ SQL ดูเหมือนจะไม่มีผลใดๆ อะไร ทำ มีเอฟเฟกต์คือใช้ DBeaver เป็นไคลเอนต์แทน SSMS ที่มั่นคงโดยไม่มีการหมดเวลาหรือขาดการเชื่อมต่อ