特别说明

以下所有操作,对于root、user用户,命令前加sudo均为可选项

环境准备

由于服务器端的udp2raw一直挂在后台,需要tmux进行管理

1
2
sudo apt update
sudo apt install -y tmux

获取 udp2raw 二进制

访问官方 Release 页面:https://github.com/wangyu-/udp2raw-tunnel/releases

下载对应平台:

* Linux:通常是 `.tar.gz` 或 `udp2raw_x86_64` 或 `udp2raw_amd64`
* Windows:通常是 `.zip` 或 `udp2raw_x86_64.exe` 或 `udp2raw_mp.exe`

Linux 解压 .tar.gz

1
2
3
4
5
6
7
8
9
# 下载示例
wget "https://github.com/wangyu-/udp2raw-tunnel/releases/download/<TAG>/udp2raw_binaries.tar.gz"
# 创建文件夹后,解压
mkdir udp2raw
tar -xzf udp2raw_binaries.tar.gz
# 赋予执行权限
chmod +x udp2raw_amd64
# 移动到可执行路径(可选但推荐)
sudo mv udp2raw_amd64 /usr/local/bin/udp2raw

Windows 解压

  • 使用 WinRAR7-Zip 等软件解压即可

  • Windows 二进制文件示例:C:\Software\udp2raw\udp2raw_mp.exe

服务器端(Linux)配置

启动 udp2raw Server

假设 WireGuard 本地端口 51820,外网端口 5000

1
sudo udp2raw -s -l 0.0.0.0:5000 -r 127.0.0.1:51820 -k "YourKeyHere" --raw-mode faketcp -a
  • -s:server 模式
  • -l:监听公网端口
  • -r:转发到本机 WireGuard
  • -k:共享密钥
  • --raw-mode faketcp:伪装 TCP
  • -a:启用认证/防重放

调整 MTU

1
sudo ip link set dev wg0 mtu 1280

转发

1
sudo sysctl -w net.ipv4.ip_forward=1

防火墙

服务器端在云服务器商,自行设置安全组,使得网络在端口5000可以用TCP访问

客户端(Windows)配置

安装 Npcap

Npcap 是 WinPcap 的升级版,兼容性更好,也支持最新 Windows:

下载地址:https://nmap.org/npcap/
安装时注意选项:

* 勾选 **“WinPcap API-compatible mode”**(兼容旧程序需要 wpcap.dll)
* 勾选 **“Install Npcap in WinPcap API-compatible mode”**
* 其他选项默认即可

安装完成后,通常会在 C:\Windows\System32\Npcap 下生成 wpcap.dllPacket.dll

注意:如果之前安装过 WinPcap,建议先卸载再装 Npcap,避免冲突。

配置环境变量(可选)

确保 wpcap.dll 所在目录在系统 PATH 中,否则 udp2raw 找不到 DLL:

1
setx PATH "%PATH%;C:\Windows\System32\Npcap"

重启 PowerShell / CMD 再运行 udp2raw。

启动 udp2raw Client

假设 WireGuard 本地端口 51820,服务器公网 IP SERVER_IP

1
2
cd C:\Software\udp2raw
.\udp2raw_mp.exe -c -l 127.0.0.1:51820 -r SERVER_IP:5000 -k "YourKeyHere" --raw-mode faketcp -a
  • -c:client 模式
  • -l:本地监听供 WireGuard 使用
  • -r:服务器 IP:端口

注意-a 不能用的话,删掉即可。

WireGuard 配置

在原有通道的配置文件中,加入、修改以下内容:

1
2
3
4
5
6
7
8
9
[Interface]
PrivateKey = XXXXXXXXXXXXXXXXXXXXXXXX
···
MTU = 1280 # 与服务器端对应

[Peer]
PublicKey = XXXXXXXXXXXXXXXXXXXXXXXX
···
Endpoint = 127.0.0.1:51820

配置完毕后,先启动udp2raw,再启动WireGuard连接。

挂在后台

当前在软件显控页面,按Ctrl + C关掉该服务端,然后杀掉进程

1
2
ps aux | grep udp2raw
sudo kill -9 <PID 进程号>

启动 tmux 会话

1
2
tmux new -s fakeudp
sudo udp2raw -s -l 0.0.0.0:5000 -r 127.0.0.1:51820 -k "YourKeyHere" --raw-mode faketcp -a

按住Ctrl + B然后松开,再按D

下次想查看控制台时,重新 SSH 登录,然后运行:

1
tmux attach -t fakeudp

常见注意事项

1,两端 -k 密钥必须一致
2,WireGuard MTU 适当减小(1280–1360)
3,UDP-over-TCP 可能比原生 UDP 略慢
4,确保在云服务器中开启对应的端口安全组
5,一定要在无任何代理下,启动udp2raw