Wie konfiguriere ich meinen SOCKS-Proxy?

Wie konfiguriere ich meinen SOCKS-Proxy?

Ich weiß in der Theorie in- und auswendig, wie Proxy-Server funktionieren, aber die Praxis überfordert mich.

Ich muss einen SOCKS-Proxy im selben Netzwerk wie meine Verwaltungs-IP konfigurieren, damit er von den Benutzern isoliert bleibt. Ich habe einen vCenter-Cluster, auf dem ich jedes empfohlene Betriebssystem bereitstellen kann. Zur Vereinfachung ist hier jedoch das Setup:

  • Speichersystemverwaltungs-IP = 10.244.244.15
  • SUSE11 VM IP = 10.244.244.10
  • Windows XP IP = 10.244.244.5

Auf dem SUSE-System habe ich ausgeführt ssh -ND 1080 <user>@<storage mgmt ip>, dies führte jedoch nicht zu einer End-to-End-Konnektivität.

Ich habe zu diesem Zeitpunkt auf demselben Port einen ausgeführt tcpdumpund einige Datenverkehrsversuche beobachtet:

17:42:26.669953 IP 10.x.x.x.54214 > x.x.com.socks: S 3287828135:3287828135(0) win 5840 <mss 1460,sackOK,timestamp 6708230 0,nop,wscale 6>
17:42:26.669968 IP x.x.com.socks > 10.x.x.x.54214: R 0:0(0) ack 3287828136 win 0

Allgemeine Fragen:

  • Weniger wichtig: Was habe ich oben getan?
  • Und noch wichtiger: Wie kann ich in dieser Umgebung einen SOCKS-Proxy konfigurieren?

Antwort1

Die SSH-Verbindung hört aufgrund der GatewayPorts-Einstellung in der SSHD-Konfiguration wahrscheinlich nur auf der Loopback-Schnittstelle (127.0.0.1). Ihr Befehl funktioniert, wenn GatewayPorts auf „Ja“ eingestellt ist.

netstat -an | grep LISTEN

zeigt an, ob es auf der öffentlichen Schnittstelle lauscht. Sie können es zwingen, auf der öffentlichen Schnittstelle zu lauschen mit

ssh -ND <ip address>:<port> <user>:<host>

aber nur, wenn GatewayPorts dies zulässt.

 GatewayPorts
     Specifies whether remote hosts are allowed to connect to ports
     forwarded for the client.  By default, sshd binds remote port
     forwardings to the loopback address.  This prevents other remote
     hosts from connecting to forwarded ports.  GatewayPorts can be
     used to specify that sshd should allow remote port forwardings to
     bind to non-loopback addresses, thus allowing other hosts to con-
     nect.  The argument may be "no" to force remote port forwardings
     to be available to the local host only, "yes" to force remote
     port forwardings to bind to the wildcard address, or
     "clientspecified" to allow the client to select the address to
     which the forwarding is bound.  The default is "no".

Ich vermute, GatewayPorts ist standardmäßig auf „Nein“ eingestellt. Ändern Sie es in „Ja“ (in /etc/ssh/sshd_config), und dann sollte Ihr SSH-Befehl unverändert funktionieren. Sie können aber zur Sicherheit die IP-Adresse der Schnittstelle verwenden, um dies zu verdeutlichen.

NB: Darüber hinaus sollten Sie überprüfen, dass Sie keine iptables-Regeln haben, die eingehende Verbindungen blockieren.

Ein SSH-Proxy wie funktioniert, ist aber möglicherweise recht langsam (Verschlüsselungsaufwand). Sie sollten sich einen dedizierten Socks-Proxy wieSocken.

verwandte Informationen