我在使用 OpenVPN 时遇到了一个奇怪的问题 —— 它似乎以某种方式拦截了“本地”流量。
我有 PC + 笔记本电脑,两者通过以下方式并行连接:
- WiFi-网络 192.168.0.x
- 通过同一 WiFi 使用 OpenVPN - 网络 192.168.7.x
- (可选)通过 LAN,直接以太网电缆 - 网络 192.168.254.x
当我尝试在 Windows 上将文件从一个复制到另一个时(从 到\\192.168.0.x\share
)\\192.168.0.y\share
,我得到的速度约为 5MB/s。这个速度非常低,经过长时间的实验试图找出原因后,我注意到当我关闭 OpenVPN 时,速度恢复正常(~25MB/s
通过 WiFi 和~100MB/s
直接 LAN)。
知道那里发生了什么吗?如何解决速度问题?
...
使用另一个网站上的提示,我使用 Wireshark 捕获了流量。从中我看到 SMB2 会话最初连接到预期接口(192.168.0.160 -> 192.168.0.197),但随后在某个时间点,无缘无故地重新连接到 OpenVPN 子网的 IP(192.168.7.160 -> 192.168.7.60)。奇怪的是,SMB 重新连接发生在我重新启动 OpenVPN 连接后约 5 分钟,而不是立即发生。
答案1
这看起来像SMB 多通道。它认为 VPN 适配器(可能声称是 10G)比 WLAN 适配器更快。(如果查看 Ioctl 调用的详细信息,您将看到客户端正在查询服务器的网络接口详细信息。)尝试使用以下任一方法禁用多通道:
- 在服务器上,
Set-SmbServerConfiguration -EnableMultiChannel $false
; - 在客户端上,
Set-SmbClientConfiguration -EnableMultiChannel $false
。