侧边栏壁纸
博主头像
七哥的技术博客

You got a dream, you gotta to protect it!

  • 累计撰写 85 篇文章
  • 累计创建 76 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

wireguard搭配udp2raw部署内网

admin
2025-03-11 / 0 评论 / 0 点赞 / 18 阅读 / 0 字

前言

上一篇写了使用 wireguard 可以非常轻松的进行组网部署,但是如果服务器厂商屏蔽了 udp 端口,那就没法了

针对 udp 被服务器厂商屏蔽的情况,需要使用一款 udp2raw 或 socat 类似的工具,来将 udp 打包成 tcp 进行通信

这里以 udp2raw 进行部署,版本下载地址 https://github.com/wangyu-/udp2raw/releases

部署的时候本地 win10 以及 ubuntu 都需要部署 udp2raw,整体业务流程如下

服务端部署

下载 udp2raw 版本,解压后就可以运行,使用以下命令启动服务

udp2raw -s -l 0.0.0.0:8000 -r 127.0.0.1:51820 --raw-mode faketcp -a

-s 表示服务器模式

-l 0.0.0.0:8000 表示监听本机 8000 tcp 端口

-r 127.0.0.1:51820 表示将数据转发到本地 wireguard 监听的 udp 端口 51820

–raw-mode faketcp 表示将 udp 打包成 tcp

-a 表示自动应答握手提高稳定性

客户端部署

win 版本解压后,使用以下命令运行

udp2raw_mp.exe -c -l 127.0.0.1:51820 -r xx.xx.xx.xx:8000 --raw-mode easyfaketcp

-c 客户端模式

-l 127.0.0.1:51820 本地监听端口

-r xx.xx.xx.xx:8000 连接服务器的 8000 tcp 端口

–raw-mode easyfaketcp 打包成 tcp,兼容性更好,但可能稍慢

另外,win10 下的 wireguard 的 Endpoint 配置要修改下,改成 127.0.0.1:51820,而不再是服务端的地址

启动应用

在启动应用前,应该先配置好 wireguard 服务端以及客户端,可以参考上一篇文章的操作步骤

启动 ubuntu 下的 udp2raw 后,输出信息如下,表示监听 8000 端口成功

启动 win10 下的 udp2raw 后,输出的信息如下

D:\software\udp2raw>udp2raw_mp.exe -c -l 127.0.0.1:51820 -r xx.xx.xx.xx:8000 --raw-mode easyfaketcp
using system32/npcap/wpcap.dll
The Winsock 2.2 dll was found okay, _setmaxstdio() was set to 4000
[2025-03-11 17:46:30][INFO]argc=8 udp2raw_mp.exe -c -l 127.0.0.1:51820 -r xx.xx.xx.xx:8000 --raw-mode easyfaketcp
[2025-03-11 17:46:30][INFO]parsing address: 127.0.0.1:51820
[2025-03-11 17:46:30][INFO]its an ipv4 adress

......

[2025-03-11 17:46:31][INFO]breakloop() succeed after 1 attempt(s)
[2025-03-11 17:46:31][INFO]state changed from client_idle to client_tcp_handshake_dummy
[2025-03-11 17:46:32][INFO]state changed from client_tcp_dummy to client_handshake1
[2025-03-11 17:46:32][INFO](re)sent handshake1
[2025-03-11 17:46:32][INFO]changed state from to client_handshake1 to client_handshake2,my_id is b61dae5a,oppsite id is f3e6fa3f
[2025-03-11 17:46:32][INFO](re)sent handshake2
[2025-03-11 17:46:32][INFO]changed state from to client_handshake2 to client_ready
[2025-03-11 17:46:32][INFO]new packet from 127.0.0.1:61205,conv_id=53a2d4f2

启动 win10 下的 wireguard,可以看到已经连接上了, ping 服务节点也是可以正常通的

0

评论区