如何将来自外部的流量重定向到 2 个代理的代理链?

如何将来自外部的流量重定向到 2 个代理的代理链?

我正在使用 redsocks 重定向传入的非本地流量以将其转发到 socks5 代理。不幸的是,redsocks 不支持代理链,因此我尝试通过运行 2 个 redsocks 实例来扭转局面。我尝试使用 iptables 将外部数据包重定向到第一个 redsocks 实例,方法是:

sudo iptables -t nat -N REDSOCKS
sudo iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDSOCKS
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDSOCKS

为了将新的数据包重新发送到第二个代理,我运行:

sudo iptables -t nat -N REDSOCKS1
sudo iptables -t nat -A REDSOCKS1 -p tcp -j REDIRECT --to-ports 12346
sudo iptables -t nat -A OUTPUT -p tcp --dport 443 -j REDSOCKS1
sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDSOCKS1

问题是,TCP 连接直接与最终目的地建立,而不是先与第二个代理建立,然后再与最终目的地建立。我也使用 microsocks 来运行代理服务器。您能帮我解决这个问题吗?谢谢,祝您有美好的一天。:D 第一个 redsocks 配置:

base {
//omitted
 redirector = iptables;
}

redsocks {
    local_ip = 0.0.0.0;
    local_port = 12345;

    ip = 127.0.0.1;
    port = 1080;
    type = socks5;
        }

第二个redsocks配置:

base {
//omited
 redirector = iptables;
}

redsocks {
    local_ip = 127.0.0.1;
    local_port = 12346;

    ip = 34.77.235.223; //fictive IP
    port = 1080;
    type = socks5;
     }

相关内容