Estou procurando conselhos sobre quais configurações ajustar/testar e/ou o que fazer para diagnosticar melhor esse problema, pois não sou especialista em redes e há centenas de configurações nos roteadores, etc.
Tenho um túnel VPN IPsec Lan-to-Lan da DrayTek configurado entre dois sites, principalmente para gerenciar a segurança no site remoto (CFTV/alarme/portão etc.).
Tudo funciona bem, na maioria das vezes. Do site local (192.168.1.X), consigo ver todos os dispositivos no site remoto (172.19.0.X), consigo conectar-me às interfaces web dos dispositivos, consigo transmitir feeds de câmeras, controlar dispositivos, etc.
No entanto, uma coisa que não funciona são as atualizações remotas de firmware de dispositivos. Por exemplo, uma atualização de firmware de câmera que envolve um upload de 75 MB sempre falha.
Se eu abrir uma porta no roteador, posso atualizar uma câmera remotamente pela internet usando o mesmo arquivo de firmware, então sei que esse lado está tudo bem. Só não funciona no túnel IPsec e eu gostaria de consertar isso.
Desde então, confirmei que esse é um problema geral de "upload" ao testar grandes uploads de FTP do mesmo site local para um site remoto. Eles falham (travam) na VPN.
SITE LOCAL:
WAN: Fibre Internet
DrayTek Vigor2926
DrayTek Lan to Lan accepts Dial-In:
IPsec Tunnel (IKEv1/IKEv2)
Pre-Shared Key / Medium (AH) AES
SITE REMOTO:
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
EDIT 1 - Configurações de MTU nos roteadores:
O Local Site WAN em Internet Access -> Static or Dynamic IP
está definido como 1500
. O Remote Site WAN em Internet Access -> 3G/4G/5G Modem(DHCP mode)
está definido como 1500
(o padrão de acordo com o texto ali).
EDIT 2 - Valor de MTU do teste de ping:
Encontrei um script de teste de ping aqui que usei para encontrar o tamanho máximo de MTU da seguinte maneira:
- Do site local para o site remoto via VPN:
1500
- Do site local para o site remoto via WAN:
1500
- Da minha casa para o site local via WAN:
1492
- Da minha casa para o site remoto via WAN:
1492
EDIT 3 - Isso PARECE ser um problema de MTU, mas ainda não entendi completamente:
O adaptador de rede no site local tem a MTU definida como 1500
se eu alterasse temporariamente para um valor menor, por exemplo:
sudo ifconfig enp6s0 mtu 1360
Então um upload de teste ftp funciona na VPN. Mas eu consideraria isso uma solução alternativa, não uma solução.
Olhei mais de perto as configurações do roteador e descobri que VPN and Remote Access -> IPsec General Setup
há uma configuração VPN TCP maximum segment size (MSS)
para IPsec (IKEv1/IKEv2)
que pode ser entre 512 and 1381
e o padrão é 1360
. Pensei que talvez essa fosse a resposta, e alterar a configuração para um valor muito baixo ( 512
) afeta o teste de ping (ele retorna um valor máximo de MTU de 1044
), mas isso ainda não afeta o funcionamento dos uploads pela VPN.
Não entendo por que o teste de ping diz que a MTU máxima é 1500, mas preciso alterar a configuração de MTU do adaptador de rede para que os uploads funcionem e, aparentemente, nenhuma alteração nas configurações do roteador DrayTek permite que os uploads funcionem em sua própria VPN IPSec.