Туннельный проводник (или любой трафик UDP) внутри HTTPS
Wireguard довольно жарко в наши дни, вполне заслуженно. Я также готов заменить OpenVPN на Wireguard.
Однако, в отличие от OpenVPN, Wireguard поддерживает только UDP. Мне нравится использовать TCP-порт 443, потому что этот порт, вероятно, не заблокирован брандмауэром. OpenVPN даже имеет возможность использовать HTTP-прокси. Это довольно круто, потому что это позволяет мне получить полный, неограниченный доступ в интернет в сетях, которые не имеют выхода в интернет и требуют, чтобы пользователи использовали вместо него веб-прокси.
Как я могу добиться того же с Wireguard? HTTPS-туннель, который работает для UDP?
Давайте предположим, что обе конечные точки работают под управлением Linux, у меня есть полный root-доступ к обоим, и, конечно, у меня есть разрешение на участие в этом.
3 ответа
Кажется, это делает именно то, что я хочу, даже если вам нужно cntlm
в качестве дополнительного прокси, если для прокси требуется проверка подлинности NTLM.
В официальной документации указано, почему они не поддерживают TCP и DPI [1]
WireGuard явно не поддерживает туннелирование через TCP из-за классической ужасной производительности сети при туннелировании TCP-over-TCP. Скорее, преобразование UDP-пакетов WireGuard в TCP — это работа верхнего уровня обфускации.
Для туннелирования TCP они предлагают использовать udp2raw[2] или udptunnel[3].
Обратите внимание, что это касается только туннелирования TCP, оно не маскирует его через HTTP(S), поэтому оно не будет защищено, если ваш брандмауэр выполняет глубокую проверку пакетов или анализ заголовков и т. д. Для этого вам понадобится более продвинутая настройка.
Может запустить SSH VPN (используя ssh на порту 443) и запустить Wireguard через созданные интерфейсы.
Вероятно, может также запустить Wireguard поверх вашего существующего OpenVPN.
Похоже, что в Wireguard нет соединения, так что я сомневаюсь, что скоро появится функция TCP или HTTP (извините).