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

Wie Sie Ihren eigenen Proxy-Server einrichten

Entfesseln Sie digitale Freiheit! Dieser Leitfaden zeigt Ihnen, wie Sie einen leistungsstarken Proxy-Server

Wie Sie Ihren eigenen Proxy-Server einrichten

Um Ihren eigenen Proxyserver einzurichten, installieren und konfigurieren Sie typischerweise eine dedizierte Proxy-Software wie Squid für HTTP/HTTPS-Caching, 3proxy für leichtgewichtige HTTP/SOCKS-Anwendungen oder Dante für robuste SOCKS5-Verbindungen, indem Sie Listening-Ports, Zugriffssteuerungen und Authentifizierungsmechanismen auf einem Linux-Server definieren.

Das Einrichten eines selbst gehosteten Proxyservers bietet Kontrolle über den Netzwerkverkehr, Datenschutz, Zugriff auf geografisch eingeschränkte Inhalte oder verbesserte Sicherheit für interne Netzwerke. Die Wahl der Software hängt von spezifischen Anforderungen ab, wie z. B. Protokollunterstützung (HTTP, HTTPS, SOCKS), Caching-Bedarf und gewünschte Komplexität.

Allgemeine Voraussetzungen

Bevor Sie einen Proxy konfigurieren, stellen Sie sicher, dass Ihr Server diese grundlegenden Anforderungen erfüllt:
* Betriebssystem: Eine Linux-Distribution (z.B. Ubuntu, Debian, CentOS) wird häufig verwendet.
* Netzwerkzugriff: Der Server muss über eine entsprechende Netzwerkkonnektivität und eine öffentliche IP-Adresse verfügen, falls externer Zugriff erforderlich ist.
* Firewall-Konfiguration: Öffnen Sie die notwendigen Ports (z.B. 3128 für HTTP, 1080 für SOCKS) in der Firewall Ihres Servers (z.B. ufw, firewalld).

Squid Proxyserver

Squid ist ein leistungsstarker, voll ausgestatteter Caching-Proxy für Web-Clients, der HTTP, HTTPS, FTP und andere Protokolle unterstützt. Er zeichnet sich durch das Caching häufig aufgerufener Inhalte aus, wodurch die Bandbreitennutzung reduziert und die Antwortzeiten verbessert werden.

Installation (Debian/Ubuntu)

sudo apt update
sudo apt install squid

Auf CentOS/RHEL: sudo yum install squid oder sudo dnf install squid.

Grundkonfiguration

Die primäre Konfigurationsdatei befindet sich typischerweise unter /etc/squid/squid.conf.
1. Listening-Port definieren:
Suchen oder fügen Sie die http_port-Direktive hinzu.
http_port 3128
2. Zugriffssteuerungslisten (ACLs):
Squid verwendet ACLs, um Netzwerksegmente, Benutzer oder andere Kriterien zu definieren, und http_access-Regeln, um Aktionen anzuwenden.
```
# Eine lokale Netzwerk-ACL definieren (ersetzen Sie dies durch das lokale Subnetz Ihres Servers oder die IP des Clients)
acl localnet src 192.168.1.0/24 # Beispiel: Clients aus diesem Subnetz erlauben
acl localhost src 127.0.0.1/32

# Zugriff für definierte ACLs erlauben
http_access allow localhost
http_access allow localnet

# Allen anderen Zugriff verweigern
http_access deny all
```
Um den Zugriff von jeder IP-Adresse zu erlauben (weniger sicher, mit Vorsicht und Authentifizierung verwenden):
```
acl all src 0.0.0.0/0
http_access allow all
```
  1. Squid neu starten:
    bash sudo systemctl restart squid sudo systemctl enable squid sudo systemctl status squid

Benutzerauthentifizierung (Basic Auth)

Implementieren Sie eine grundlegende Benutzername/Passwort-Authentifizierung für verbesserte Sicherheit.
1. Apache-Dienstprogramme installieren (für htpasswd):
bash sudo apt install apache2-utils
2. Passwortdatei erstellen:
bash sudo htpasswd -c /etc/squid/passwd yourusername # Passwort eingeben und bestätigen. Um weitere Benutzer hinzuzufügen, -c weglassen: # sudo htpasswd /etc/squid/passwd anotheruser
3. Squid für die Authentifizierung konfigurieren:
Fügen Sie diese Zeilen zu squid.conf hinzu (z.B. oben oder im AUTH-Abschnitt):
```
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5 startup=5 idle=1
auth_param basic realm "Squid Proxy Authentication"
auth_param basic credentialsttl 2 hours

acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny all
```
Stellen Sie sicher, dass `http_access allow authenticated` *vor* allen `http_access deny all`-Regeln erscheint, die authentifizierte Benutzer blockieren würden.
  1. Squid neu starten.

