如何將來自外部的流量重新導向到 2 個代理程式的代理鏈?

如何將來自外部的流量重新導向到 2 個代理程式的代理鏈?

我使用 redsocks 重定向傳入的非本地流量,以將其轉送到 sock5 代理程式。不幸的是,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;
     }

相關內容