Einzelanwendung über OpenVPN-Tunnel (Debian Lenny)

4324
user14124

Ich verwende Debian Lenny und möchte das Rtorrent nur durch einen OpenVPN-Tunnel tunneln.

Ich habe einen Tunnel, die Konfigurationsdatei sieht folgendermaßen aus:

client dev tun proto udp remote openvpn.xxx.com 1194 resolv-retry infinite nobind persist-key persist-tun ca /etc/openvpn/xxx/keys/ca.crt cert /etc/openvpn/xxx/keys/client.crt key /etc/openvpn/xxx/keys/client.key tls-auth /etc/openvpn/xxx/keys/tls.key 1 ns-cert-type server comp-lzo verb 3 auth-user-pass script-security 3 reneg-sec 0 

Meine Idee ist, dass ich intern einen sockd-Proxy ausführen kann, der den Verkehr zum openvpn-Tunnel umleitet. Ich könnte die Anwendung "nox" proxox "tsocks" verwenden, um es rtorrent zu ermöglichen, über diesen Proxy eine Verbindung herzustellen (da rtorrent keine Proxies unterstützt).

Ich habe Probleme beim Konfigurieren von sockd, da sich meine IP-Adresse im VPN bei jeder Verbindung ändert. Dies ist eine Konfigurationsdatei, von der jemand sagte, dass sie helfen würde: http://ircpimps.org/sockd.conf Da sich meine IP bei jedem Verbindungsaufbau ändert, weiß ich nicht, was ich in diese Konfigurationsdatei einfügen soll. Ich habe keine Kontrolle über die Konfigurationsdatei der Host-Seite.

Jede Hilfe wollte Jede andere Methode ist sehr willkommen.

1

4 Antworten auf die Frage

1
Janos Pasztor

Sie müssen die Pakete für diese Anwendung irgendwie markieren. Der einfachste Weg, dies zu tun, wäre der folgende:

  • Führen Sie rtorrent als eigenen Benutzer aus
  • Verwenden Sie iptables, um die Verbindungen des Benutzers rtorrent zu markieren (-m owner --uid-owner rtorrent).
    • Alternativ können Sie auch die PID anpassen (--pid-owner)
  • Verwenden Sie das Richtlinienrouting, um diese Verbindungen anders als Ihre "normale" Routingtabelle weiterzuleiten.

Die ausführliche Erklärung wäre nicht nützlich, wenn Sie sie hier schreiben würden, aber dies würde Ihnen genug Keywords bieten, für die Sie suchen.

0
Jimmy Hedman

Eine andere Möglichkeit, dies zu lösen, könnte die Verwendung von Socken ower ssh ( ssh -D portnumber) sein.

0
pberlijn

Ein SOCKS-Proxy ist wahrscheinlich nicht das beste Werkzeug für diesen Job. Ich habe das so eingestellt:

  1. Führen Sie rtorrent als bestimmten Benutzer aus
  2. Verwenden Sie iptables, um den Verkehr von diesem Benutzer über das VPN weiterzuleiten

Die Frage ist hauptsächlich, ob Sie rtorrent als einen anderen Benutzer ausführen möchten. Sie betreiben es höchstwahrscheinlich auf dem Bildschirm, und der Bildschirm ist kein großer Fan davon, den Nutzer davon zu überzeugen. Es ist machbar, aber eine zusätzliche Sache, die Sie herausfinden müssen.

Bei der Untersuchung dieser genauen Frage für mein Setup war es für mich äußerst schwierig, OpenVPN auf Prozessebene zu beschränken. Wenn Sie einen Weg finden, damit es funktioniert, wäre ich sicher interessiert.

-1
LawrenceC

Sagen Sie rtorrent, nur zuzuhören tun0oder die IP-Adresse, die ihm zugewiesen ist. Dies sollte für eingehende Verbindungen sorgen.

Ich weiß nicht, was "sockd" ist, aber die tsocksKonfigurationsdatei ist /etc/tsocks.confIIRC. Sie benötigen jedoch eine sockenbewusste Anwendung auf der anderen Seite und OpenVPN nicht.

Anscheinend können Sie rtorrentdie Ports für ausgehende Verbindungen auf einen bestimmten Bereich beschränken. Tun Sie dies und verwenden Sie dann iptablesden REDIRECTausgehenden Verkehr auf diesen Ports von eth0nach tun0.