Вы можете переключить OpenVPN на TCP в настройках (как на клиенте, так и на сервере, и, возможно, убедитесь, что ваш TCP OpenVPN защищен до или если вы отключите службу UDP). Это обеспечит в конечном итоге прохождение всех пакетов. Это все еще будет медленным, но это по крайней мере стоит эксперимента. С openvpn.net:
Если вы хотите, чтобы ваш сервер OpenVPN прослушивал порт TCP вместо порта UDP, используйте proto tcp
вместо proto udp
(если вы хотите, чтобы OpenVPN прослушивал порты UDP и TCP, вы должны запустить два отдельных экземпляра OpenVPN).
Что касается потери пакетов, вы можете только зафиксировать путь, по которому идут пакеты. Используйте traceroute с обоих концов, чтобы найти оскорбительную часть ссылки и узнать, как ее обойти или сделать более надежной.
Вместо TCP, попробуйте посмотреть, можете ли вы арендовать инфраструктурное время в непосредственной близости от страдающего канала для туннелирования TCP через слабое соединение с пунктом назначения. Это позволило бы UDP-пакетам лететь как можно дальше без необходимости TCP-подтверждения или повторной передачи по всей длине туннеля, только в плохой его части.
Если слабое звено находится на середине пути, вы можете воспользоваться арендой инфраструктуры на обоих концах слабого звена, а не только на одной стороне, но если мы говорим об Антарктике, возможно, это будет сложно.
Если вы решили протестировать этот маршрут, я рекомендую udptunnel как одно из возможных решений. (udptunnel
- это собственный пакет в Ubuntu, но другие опции, такие как socat или creative netcat, будут работать.)