我们的 openVPN VPN 存在随机延迟问题(特别是 ssh 和 smb)。
我如何确定造成此延迟的原因?例如,我可以使用 iperf 在 MSS 上玩吗?如何使用?
答案1
我要做的第一件事是检查隧道流量本身及其使用的连接。如果您使用 OpenVPN,您可能正在穿越互联网(这是 VPN 最常见的需求)。您是否监控 OpenVPN 端点之间的延迟?如果没有,您应该从那里开始。这就像运行地铁当问题发生时,或者更好的是,运行一些监控工具来不断跟踪这些点之间的延迟(有几十种工具可以做到这一点)。有时,跟踪隧道内和隧道外的相同延迟会很有用,这样可以为您提供要关联的数据点。
这将有助于确定它是隧道内部的问题(可能性较小)还是整体连接的问题(可能性较大)。
如果上述测试表明,在延迟较高的时间段内,没有任何异常或不寻常的情况,那么是时候开始进一步测试隧道内部了。此时,您可能需要研究一些性能测试工具(最好是在跟踪指标进行比较之后)。您还可以使用wireshark
或tcpdump
捕获 OpenVPN 端点上的数据包,并查看数据包的时间和活动。调查隧道数据包和通过隧道的流量可能是值得的,具体取决于您的延迟监控显示的内容。
答案2
检查是否没有丢弃数据包。当某个段被丢弃时,TCP 连接将恢复,但会短暂暂停。
使用 SmokePing 等工具(http://oss.oetiker.ch/smokeping/) 将突出显示往返时间和数据包丢失。