HTTPS-Abfangen (Transparenter Proxy)

Squid kann HTTPS-Verkehr abfangen und entschlüsseln, was die Generierung und das Vertrauen eines benutzerdefinierten SSL-Zertifikats auf Client-Maschinen erfordert. Dies ist eine komplexe Konfiguration, die hauptsächlich in Unternehmensumgebungen zur Inhaltsfilterung und Überwachung eingesetzt wird und aufgrund von Sicherheits- und Datenschutzimplikationen im Allgemeinen nicht für den persönlichen Gebrauch empfohlen wird.

3proxy Proxyserver

3proxy ist ein leichter, vielseitiger Proxyserver, der HTTP, HTTPS (CONNECT), SOCKS4/5, FTP und andere Protokolle unterstützt. Er ist bekannt für seinen geringen Ressourcenverbrauch und seine flexible Konfiguration.

Installation (aus dem Quellcode kompilieren)

3proxy wird oft aus dem Quellcode kompiliert, um die neueste Version und maximale Kontrolle zu erhalten.
1. Build-Tools installieren:
bash sudo apt update sudo apt install build-essential git
2. Herunterladen und Kompilieren:
bash git clone https://github.com/z3APA3A/3proxy.git cd 3proxy make -f Makefile.Linux sudo make -f Makefile.Linux install
Die Binärdateien werden typischerweise nach /usr/local/bin/3proxy installiert.

Grundkonfiguration

Erstellen Sie eine Konfigurationsdatei, z.B. /etc/3proxy/3proxy.cfg.
1. DNS-Resolver:
nserver 8.8.8.8 # Google DNS nserver 1.1.1.1 # Cloudflare DNS
2. Authentifizierung (falls gewünscht):
auth strong users yourusername:CL:yourpassword # CL für Klartext, Hash für die Produktion verwenden
3. Proxys definieren:
* HTTP-Proxy:
proxy -p3128
* SOCKS5-Proxy:
socks -p1080
* Kombinierter HTTP- und SOCKS-Proxy:
proxy -p3128 socks -p1080
4. Zugriffssteuerung:
Nach users und vor den proxy/socks-Zeilen:
allow yourusername # Nur den angegebenen Benutzer erlauben # Oder um alle authentifizierten Benutzer zu erlauben: # allow * # Oder um von einer bestimmten IP zu erlauben: # allow 192.168.1.0/24
Eine grundlegende, weniger sichere Konfiguration, die jedem von überall her Zugriff erlaubt:
allow * * proxy -p3128 socks -p1080
5. 3proxy starten:
bash /usr/local/bin/3proxy /etc/3proxy/3proxy.cfg
Für den Hintergrundbetrieb verwenden Sie start 3proxy /etc/3proxy/3proxy.cfg innerhalb der Konfigurationsdatei oder systemd für eine ordnungsgemäße Dienstverwaltung.

Systemd-Dienst (Optional)

Erstellen Sie /etc/systemd/system/3proxy.service:

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

[Service]
ExecStart=/usr/local/bin/3proxy /etc/3proxy/3proxy.cfg
Restart=always
User=nobody # Als nicht-privilegierter Benutzer ausführen

[Install]
WantedBy=multi-user.target

Danach:

sudo systemctl daemon-reload
sudo systemctl enable 3proxy
sudo systemctl start 3proxy
sudo systemctl status 3proxy

Dante SOCKS-Server

Dante ist ein robuster SOCKS-Proxyserver, der hauptsächlich SOCKS4 und SOCKS5 unterstützt. Er ist bekannt für seine Stabilität und Leistung, was ihn für SOCKS-Tunneling mit hohem Datenverkehr geeignet macht.

Installation (Debian/Ubuntu)

sudo apt update
sudo apt install dante-server

Auf CentOS/RHEL: sudo yum install dante-server oder sudo dnf install dante-server.

Grundkonfiguration

