这个问题让我抓狂。我有一个临时 SOHO 服务器位于 NAT 后面(无法触及这个),我需要它有一个面向公众的 IP。
因此,在 VPS(具有 2 个公共 IP)上设置一个 OpenVPN 服务器,并配置 OpenVPN 来桥接 L2 并将其中一个公共 IP 借给 SOHO 服务器。
一切正常,但我遇到了一个非常奇怪的问题,通过 VPN 从 SOHO 服务器到 VPS 的上传速度约为 5 Mbps,而下载速度则完全正常,约为 90 Mbps(100M 网络)。
一开始我以为是一些缓冲区问题,甚至是CPU瓶颈,但是在尝试了以下几点之后,我绝望了。
我使用的是 UDP 模式。TCP 模式只会稍微降低下载速度,但上传速度始终很差。即使是上面描述的基本测试这里引发了同样的问题。
我尝试过的事情:
- 更改缓冲区,两侧均为 0,两侧均为 393216,服务器上为 0,客户端上为 393216。
- 快速输入输出
- 压缩开启和关闭
- 关闭加密
- 甚至从 SOHO 上的源代码构建 OpenVPN!
从 SOHO 服务器上传到 VPS 时始终保持稳定 < 10 Mbps 的速度。上传时的 CPU 使用率仅为 7%,而下载时则达到 40%。
此服务器之间的 VPN 外部正常速度为网络最大值。
SOHO 服务器是 HP Microserver G8,配备 Intel(R) Celeron(R) CPU G1610T @ 2.30GHz。它不包括 AES-NI。
我不知道还能尝试什么,我开始认为 OpenVPN 也许不是罪魁祸首,但我不知道还能去哪里寻找。
感谢您的时间,并希望继续与这个伟大的社区合作。