Zum Inhalt springen
GProxy
Registrierung
Гайды 6 Min. Lesezeit 31 Aufrufe

3proxy

Meistern Sie die 3proxy-Installation und -Konfiguration. Dieser Leitfaden beschreibt detailliert die Einrichtung eines leichtgewichtigen Proxy-Servers, der die Netzwerkkontrolle und den Datenschutz verbessert.

3proxy

3proxy ist eine schlanke, hochleistungsfähige Proxy-Server-Suite, die installiert und konfiguriert werden kann, um HTTP-, HTTPS-, SOCKSv4/4.5/5- und FTP-Proxy-Dienste sowie TCP-Port-Mapping und Traffic-Umleitung bereitzustellen, hauptsächlich durch Kompilierung aus dem Quellcode auf Unix-ähnlichen Systemen oder durch die Verwendung vorgefertigter Binärdateien unter Windows.

3proxy ist ein kompakter und vielseitiger Proxy-Server, der für Umgebungen entwickelt wurde, die minimalen Ressourcenverbrauch und hohe Konfigurierbarkeit erfordern. Sein geringer Platzbedarf und seine Effizienz machen ihn geeignet für eingebettete Systeme, den persönlichen Gebrauch oder Szenarien, in denen ein voll ausgestatteter Proxy wie Squid überdimensioniert wäre.

Voraussetzungen

Bevor Sie 3proxy installieren, stellen Sie sicher, dass das Zielsystem die folgenden Anforderungen erfüllt:

  • Betriebssystem: Ein Unix-ähnliches System (Linux, FreeBSD, macOS) für die Kompilierung oder Windows für die Binärverteilung. Dieser Leitfaden konzentriert sich auf Linux.
  • Compiler: GCC oder Clang (für die Quellcode-Kompilierung).
  • Build-Tools: make-Dienstprogramm.
  • Netzwerkzugriff: Möglichkeit zum Herunterladen von Quelldateien.
  • Benutzerrechte: root- oder sudo-Zugriff für Installation und Systemdienstkonfiguration.

Installation

Die Installation von 3proxy umfasst typischerweise das Herunterladen des Quellcodes, dessen Kompilierung und das anschließende Platzieren der Binärdateien und Konfigurationsdateien an geeigneten Stellen.

Quellcode herunterladen

Laden Sie immer die neueste stabile Version von der offiziellen 3proxy-Website oder dem GitHub-Repository herunter.

# In ein temporäres Verzeichnis wechseln
cd /tmp

# Die neueste stabile Version herunterladen (bei Abweichung durch aktuelle Version ersetzen)
# Prüfen Sie https://3proxy.ru/ oder https://github.com/3proxy/3proxy für den neuesten Link
wget https://3proxy.ru/0.9.4/3proxy-0.9.4.tar.gz

# Das Archiv entpacken
tar -xzf 3proxy-0.9.4.tar.gz

# In das entpackte Verzeichnis wechseln
cd 3proxy-0.9.4

Kompilieren und Installieren

3proxy verwendet ein einfaches Makefile. Die Kompilierung ist unkompliziert.

# 3proxy kompilieren
make -f Makefile.Linux

# Installationsverzeichnisse erstellen
mkdir -p /usr/local/3proxy/bin
mkdir -p /usr/local/3proxy/etc
mkdir -p /usr/local/3proxy/logs

# Die kompilierte Binärdatei und Beispielkonfiguration installieren
cp src/3proxy /usr/local/3proxy/bin/
cp 3proxy.cfg.sample /usr/local/3proxy/etc/3proxy.cfg

# Entsprechende Berechtigungen setzen (optional, aber gute Praxis)
chmod 755 /usr/local/3proxy/bin/3proxy
chmod 640 /usr/local/3proxy/etc/3proxy.cfg

Für Systeme, die spezifische Funktionen (z.B. NTLM-Authentifizierung, IPv6-Unterstützung) benötigen, konsultieren Sie die src/Makefile.Linux für Kompilierungs-Flags. Zum Beispiel, um NTLM zu aktivieren: make -f Makefile.Linux NTLM.

Grundlegende Konfiguration

Die primäre Konfigurationsdatei für 3proxy ist 3proxy.cfg. Sie definiert Listening-Ports, Proxy-Typen, Authentifizierungsmethoden und Zugriffsregeln. Der Standardpfad ist /usr/local/3proxy/etc/3proxy.cfg.

Kern-Direktiven

Eine minimale 3proxy.cfg enthält:

  • nserver: Gibt DNS-Server für die Hostnamenauflösung an.
  • timeouts: Legt verschiedene Verbindungs-Timeouts fest.
  • log: Definiert den Logdateipfad und das Format.
  • users: Deklariert Benutzer für die Authentifizierung.
  • auth: Gibt die Authentifizierungsmethode an.
  • proxy, socks, tcppm: Definiert die Proxy-Dienste.

