Для моего проекта я ищу возможности для VPN с поддержкой только UDP, работающей через TCP (предпочтительно на порту 443 или 80). Я нашел следующее во время некоторых исследований:
- Это возможно с socat, однако это ненадежно, поскольку UDP-соединение может продолжать передавать трафик, в то время как буфер TCP будет перегружен.
- Я подозреваю, что это возможно с Secure Socket Funneling (SSF)[1], однако я не уверен, работает ли он на 100% надежно и толкает ли он трафик по TCP или они нашли какой-то способ использовать TLS по UDP (кажется, что путь для меня).
Что касается причины, по которой я хочу, чтобы VPN только для UDP работала по протоколу TCP: различные корпоративные брандмауэры или общегосударственные брандмауэры блокируют трафик UDP на (случайных) портах UDP. Конечно, существуют назначенные порты UDP (скажем, 53 DNS), которые в основном открыты, но действительно легко распознать VPN из обычного трафика на этих портах. Я знаю, как имитировать трафик, но это подразумевает чрезмерную нагрузку на VPN. Протокол, используемый для этого проекта, является WireGuard вместо OpenVPN, где TCP-fallback является встроенным.
Насколько я знаю, не существует хороших (надежных) методов для упаковки трафика UDP в TCP. Это правда, и если да, есть ли другие методы, которые могли бы достичь моей цели?