banner
Bai

Bai

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

WireGuard + udp2raw 組網實施方案

前言#

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

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 配置#

在服务器上,添加一个接口,监听 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

在客户端上,也添加一个接口,将 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 配置#

在服务器上后台运行以下命令:

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 端口。
在客户端上后台运行以下命令:

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 &

配置完成。

相关文档#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。