Beispiel: Einfacher HTTP/HTTPS-Proxy

Diese Konfiguration richtet einen HTTP/HTTPS-Proxy auf Port 3128 ein, der eine Basis-Authentifizierung für einen Benutzer namens testuser mit dem Passwort password123 erfordert.

# /usr/local/3proxy/etc/3proxy.cfg

# Globale Einstellungen
nserver 8.8.8.8 # Google Public DNS
nserver 8.8.4.4

# Timeouts in Sekunden
timeouts 1 5 30 60 180 1800 15 60

# Log-Einstellungen
# log /usr/local/3proxy/logs/3proxy.log D # Tägliche Rotation
log /usr/local/3proxy/logs/3proxy.log
logformat "- +_L%t.%. %N.%O %I %E %U %C:%c %R:%r %O %h %T"

# Benutzer für die Authentifizierung: Benutzer:Passwort
users testuser:CL:password123

# Authentifizierungsmethode
# CL: Klartext-Passwort (nicht empfohlen für die Produktion)
# LM: LAN Manager Hash
# NT: NTLM Hash
# P: Verschlüsseltes Passwort (3proxy's internes Format, `3proxy -e` zur Generierung verwenden)
auth strong # Starke Authentifizierung verwenden (erfordert LM/NT oder P)
# Für einfache CL-Passwörter 'auth iponly,basic' verwenden

# Zugriff für authentifizierte Benutzer erlauben
allow testuser

# Den HTTP/HTTPS-Proxy-Dienst definieren
# -p 3128: Hört auf Port 3128
# -n: Deaktiviert NTLM-Authentifizierung für diesen Dienst (wenn globales NTLM aktiviert ist)
# -a: Aktiviert Basis-Authentifizierung
proxy -p3128

Um ein verschlüsseltes Passwort mit 3proxy -e zu generieren:

/usr/local/3proxy/bin/3proxy -e password123

Die Ausgabe (z.B. _E_01000000010000000000000000000000) kann dann in der users-Direktive mit dem Präfix _E_ verwendet werden: users testuser:_E_01000000010000000000000000000000.

3proxy starten

Nach der Konfiguration von 3proxy.cfg starten Sie den Server:

/usr/local/3proxy/bin/3proxy /usr/local/3proxy/etc/3proxy.cfg

Um ihn im Hintergrund als Daemon auszuführen:

/usr/local/3proxy/bin/3proxy /usr/local/3proxy/etc/3proxy.cfg -d

Erweiterte Konfigurationsthemen

Authentifizierungsmethoden

3proxy unterstützt verschiedene Authentifizierungsmethoden:

  • iponly: Authentifizierung ausschließlich basierend auf der Client-IP-Adresse (kein Benutzername/Passwort).
  • basic: HTTP Basic Authentication (sendet Anmeldeinformationen im Klartext).
  • digest: HTTP Digest Authentication.
  • ntlm: NTLM-Authentifizierung (erfordert Kompilierung mit NTLM-Unterstützung).
  • strong: Wählt automatisch die stärkste verfügbare Methode.

Beispiel mit auth iponly:

# /usr/local/3proxy/etc/3proxy.cfg
auth iponly
allow 192.168.1.0/24 # Alle Clients aus diesem Subnetz ohne explizite Benutzerauthentifizierung erlauben
proxy -p3128

Zugriffskontrolle

Die Direktiven allow und deny steuern den Client-Zugriff basierend auf verschiedenen Kriterien. Regeln werden der Reihe nach verarbeitet. Die erste passende Regel wird angewendet.

# /usr/local/3proxy/etc/3proxy.cfg

# Spezifische IP-Adressen verweigern
deny 192.168.1.10

# Einem spezifischen Benutzer Zugriff erlauben
allow myuser

# Einem spezifischen Subnetz für HTTP/HTTPS Zugriff erlauben
allow * 192.168.1.0/24 * * HTTP HTTPS

# Zugriff auf spezifische Ziel-Domains verweigern
deny * * .example.com

Die Syntax für allow/deny ist allow [user] [src_ip] [dst_ip] [target_port] [protocol]. * fungiert als Wildcard.

Proxy-Ketten (Parent Proxies)

3proxy kann Anfragen über die Direktive parent an einen anderen Proxy-Server weiterleiten.

# /usr/local/3proxy/etc/3proxy.cfg

# An einen Upstream-HTTP-Proxy weiterleiten
parent 1000 http 192.168.1.100 8080 myuser:mypass

# An einen Upstream-SOCKS5-Proxy weiterleiten
parent 1000 socks5 192.168.1.101 1080

Das erste Argument 1000 ist ein Timeout in Millisekunden.

SOCKS-Proxy

