외부에서 들어오는 트래픽을 2개의 프록시로 구성된 프록시 체인으로 리디렉션하는 방법은 무엇입니까?

외부에서 들어오는 트래픽을 2개의 프록시로 구성된 프록시 체인으로 리디렉션하는 방법은 무엇입니까?

들어오는 비로컬 트래픽을 양말5 프록시로 전달하기 위해 redsocks를 사용하고 있습니다. 불행히도 redsocks는 프록시 체인을 지원하지 않으므로 2개의 redsocks 인스턴스를 실행하여 전환을 시도했습니다. 나는 다음을 수행하여 외부 패킷을 첫 번째 redsocks 인스턴스로 리디렉션하기 위해 iptables를 사용하려고 시도했습니다.

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 연결이 최종 목적지와 두 번째 프록시가 아닌 최종 목적지와 직접 연결된다는 것입니다. 또한 마이크로삭을 사용하여 프록시 서버를 실행합니다. 그 문제를 해결하도록 도와주실 수 있나요? 감사합니다. 좋은 하루 보내세요. :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;
     }

또한

관련 정보