当前位置: 首页 > article >正文

wireguard搭配udp2raw部署内网

前言

上一篇写了使用 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 服务节点也是可以正常通的


http://www.kler.cn/a/581192.html

相关文章:

  • AI辅助工具Trae和Cursor的区别
  • MySQL事务深度解析:ACID特性、隔离级别与MVCC机制
  • wireshark 如何关闭混杂模式 wireshark操作
  • ubuntu软件
  • 有必要使用 Oracle 向量数据库吗?
  • Python Openpyxl给Excel增加条件规则
  • 深入解析CSS中的图片填充技巧
  • 基于PyTorch的深度学习——机器学习1
  • top查看cpu占用进程100% xmrigMiner进程
  • 使用Python爬虫根据关键词获取衣联网商品列表:实战指南
  • SpringMVC-全局异常处理
  • SQL语句的ON和Where关键词生效时机或作用场景
  • OTP单片机调试工具之—应广单片机ADC调试案例
  • AI系统迎来革命性升级:KV缓存优化的背后
  • 【three.js】三维交互核心技术 - 射线检测与物理级拖拽实现
  • Linux网络编程——简单的TCP网络通信
  • 碳中和小程序:助力用户记录低碳行为,推动环保生活
  • Flutter 基础组件 Scaffold 详解
  • LabVIEW非线性拟合实现正弦波参数提取
  • 通过数据库网格架构构建现代分布式数据系统