1 原理
利用wireguard来代理所有IPV6流量,如果鸡是在外面飘的话,建议用tailscale来异地组网,然后用UDP over TCP端口转发基于tailscale的隧道的wireguard来限制发包。
2 准备
wireguard windows客户端
wireguard服务端脚本
tailscale #异地组网
gost #搭建隧道
3 开干
首先,由于我的鸡在外漂泊,很是想念,所以呢,就先在鸡和客户端上安装tailscale,异地组网成功后看能不能ping的通,ping不通或者延迟高的话,直接用隧道来端口转发吧。tailscale的教程我就不写了,网上一搜一大堆。
用脚本搭建服务端的wireguard,脚本里的IP设置建议是tailscale的ip,然后添加用户,然后在目录下有个conf的,那就是你客户端的wireguard配置文件了。
搭建gost的隧道Relay+tls,利用UDP over TCP来防止UDP不断发包(昨晚就卡在这,wg握不了手就死命往服务端发包。
服务端
gost -L relay+tls://username:password@:12345
客户端
gost -L udp://:34567/Tailscale服务端的IP:服务端的wireguard端口 -F relay+tls://username:password@Tailscale的服务端IP:12345
udp://:34567/中的34567是本地的端口,用来端口转发去鸡鸡上的wireguard端口。
gost详细文档,请自行查看。
都开始运行gost之后,客户端的wireguard肯定也要搞上。
复制服务端目录下的那个conf去客户端的wireguard的配置改一点东西
[Interface]
PrivateKey = 服务端生成
Address = 服务端生成
DNS = 1.1.1.1, 1.0.0.1[Peer]
PublicKey = 服务端生成
PresharedKey = 服务端生成
AllowedIPs = ::/1, 8000::/1
Endpoint = 127.0.0.1:34567
PersistentKeepalive = 25
##34567端口要和gost的端口转发中的本地端口一致。
然后你就看看能不能使用了。
#当然要是你觉得tailscale下的延迟很高,你可以直连
客户端的-F relay+tls://username:password@Tailscale的服务端IP:12345中的Tailscale的服务端IP可以换成鸡鸡的公网IP。