Um einen SOCKS-Proxy (v4, v4.5, v5) zu konfigurieren, verwenden Sie die Direktive socks.

# /usr/local/3proxy/etc/3proxy.cfg

# SOCKS-Proxy-Dienst auf Port 1080 definieren
socks -p1080

TCP-Port-Mapping (TCPPM)

Die Direktive tcppm ermöglicht das Weiterleiten von TCP-Verbindungen von einem lokalen Port zu einem Remote-Host und Port.

# /usr/local/3proxy/etc/3proxy.cfg

# Verbindungen von lokalem Port 2222 zu remotehost:22 (SSH) weiterleiten
tcppm -p2222 remotehost.example.com 22

Protokollierungskonfiguration

Die Direktive log gibt die Logdatei an. logformat definiert die Ausgabestruktur. rotate konfiguriert die Logrotation.

# /usr/local/3proxy/etc/3proxy.cfg

# In /usr/local/3proxy/logs/access.log protokollieren
log /usr/local/3proxy/logs/access.log

# Benutzerdefiniertes Log-Format
logformat "- +_L%t.%. %N.%O %I %E %U %C:%c %R:%r %O %h %T"

# Logs täglich (D), wöchentlich (W), monatlich (M) oder nach Größe (S<bytes>) rotieren
rotate D /usr/local/3proxy/logs/archive

Systemintegration (systemd-Dienst)

Für einen robusten Betrieb führen Sie 3proxy als systemd-Dienst aus.

  1. Eine Dienstdatei erstellen: /etc/systemd/system/3proxy.service

    ```ini
    [Unit]
    Description=3proxy Lightweight Proxy Server
    After=network.target

    [Service]
    Type=forking
    ExecStart=/usr/local/3proxy/bin/3proxy /usr/local/3proxy/etc/3proxy.cfg -d
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=process
    Restart=on-failure
    User=nobody # Oder ein dedizierter, nicht privilegierter Benutzer wie '3proxy'
    Group=nogroup # Oder eine dedizierte Gruppe

    [Install]
    WantedBy=multi-user.target
    `` *Hinweis*: Erstellen Sie den3proxy-Benutzer/die Gruppe bei Bedarf:sudo useradd -r -s /sbin/nologin 3proxy. Passen Sie die Dateiberechtigungen für/usr/local/3proxy/logs` an.

  2. systemd neu laden, Dienst aktivieren und starten:

    bash sudo systemctl daemon-reload sudo systemctl enable 3proxy.service sudo systemctl start 3proxy.service sudo systemctl status 3proxy.service

Tipps zur Fehlerbehebung

  • Logs prüfen: Konsultieren Sie immer die 3proxy-Logdatei (/usr/local/3proxy/logs/3proxy.log standardmäßig) auf Fehlermeldungen oder Zugriffsprobleme.
  • Firewall-Regeln: Stellen Sie sicher, dass die Firewall (z.B. ufw, firewalld, iptables) eingehende Verbindungen zu den 3proxy-Listening-Ports (z.B. 3128, 1080) zulässt.
    bash # Beispiel für ufw sudo ufw allow 3128/tcp
  • Konfigurationssyntax: Überprüfen Sie 3proxy.cfg auf Syntaxfehler. 3proxy ist sehr spezifisch bezüglich seines Konfigurationsformats.
  • Berechtigungen: Stellen Sie sicher, dass die 3proxy-Binärdatei Ausführungsberechtigungen hat und das Log-Verzeichnis für den Benutzer, der den Dienst ausführt, beschreibbar ist.
  • Dienst neu starten: Nach jeder Konfigurationsänderung laden Sie den 3proxy-Dienst neu oder starten ihn neu (sudo systemctl restart 3proxy).

3proxy vs. Squid

Funktion 3proxy Squid
Ressourcenverbrauch Minimal (geringe CPU, RAM) Moderat bis hoch (abhängig von Last/Funktionen)
Komplexität Relativ einfach, textbasierte Konfig. Komplex, umfangreiche Konfigurationsoptionen
Proxy-Typen HTTP, HTTPS, SOCKS, FTP, TCPPM HTTP, HTTPS, FTP, ICP, ESI
Caching Keine native Caching-Funktion Robustes, hochgradig konfigurierbares Caching
SSL-Interception Begrenzt/grundlegend Erweitert, zertifikatbasiert
Authentifizierung Basic, Digest, NTLM, IP-basiert Umfassend (LDAP, Kerberos, RADIUS)
Anwendungsfall Leichtgewichtig, persönlich, eingebettet Unternehmen, hoher Traffic, Inhaltsfilterung
Entwicklung Aktiv, Einzelentwickler Aktiv, Community-gesteuert
Aktualisiert: 04.03.2026
Zurück zur Kategorie

Testen Sie unsere Proxys

20.000+ Proxys in über 100 Ländern weltweit

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.