Redsocks + Socks-Server auf unterschiedlichen Rechnern

Redsocks + Socks-Server auf unterschiedlichen Rechnern

Ich habe folgendes Setup:

  • Host-X (192.168.1.100) führt ssh -D aus, sodass er als Socks-Server verwendet werden kann.
  • Host-Y (192.168.1.101) führt Redsocks aus, konfiguriert mit Host-X als Socks.

Sie befinden sich zusammen mit anderen Maschinen im selben Netzwerk. Ich möchte Host-Y auf einigen Computern als Gateway verwenden, um die Vorteile von Redsocks zu nutzen. Die IP-Weiterleitung auf Host-Y ist aktiviert.

Dies ist die Redsocks-Konfiguration:

base {
    log_info = on;
    log = "file:/var/log/redsocks.log";
    daemon = on;
    redirector = iptables;
}
redsocks {
    local_ip = 0.0.0.0;
    local_port = 2001;
    ip = 192.168.1.100;
    port = 2000;
    type = socks5;
}

Dies sind meine iptables-Regeln:

iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-port 2001
iptables -t nat -A PREROUTING -i eth0 -p tcp -j REDSOCKS

Ich kann den Datenverkehr, der zu Redsocks auf Host-Y kommt, aus dem Protokoll sehen, aber ich kann auf den Computern, die Host-Y als Gateway verwenden, nicht im Internet surfen. Offensichtlich fehlen einige iptables-Regeln, ich vermute eine, die den von Redsocks ausgegebenen Datenverkehr an den Socks-Server sendet. Kann jemand helfen?

Danke schön!

Antwort1

Wenn ich die letzte Regel als erste einstelle, funktioniert anscheinend alles richtig. Die Lösung besteht also darin, die folgenden iptables-Regeln zu verwenden:

iptables -t nat -N REDSOCKS
iptables -t nat -A PREROUTING -i eth0 -p tcp -j REDSOCKS
iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-port 2001

verwandte Informationen