Hi,
I would like to use Wireguard over TCP. I’m trying to reach my server from a restrictive network and UDP is being blocked. TCP is not blocked in certain ports though, and I would like to open a VPN server that listen on those over TCP.
I’m using the wireguard Linuxserver docker image. Any suggestions?
Thanks.
Wireguard only supports UDP. The main reason being TCP over TCP is extremely slow.
You could try OpenVPN, I think that has a TCP mode though, as said, don’t expect good performance.
For my setup, I used UDP port 443. For the vast majority of situations it works well as TCP 443 is for secure internet traffic. It seems admins often blanket 443 port open regardless of protocol 🙃
Good news: it’s possible! :) From Known Limitations on the Wireguard project site:
TCP Mode
WireGuard explicitly does not support tunneling over TCP, due to the classically terrible network performance of tunneling TCP-over-TCP. Rather, transforming WireGuard’s UDP packets into TCP is the job of an upper layer of obfuscation (see previous point), and can be accomplished by projects like udptunnel and udp2raw.
Have a look into udptunnel and udp2raw and see how that works in your environment.