Weiterleiten einer VPN-Verbindung zu einem Socks-Proxy auf demselben Server

Weiterleiten einer VPN-Verbindung zu einem Socks-Proxy auf demselben Server

Ich betreibe einen VPS mit dem OpenVPN-Dienst. Auf demselben Server habe ich auch einen lokalen Socks-Proxy eingerichtet (es ist Tor, aber ich glaube nicht, dass das in diesem Fall wirklich wichtig ist).

Kann ich meine VPN-Verbindung irgendwie zu diesem Socks-Proxy umleiten, ohne meine lokalen Browser-/Geräteeinstellungen zu ändern?

Die Verbindung, die ich einrichten möchte, sieht ungefähr so ​​aus:

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

Ich sehe zwei Möglichkeiten

1) Das Routing erfolgt vollständig auf dem Server, transparent für einen Client

2) Das VPN pusht Socks-Proxy-Optionen (da es Routen, DNS-Server usw. pushen kann)

aber ich habe keine Ahnung, wie ich eines von beiden erreichen soll.

Ich verwende häufig OpenVPN, um Blockaden zu umgehen, und ich möchte dieselbe Routine verwenden, um sowohl von Windows- als auch von Android-Geräten aus eine Verbindung zum Tor-Netzwerk herzustellen, ohne die Proxy-Einstellungen ändern, lokales Tor/Orbot ausführen usw. zu müssen. Idealerweise plane ich, es parallel zu einer regulären VPN-Verbindung laufen zu lassen, die den gesamten Datenverkehr ins Internet umleitet (dies ist bereits eingerichtet und funktioniert gut), aber über einen anderen Port.

Antwort1

Endlich bin ich dazu gekommen.

Zuerst müssen Sie eine weitere OpenVPN-Instanz ausführen. Kopieren Sie einfach Ihre openvpn/server.conf und ändern Sie

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]"

Möglicherweise möchten Sie ein weiteres Schlüsselpaar generieren.

Anschließend starten Sie TOR im transparenten Proxy-Modus (bitte beachten Sie, dass dieser Modus in der offiziellen Dokumentation als potenziell unsicher aufgeführt ist, siehehttps://trac.torproject.org/projects/tor/wiki/doc/TransparentProxyfür Details). Es dient als Gateway und DNS-Server. Ändern Sie die Standarddatei, die torrcdiese Konfiguration anhängt

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

und leiten Sie schließlich alle Subnetzanfragen an den TOR-Proxy weiter (spezielle Konfiguration für DNS-Verkehr)

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

Stellen Sie sicher, dass Sie in Ihrer Firewall internen Datenverkehr im Subnetz 10.8.1.0 zulassen.

Durch die Verbindung mit verschiedenen Ports können Sie vom TOR-Netzwerk über VPN zur normalen Internetverbindung wechseln. Keine Client-Konfiguration erforderlich.

verwandte Informationen