寻求关于调整/测试哪些设置和/或如何进一步诊断此问题的建议,因为我不是网络专家并且路由器等上有数百个设置。
我在两个站点之间设置了 DrayTek Lan-to-Lan VPN IPsec 隧道,主要用于管理远程站点的安全性(CCTV/警报/门等)。
一切基本正常。从本地站点 (192.168.1.X),我可以看到远程站点 (172.19.0.X) 上的所有设备,可以连接到设备 Web 界面,可以传输摄像头信息、控制设备等。
然而,有一件事是行不通的,那就是设备的远程固件升级。例如,涉及 75MB 上传的相机固件升级总是会失败。
如果我在路由器上打开一个端口,我可以使用相同的固件文件通过互联网远程更新摄像头,所以我知道那边一切正常,它只是无法通过 IPsec 隧道工作,我想解决这个问题。
通过测试从同一本地站点到远程站点的大型 ftp 上传,我已确认这是一个一般的“上传”问题 - 它们通过 VPN 失败(停顿)。
本地网站:
WAN: Fibre Internet
DrayTek Vigor2926
DrayTek Lan to Lan accepts Dial-In:
IPsec Tunnel (IKEv1/IKEv2)
Pre-Shared Key / Medium (AH) AES
远程站点:
WAN: 3G/4G LTE Modem
DrayTek Vigor2865
DrayTek Lan to Lan Dial-Out:
IPsec Tunnel IKEv2
Pre-Shared Key / Poposal Encryption Auto
IKE Phase 2 Settings: ESP (High) AES256
Proposal Authentication: All
编辑1-路由器上的MTU设置:
下的本地站点 WANInternet Access -> Static or Dynamic IP
设置为1500
。 下的远程站点 WANInternet Access -> 3G/4G/5G Modem(DHCP mode)
设置为1500
(根据那里的文字,这是默认值)。
编辑 2-来自 ping 测试的 MTU 值:
我在这里找到了一个 ping 测试脚本,我用它来找到最大 MTU 大小,如下所示:
- 通过 VPN 从本地站点到远程站点:
1500
- 通过 WAN 从本地站点到远程站点:
1500
- 从我家通过 WAN 到本地站点:
1492
- 从我家通过 WAN 到远程站点:
1492
编辑 3 - 这似乎是一个 MTU 问题,但我仍然不完全理解:
如果我暂时将本地站点上的网络适配器的 MTU 更改1500
为较低的值,例如:
sudo ifconfig enp6s0 mtu 1360
然后,通过 VPN 进行测试 FTP 上传。但我认为这是一种黑客式的解决方法,而不是解决方案。
我仔细查看了路由器设置,发现下面VPN and Remote Access -> IPsec General Setup
有一个设置,其VPN TCP maximum segment size (MSS)
值IPsec (IKEv1/IKEv2)
可以在512 and 1381
和之间,默认为1360
。我想也许这就是答案,将设置更改为非常低的值(512
)确实会影响 ping 测试(它返回的最大 MTU 值为1044
),但这仍然不会影响通过 VPN 进行上传。
我不明白为什么 ping 测试显示最大 MTU 是 1500,但我必须更改网络适配器 MTU 设置才能使上传正常工作,而且似乎 DrayTek 路由器上的设置没有任何更改允许上传通过它自己的 IPSec VPN 工作。