banner
Bai

Bai

写代码菜的一批 🤣
twitter
telegram
tg_channel
pixiv
github
bilibili
whatsapp

WireGuard + udp2raw 组网实施方案

前言#

因前段时间去市场监督局把企业注销了,导致使用了企业备案的域名也被工信部撤销了备案登记,网站也因此不能在继续访问,直接把网站停了但看着还有几台 3 年后的服务器就觉得很可惜,便决定使用 oracle 的免费小机来实现中转跳过备案,说干就干!WireGuard 组网一把梭,发现到了高峰期对 udp 协议的干扰阻断特别严重,而且还被 mtu 值的大小坑了好久,对此气急败坏的我只能上 GitHub 找找有没有什么好用的项目,还真让我找到了 udp2raw 项目,服务一跑... over!

wireguard 与 udp2raw#

wireguard
一款被 Linux 创始人称做艺术品的组网神器
官网:https://www.wireguard.com/

udp2raw
跨平台版 udp2raw, 简称 udp2raw_mp (mp=multiplatform), 支持 windows/mac/bsd/linux.
项目地址:https://github.com/wangyu-/udp2raw-multiplatform
中文文档:https://github.com/wangyu-/udp2raw-multiplatform/wiki/%E4%B8%AD%E6%96%87%E6%96%87%E7%AB%A0

实现原理#

image

配置#

wireguard 配置#

在 server 机器上,添加一个 Interface,监听 4321 端口,接收转发过来的流量。

[Interface]
PrivateKey = # 私钥
Address = 10.2.0.1/24

PostUp = iptables -A FORWARD -i wg2 -j ACCEPT; iptables -A FORWARD -o wg2 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg2 -j ACCEPT; iptables -D FORWARD -o wg2 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 4321
DNS = 8.8.8.8
MTU = 1200

[Peer]
PublicKey = # 机器 B 的公钥
AllowedIPs = 10.2.0.2/32

在 client 机器上,也添加 Interface,设置 Endpoint 为 127.0.0.1:3333,流入 udp2raw 的入站。

[Interface]
PrivateKey = # 私钥
Address = 10.2.0.2/24
DNS = 8.8.8.8
MTU = 1200

[Peer]
PublicKey = # 机器 A 的公钥
Endpoint = 127.0.0.1:3333
AllowedIPs = 10.2.0.0/24

配置完成,更多详细命令参考文章底部相关文档。

udp2raw 配置#

server 后台运行命令:

nohup ./udp2raw_x86 -s -l0.0.0.0:54321 -r 127.0.0.1:4321 -a -k "passwd" --raw-mode faketcp > udp2raw.log 2>&1 &

需开发服务器的 54321 端口
client 后台运行命令:

nohup ./udp2raw_x86 -c -l0.0.0.0:3333 -r 175.178.196.126:54321 -k "passwd" --raw-mode easy-faketcp > udp2raw.log 2>&1 &

配置完成。

相关文档#

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。