ฉันมีเซิร์ฟเวอร์ OpenVPN ที่ทำงานบน Ubuntu ใน AWS และใช้ Tunnelblick บน macOS เพื่อเชื่อมต่อ ฉันไม่มีปัญหาในการเชื่อมต่อกับเซิร์ฟเวอร์ VPN อื่น ๆ แต่ดูเหมือนว่าเซิร์ฟเวอร์นี้จะหมดเวลา/รีเซ็ตทุก ๆ 2 นาที
โปรไฟล์ OVPN ของฉัน:
ลูกค้า
ทุนพัฒนา
โปรโตคอล udp
รีโมท ............... 1194
resolv-retry ไม่มีที่สิ้นสุด
ไม่ผูกมัด
ผู้ใช้ไม่มีใคร
กลุ่มโนกรุ๊ป
คีย์คงอยู่
คงอยู่-tun
เซิร์ฟเวอร์ระยะไกล cert-tls
รหัส AES-256-CBC
กริยา 3
รหัส AES-128-CBC
รับรองความถูกต้อง SHA256
ทิศทางที่สำคัญ 1
<ca>
-----เริ่มต้นใบรับรอง-----
...
-----จบใบรับรอง-----
</ca>
<ใบรับรอง>
ใบรับรอง:
ข้อมูล:
รุ่น: 3 (0x2)
...
-----เริ่มต้นใบรับรอง-----
...
-----จบใบรับรอง-----
</cert>
<คีย์>
----- เริ่มต้นรหัสส่วนตัว -----
...
----- สิ้นสุดรหัสส่วนตัว -----
</คีย์>
<tls-auth>
#
# คีย์คงที่ OpenVPN 2048 บิต
#
----- เริ่มต้น OpenVPN รหัสคงที่ V1-----
...
----- สิ้นสุดคีย์ OpenVPN แบบคงที่ V1-----
</tls-auth>
ในการเชื่อมต่อ เซิร์ฟเวอร์จะพุชการตั้งค่าต่อไปนี้:
PUSH: ได้รับข้อความควบคุม: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 8.8.8.8,route 172.16.0.0 255.255.240.0,route 172.16.16.0 255.255.240.0,route 172.16.128.0 255.255.route4 172.16.144.0 255.255.240.0,เส้นทาง 10.8.0.1,โทโพโลยี net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5,peer-id 1,cipher AES-256-GCM'
(หมายเหตุโดยเฉพาะ ping 10, ping-รีสตาร์ท 120
)
เพิ่มระดับการบันทึกบนไคลเอ็นต์ ดูเหมือนว่าการเชื่อมต่อกำลังส่งแพ็กเก็ตข้อมูล:
2021-09-03 11:31:21.848620 UDP WRITE [62] ถึง [AF_INET]...:1194: P_ACK_V1 kid=0 pid=[ #13 ] [ 6 ]
2021-09-03 11:31:21.848768 UDP WRITE [130] ถึง [AF_INET]...:1194: P_DATA_V2 kid=0 DATA len=129
2021-09-03 11:31:21.848856 UDP WRITE [226] ถึง [AF_INET]...:1194: P_DATA_V2 kid=0 DATA len=225
อย่างไรก็ตาม การเชื่อมต่อมักจะหยุดทำงานหลังจากผ่านไปประมาณ 2 นาที สถานะบันทึกไคลเอ็นต์:
2021-09-03 11:40:26.121900 [cc-vpn] การหมดเวลาของการไม่ใช้งาน (--ping-restart), การรีสตาร์ท
2021-09-03 11:40:26.122379 ได้รับ SIGUSR1[soft,ping-restart] แล้ว กระบวนการเริ่มต้นใหม่
2021-09-03 11:40:26.122504 การจัดการ: >STATE:1630683626,RECONNECTING,ping-restart,,,,,
2021-09-03 11:40:26.448969 การจัดการ: CMD 'ระงับการปล่อย'
ไม่มีสิ่งใดในบันทึกของเซิร์ฟเวอร์นอกจากการรีสตาร์ทการเชื่อมต่อ
การหมดเวลา 2 นาทีนั้นสมเหตุสมผลเนื่องจาก ping-restart 120
การตั้งค่าส่งไปยังไคลเอนต์ แต่ฉันไม่ชัดเจนว่าทำไมจึงคิดว่าไม่ได้ใช้งาน ฉันพลาดอะไรไป มีการตั้งค่าบนไคลเอนต์ที่หยุดการส่ง ping ไปยังเซิร์ฟเวอร์อย่างถูกต้องหรือไม่?
การเพิ่ม ping/ping-restart โดยเฉพาะในการกำหนดค่าไคลเอ็นต์ดูเหมือนจะไม่ช่วย (ฉันคิดว่าเซิร์ฟเวอร์ PUSH จะถูกแทนที่ด้วย)
ฉันจะดีบักสิ่งนี้และหาสาเหตุที่ทำให้การเชื่อมต่อไม่คงอยู่ได้อย่างไร