WireGuard结合WsTunnel实现UDP OVER TCP组网
WireGuard是一种被广泛认可的安全且高效的隧道技术,结合WsTunnel(WebSocket隧道),可以构建一个强大而灵活的本地组网解决方案。
该方案旨在帮助用户轻松穿透内网限制,实现设备间的无缝连接与数据传输,尤其适合需要远程访问家中或公司内部网络资源的情况。
WsTunnel官方仓库地址:https://github.com/erebe/wstunnel
WsTunnel About:Tunnel all your traffic over Websocket or HTTP2 - Bypass firewalls/DPI - Static binary available
开始之前,假设已经安装并且配置好Wireguard服务端与客户端环境。
如果暂时没有时间安装Wireguard,可以参考Wireguard+VMess文章内的安装教程,或者一键执行以下命令:
curl -L https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh | bash
在这之后,需要根据操作系统类型去下载WsTunnel执行程序,打开Github首页Releases,下载对应的执行程序。
因为使用的是x86 Linux系统,所以选择linux_amd64类型,Windows用户选择Windows类型即可。
将文件上传至服务器和最终访问终端,服务器执行以下命令开启协议封装:
wstunnel server --restrict-to localhost:51820 wss://[::]:443
该命令中server的意思是将wstunnel运行为服务端模式,执行效果为将本地监听的51820端口封装到wss协议监听下的443端口,[::]代表任意接口,当然,根据需要,大家可以根据自己的需要修改具体的端口,以及结合domain设置对应的监听。
客户端则执行以下命令:
wstunnel client -L 'udp://51820:localhost:51820?timeout_sec=0' wss://192.168.3.180:443
该命令中client的意思是将wstunnel运行为客户端模式,执行效果为将远程服务器监听的UDP端口51820立即转发至本地,并监听在51820端口,192.168.3.180根据具体环境修改为域名或者IP地址。
最后修改Wireguard虚拟网卡配置,将服务器地址修改为127.0.0.1或者本机IP地址。
重启Wireguard,再进行测试。
systemctl restart wg-quick@wg0
一键访问B站视频教程:https://www.bilibili.com/video/BV1yTG6eCE4y/?vd_source=509fefe6307f527bc45c713841b2bb86