如何通过提供的 URL 将 Wireguard 流量转发到 shadowsocks?

如何通过提供的 URL 将 Wireguard 流量转发到 shadowsocks?

我在不同的主机上有 2 个服务器:wireguard 和 shadowsocks。它们按预期工作。

Docker 容器中的 Wireguard 服务器配置(0.0.0.0:51821->51821/tcp,:::51821->51821/tcp,0.0.0.0:51820->51820/udp,:::51820->51820/udp):

[Interface]
Address = 10.20.30.1/24
ListenPort = 51820
PrivateKey = <private_key>
PostUp = iptables -t nat -A POSTROUTING -o `ip route | awk '/default/ {print $5; exit}'` -j MASQUERADE; ip rule add from `ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | grep -v "inet6" | head -n 1 | awk '/inet/ {print $2}' | awk -F/ '{print $1}'` table main;
PostDown = iptables -t nat -D POSTROUTING -o `ip route | awk '/default/ {print $5; exit}'` -j MASQUERADE; ip rule del from `ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | grep -v "inet6" | head -n 1 | awk '/inet/ {print $2}' | awk -F/ '{print $1}'` table main;

Shadowsocks 具有简单的 docker compose 配置:

version: '3.5'
services:
    shadowsocks:
        image: shadowsocks/shadowsocks-libev:v3.3.5
        ports:
            - '8388:8388/tcp'
            - '8388:8388/udp'
        environment:
            - METHOD=aes-256-gcm
            - PASSWORD=somepass
        restart: always

我需要将流量从 wg 转发到 ss 服务器,但需要提供规则 - URL 地址列表 o URL 掩码。

得到下图:

在此处输入图片描述

我尝试过各种方法,例如

  • 设置原生 linux iptables、ip 路由
  • tun2socks lib(转发所有流量)

但我无法创建一个可以成功运行的模型,尤其是通过将其包装在 Docker 中。

因此我向社区寻求帮助。

相关内容