Openvpn

OpenVPN 問題 - TLS 密鑰協商未能在 60 秒內發生

  • April 29, 2021

我正在 Windows 2012 伺服器上配置 OpenVPN(2.3.10 版)伺服器,但無法使其正常工作。

伺服器在路由器後面,我打開了 1194 埠並創建了一個規則,將這個埠上的流量轉發到伺服器。

這是我嘗試從客戶端連接時在伺服器上看到的日誌:

Mon Mar 21 11:11:47 2016 XX.XX.XX.XX:57804 TLS: Initial packet from [AF_INET]XX.XX.XX.XX:57804, sid=fdf7a7ac 0264c7f3
Mon Mar 21 11:12:38 2016 XX.XX.XX.XX:55938 TLS: Initial packet from [AF_INET]XX.XX.XX.XX:55938, sid=1f242a3f e454a525
Mon Mar 21 11:12:48 2016 XX.XX.XX.XX:57804 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Mon Mar 21 11:12:48 2016 XX.XX.XX.XX:57804 TLS Error: TLS handshake failed
Mon Mar 21 11:12:48 2016 XX.XX.XX.XX:57804 SIGUSR1[soft,tls-error] received, client-instance restarting

其中 XX.XX.XX.XX 是客戶端的 ip。所以我從中了解到客戶端至少能夠到達伺服器,所以沒有路由或防火牆問題。

我按照這裡提供的描述 Easy Windows Guide 有什麼想法嗎?

有趣的是埠號如何在中途變化:

2016 年 3 月 21 日星期一 11:11:47 XX.XX.XX.XX:57804 TLS:初始數據包來自

$$ AF_INET $$XX.XX.XX.XX:57804,sid=fdf7a7ac 0264c7f3 2016 年 3 月 21 日星期一 11:12:38 XX.XX.XX.XX:55938 TLS:初始數據包來自

$$ AF_INET $$XX.XX.XX.XX:55938,sid=1f242a3f e454a525

這讓我認為,在客戶端和伺服器之間的某個地方,有一個行為不端的 NAT 設備,一個具有非常短暫的狀態表條目的設備,它正在更改它應用於客戶端已建立流的源埠號,導致伺服器認為兩個短暫的通信正在進行,而不是一個連續的通信。

此類設備通常僅使用 UDP 執行此操作,因此我建議您確認您使用的是 UDP,然後嘗試使用 TCP。您已完成此操作,並發現它可以解決問題。下一步是辨識行為不端的 NAT 設備,用棍子錘擊它,然後用不會犯假設所有 UDP 通信都是短暫的重大錯誤的設備替換它;但是您表示您很高興將更改為 TCP 作為一種解決方法,因此事情已經結束。

引用自:https://serverfault.com/questions/765521