동일한 서버의 양말 프록시로 VPN 연결 라우팅

동일한 서버의 양말 프록시로 VPN 연결 라우팅

OpenVPN 서비스로 VPS를 실행하고 있습니다. 동일한 서버에서 로컬 양말 프록시도 설정했습니다(Tor이지만 이 경우에는 별로 중요하지 않다고 생각합니다).

로컬 브라우저/장치 설정을 변경하지 않고도 VPN 연결을 해당 양말 프록시로 라우팅할 수 있나요?

설정하려는 연결은 다음과 같습니다.

(my device) -> VPN tunnel -> (VPN server -> Tor SOCKS proxy) -> Tor network
                             (this connection is inside VPS)

두 가지 옵션이 표시됩니다.

1) 라우팅은 전적으로 서버에서 이루어지며 클라이언트에게는 투명하게 이루어집니다.

2) VPN은 양말 프록시 옵션을 푸시합니다(경로, DNS 서버 등을 푸시할 수 있으므로).

하지만 둘 중 하나를 달성하는 방법에 대한 단서가 없습니다.

저는 차단을 우회하기 위해 OpenVPN을 자주 사용하며, 프록시 설정을 변경하거나 로컬 Tor/orbot 등을 실행하지 않고도 동일한 루틴을 사용하여 Windows 및 Android 장치에서 Tor 네트워크에 연결하고 싶습니다. 이상적으로는 함께 실행할 계획입니다. 모든 트래픽을 인터넷으로 라우팅하지만(이미 설정되어 제대로 작동하고 있음) 다른 포트를 사용하는 일반 VPN 연결입니다.

답변1

드디어 해냈습니다.

먼저 다른 OpenVPN 인스턴스를 실행해야 합니다. openvpn/server.conf를 복사하고 변경하세요.

port [some free port]
server [another subnet, if your first instance was on 10.8.0.0, set it to 10.8.1.0] 255.255.255.0
push "dhcp-option DNS [we will use TOR DNS, so this will be TOR proxy IP, e.g. 10.8.1.1]"

다른 키 쌍을 생성할 수도 있습니다.

그런 다음 투명 프록시 모드에서 TOR를 시작합니다(공식 문서에는 이 모드가 잠재적으로 안전하지 않은 것으로 나열되어 있습니다.https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy자세한 내용은). 게이트웨이 및 DNS 서버 역할을 합니다. torrc이 구성을 추가하는 기본 파일 변경

VirtualAddrNetworkIPv4 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort [address in your subnet, e.g. 10.8.1.1]:9040 
DNSPort [same, 10.8.1.1]:53

마지막으로 모든 서브넷 요청을 TOR 프록시로 라우팅합니다(DNS 트래픽을 위한 특수 구성).

iptables -t nat -A PREROUTING -s [your subnet, e.g. 10.8.1.0/24] -p udp -m udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -s [your subnet, e.g. 10.8.1.0/24] -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 9040

방화벽에서 내부 10.8.1.0 서브넷 트래픽을 허용하는지 확인하세요.

다른 포트에 연결하면 VPN을 통해 TOR 네트워크에서 일반 인터넷 연결로 전환할 수 있습니다. 클라이언트 구성이 필요하지 않습니다.

관련 정보