Die Hauptkonfigurationsdatei ist /etc/danted.conf.
1. Netzwerkschnittstellen und Ports definieren:
logoutput: stderr internal: eth0 port = 1080 # Ersetzen Sie eth0 durch den Namen der internen Schnittstelle Ihres Servers external: eth0 # Ersetzen Sie eth0 durch den Namen der externen Schnittstelle Ihres Servers
Wenn Sie nur eine Schnittstelle haben, verwenden Sie diese sowohl für internal als auch für external.
2. Benutzerrechte:
user.privileged: root user.notprivileged: nobody
3. Authentifizierungsmethoden:
Für die Benutzername/Passwort-Authentifizierung verwendet Dante Systembenutzer.
socksmethod: username none
username erfordert Client-Authentifizierung, none erlaubt unauthentifizierten Zugriff.
4. Zugriffsregeln:
Definieren Sie client-Regeln (wer sich mit dem Proxy verbinden kann) und socks-Regeln (welchen Datenverkehr der Proxy weiterleiten wird).
```
# Client-Regel: Jedem erlauben, sich mit dem Proxy zu verbinden
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
socksmethod: username none # Oben definierte Authentifizierungsmethoden anwenden
}

# SOCKS-Regel: Proxy erlauben, Datenverkehr überallhin weiterzuleiten
socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    socksmethod: username none
}
```
Um den Client-Zugriff auf einen bestimmten IP-Bereich zu beschränken:
```
client pass {
    from: 192.168.1.0/24 to: 0.0.0.0/0
    socksmethod: username none
}
```
  1. Systembenutzer für die Authentifizierung erstellen:
    Wenn socksmethod: username verwendet wird, erstellen Sie einen Systembenutzer (ohne Home-Verzeichnis oder Shell-Zugriff aus Sicherheitsgründen).
    bash sudo adduser --no-create-home --shell /usr/sbin/nologin proxyuser # Ein starkes Passwort für proxyuser festlegen
  2. Dante neu starten:
    bash sudo systemctl restart danted sudo systemctl enable danted sudo systemctl status danted

Vergleichstabelle: Squid vs. 3proxy vs. Dante

Funktion Squid 3proxy Dante SOCKS-Server
Typ HTTP/HTTPS, Caching, Forward/Reverse HTTP, HTTPS (CONNECT), SOCKS4/5, FTP SOCKS4/5
Komplexität Mittel bis Hoch (aufgrund umfangreicher Funktionen) Niedrig bis Mittel (kompakte Konfiguration) Mittel (robuste SOCKS-Implementierung)
Hauptzweck Web-Caching, Inhaltsfilterung, Zugriffssteuerung Leichtgewichtiger Proxy, SOCKS-Gateway, vielseitig Hochleistungs-SOCKS-Proxy, Tunneling
Leistung Hoch (insbesondere mit Caching) Sehr leichtgewichtig, effizient Hoch, optimiert für SOCKS-Verkehr
Authentifizierung Basic, Digest, NTLM, externe Helfer Basic, NTLM, IP-basiert, externe Helfer Benutzername/Passwort (Systembenutzer), IP-basiert
Betriebssystem-Unterstützung Linux, FreeBSD, Windows (via Cygwin) Linux, Windows, BSD, macOS Linux, FreeBSD, Solaris, macOS
Konfiguration Umfangreich, granular, textbasiert Kompakt, skriptähnlich, textbasiert Textbasiert, klare Abschnitte

Allgemeine Sicherheits- und Leistungsüberlegungen

  • Firewall: Konfigurieren Sie die Firewall Ihres Servers (z.B. ufw, firewalld) immer so, dass nur eingehende Verbindungen zu den Proxy-Port(s) von vertrauenswürdigen IPs oder IP-Bereichen zugelassen werden.
  • Authentifizierung: Verwenden Sie starke, einzigartige Passwörter für die Proxy-Authentifizierung. Für öffentlich zugängliche Proxys immer die Authentifizierung aktivieren.
  • Geringstes Privileg: Führen Sie Proxy-Dienste unter einem dedizierten, nicht-privilegierten Benutzer (z.B. nobody oder einem benutzerdefinierten Benutzer) aus, um potenzielle Schäden im Falle einer Kompromittierung zu begrenzen.
  • Überwachung: Überprüfen Sie regelmäßig die Proxy-Protokolle auf ungewöhnliche Aktivitäten und überwachen Sie die Serverressourcen (CPU, RAM, Netzwerk-I/O), um Leistungsengpässe oder potenzielle Angriffe zu identifizieren.
  • Updates: Halten Sie Ihre Proxy-Software und Ihr Betriebssystem auf dem neuesten Stand, um Sicherheitslücken zu schließen.
  • Hardware: Stellen Sie sicher, dass der Server über ausreichende CPU, RAM und Netzwerkbandbreite für die erwartete Last verfügt. Für Squid mit intensivem Caching ist SSD-Speicher vorteilhaft.
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.