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

Dante

Detaillierte Anleitung zur Einrichtung eines Dante SOCKS5 Proxy-Servers unter Linux. Umfasst Installation, Konfiguration und Tests für sicheren Netzwerkzugriff.

SOCKS5
Dante

Das Einrichten eines SOCKS5-Proxy-Servers unter Linux mit Dante umfasst die Installation des dante-server-Pakets, die Konfiguration von /etc/danted.conf zur Definition von Netzwerkschnittstellen, Authentifizierungsmethoden und Zugriffsregeln sowie das Starten des danted-Dienstes. Dante fungiert als SOCKS-Server, der den Netzwerkverkehr zwischen Clients und Zieladressen routet, die Netzwerksicherheit verbessert und den Zugriff auf eingeschränkte Ressourcen ermöglicht.

Voraussetzungen

Bevor Sie fortfahren, stellen Sie Folgendes sicher:

  • Ein Linux-Server (z.B. Debian, Ubuntu, CentOS, RHEL, Fedora) mit Root- oder sudo-Berechtigungen.
  • Grundlegendes Verständnis der Linux-Befehlszeilenschnittstelle und von Netzwerkkonzepten.
  • Eine verfügbare Netzwerkschnittstelle, auf der der Proxy lauschen kann (intern), und eine Schnittstelle für ausgehende Verbindungen (extern). Diese können identisch sein.

Installation

Installieren Sie das Dante-Server-Paket, das für Ihre Linux-Distribution spezifisch ist.

Debian/Ubuntu

sudo apt update
sudo apt install dante-server

RHEL/CentOS/Fedora

sudo dnf install dante-server # For Fedora/RHEL 8+
# Or for older CentOS/RHEL 7:
sudo yum install dante-server

Konfiguration

Die primäre Konfigurationsdatei für Dante ist /etc/danted.conf. Die Standarddatei kann Beispielkonfigurationen enthalten; es ist oft am besten, die Originaldatei zu sichern und mit einer minimalen, sauberen Konfiguration zu beginnen.

sudo mv /etc/danted.conf /etc/danted.conf.bak
sudo nano /etc/danted.conf

Grundlegende Konfigurationsstruktur

Eine minimale danted.conf definiert die Lauschschnittstelle (internal), die ausgehende Schnittstelle (external) und grundlegende Zugriffsregeln.

logoutput: /var/log/danted.log
internal: 0.0.0.0 port=1080
external: eth0 # Replace eth0 with your server's external network interface

socksmethod: none
user.privileged: root
user.notprivileged: nobody

client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: error connect disconnect
}

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: error connect disconnect
}

Erläuterung der Direktiven:

  • logoutput: Gibt den Pfad zur Protokolldatei an.
  • internal: Definiert die Netzwerkschnittstelle und den Port, auf dem Dante auf eingehende Client-Verbindungen lauscht.
    • 0.0.0.0 bindet an alle verfügbaren Netzwerkschnittstellen.
    • port=1080 ist der Standard-SOCKS-Port.
    • Sie können eine spezifische IP-Adresse angeben (z.B. internal: 192.168.1.10 port=1080).
  • external: Definiert die Netzwerkschnittstelle, die Dante für ausgehende Verbindungen zu Zieladressen verwendet. Ersetzen Sie eth0 durch die tatsächliche öffentliche oder ausgehende Schnittstelle Ihres Servers (z.B. ens3, enp0s3).
  • socksmethod: Gibt die Authentifizierungsmethoden an, die SOCKS-Clients verwenden können. none bedeutet keine Authentifizierung.
  • user.privileged: Der Benutzer, unter dem Dante bei der Durchführung privilegierter Operationen (z.B. Binden an niedrige Ports) ausgeführt wird.
  • user.notprivileged: Der Benutzer, zu dem Dante nach der Initialisierung für nicht privilegierte Operationen wechselt.
  • client pass Regeln: Steuern, welche Clients sich mit dem Dante-Server verbinden dürfen.
    • from: 0.0.0.0/0 erlaubt Verbindungen von jeder IP-Adresse. Beschränken Sie dies aus Sicherheitsgründen.
    • to: 0.0.0.0/0 gibt das Ziel für Client-Verbindungen an (in diesem Kontext immer der Proxy selbst).
  • socks pass Regeln: Steuern, welche Ziele die SOCKS-Clients über den Proxy erreichen dürfen.
    • from: 0.0.0.0/0 bezieht sich auf Clients, die sich erfolgreich authentifiziert oder die Client-Regeln bestanden haben.
    • to: 0.0.0.0/0 erlaubt Verbindungen zu jedem Ziel. Beschränken Sie dies aus Sicherheitsgründen.
    • log: error connect disconnect aktiviert die Protokollierung für Verbindungsereignisse.

Authentifizierungsmethoden

Dante unterstützt verschiedene Authentifizierungsmethoden. Die gängigsten sind none (keine Authentifizierung) und username (Benutzername/Passwort).

1. Keine Authentifizierung (Anonym)

Diese Methode eignet sich für vertrauenswürdige private Netzwerke, in denen alle Clients bekannt und zur Nutzung des Proxys ohne explizite Anmeldeinformationen autorisiert sind. Sie wird nicht für öffentlich zugängliche Proxys empfohlen.

# ... (rest of the basic config)
socksmethod: none

client pass {
    from: 192.168.1.0/24 to: 0.0.0.0/0 # Restrict to a specific subnet
    log: error connect disconnect
}

socks pass {
    from: 192.168.1.0/24 to: 0.0.0.0/0 # Clients from this subnet can reach anything
    log: error connect disconnect
}

2. Benutzername/Passwort-Authentifizierung

Dies ist die gängigste und empfohlene Methode für SOCKS5-Proxys, insbesondere wenn Clients extern oder nicht vertrauenswürdig sind. Dante verwendet Systembenutzer zur Authentifizierung.

Schritte:

  1. Erstellen Sie einen Systembenutzer für den Proxy. Erstellen Sie aus Sicherheitsgründen kein Home-Verzeichnis und weisen Sie keine Shell zu.
    bash sudo useradd -r -s /bin/false proxyuser sudo passwd proxyuser # Enter and confirm a strong password
    Wiederholen Sie dies bei Bedarf für weitere Benutzer.

  2. Ändern Sie danted.conf:
    ```
    logoutput: /var/log/danted.log
    internal: 0.0.0.0 port=1080
    external: eth0

    socksmethod: username # Enable username/password authentication
    user.privileged: root
    user.notprivileged: nobody

    client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: error connect disconnect
    }

    socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    socksmethod: username # Require username/password for SOCKS connections
    log: error connect disconnect
    }
    `` Die Direktivesocksmethod: usernamein dersocks pass`-Regel stellt sicher, dass nur authentifizierte Benutzer den Proxy verwenden können.

3. IP-basierte Authentifizierung

Diese Methode erlaubt es spezifischen IP-Adressen oder Subnetzen, den Proxy ohne Benutzername/Passwort zu verwenden. Sie kann mit der username-Authentifizierung kombiniert werden.

# ... (rest of the config)
socksmethod: username # Allow username/password as an option

client pass {
    from: 192.168.1.0/24 to: 0.0.0.0/0 # Allow specific subnet without auth
    log: error connect disconnect
}

client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0 # Allow all other clients, but require authentication
    socksmethod: username
    log: error connect disconnect
}

socks pass {
    from: 192.168.1.0/24 to: 0.0.0.0/0 # Clients from this subnet can reach anything (no auth needed)
    log: error connect disconnect
}

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0 # Authenticated clients can reach anything
    socksmethod: username
    log: error connect disconnect
}

In dieser Konfiguration benötigen Clients aus 192.168.1.0/24 keine Authentifizierung, während alle anderen Clients einen Benutzernamen und ein Passwort angeben müssen.

Firewall-Konfiguration

Nach der Konfiguration von Dante öffnen Sie den SOCKS-Port (Standard 1080) in der Firewall Ihres Systems, um eingehende Verbindungen zuzulassen.

Firewalld (CentOS/RHEL/Fedora)

sudo firewall-cmd --permanent --add-port=1080/tcp
sudo firewall-cmd --reload

UFW (Debian/Ubuntu)

sudo ufw allow 1080/tcp
sudo ufw enable # If UFW is not already enabled

Dienstverwaltung

Nach der Konfiguration und den Firewall-Anpassungen starten und aktivieren Sie den Dante-Dienst.

sudo systemctl start danted
sudo systemctl enable danted
sudo systemctl status danted

Überprüfen Sie den Dienststatus, um sicherzustellen, dass er fehlerfrei läuft. Überprüfen Sie /var/log/danted.log auf Konfigurationsprobleme.

Testen des Proxys

Verwenden Sie einen Client-Rechner, um den SOCKS5-Proxy zu testen.

Verwendung von curl (ohne Authentifizierung)

curl -x socks5://YOUR_SERVER_IP:1080 http://ifconfig.me/ip

Die Ausgabe sollte die öffentliche IP-Adresse Ihres Servers sein, was darauf hinweist, dass der Datenverkehr über den Proxy geleitet wird.

Verwendung von curl (mit Benutzername/Passwort-Authentifizierung)

curl -x socks5://proxyuser:your_password@YOUR_SERVER_IP:1080 http://ifconfig.me/ip

Ersetzen Sie proxyuser und your_password durch die zuvor konfigurierten Anmeldeinformationen.

Verwendung von proxychains (Linux-Client-Dienstprogramm)

  1. Installieren Sie proxychains:
    bash sudo apt install proxychains4 # Debian/Ubuntu sudo dnf install proxychains-ng # RHEL/CentOS/Fedora

  2. Konfigurieren Sie proxychains.conf:
    Bearbeiten Sie /etc/proxychains.conf oder ~/.proxychains/proxychains.conf.
    Kommentieren Sie strict_chain aus und entkommentieren Sie dynamic_chain.
    Fügen Sie am Ende der Datei Ihre Proxy-Server-Details hinzu:

    ```

    ... (other proxychains config)

    dynamic_chain

    strict_chain

    random_chain

    round_robin_chain

    dynamic_chain # Use dynamic chain for flexibility

    [ProxyList]

    add proxy here ...

    socks5 127.0.0.1 9050

    socks5 YOUR_SERVER_IP 1080 proxyuser your_password # With authentication

    Or, for no authentication:

    socks5 YOUR_SERVER_IP 1080

    ```

  3. Testen Sie mit proxychains:
    bash proxychains curl http://ifconfig.me/ip
    Die Ausgabe sollte die IP-Adresse Ihres Proxy-Servers anzeigen.

Best Practices für die Sicherheit

  • Zugriff beschränken: Verwenden Sie client pass-Regeln, um zu begrenzen, welche Client-IP-Adressen sich mit Ihrem Proxy verbinden können.
  • Starke Passwörter: Stellen Sie bei der Benutzername/Passwort-Authentifizierung sicher, dass alle Proxy-Benutzer starke, einzigartige Passwörter haben.
  • Geringstes Privileg: Gewähren Sie dem nobody-Benutzer oder den Proxy-Benutzern keine unnötigen Privilegien.
  • Regelmäßige Updates: Halten Sie Ihr Linux-Betriebssystem und das Dante-Paket auf dem neuesten Stand, um Sicherheitslücken zu schließen.
  • Protokollierung und Überwachung: Überprüfen Sie regelmäßig die Dante-Protokolle (/var/log/danted.log) auf verdächtige Aktivitäten. Implementieren Sie Lösungen zur Protokollüberwachung.
  • Firewall-Regeln: Konfigurieren Sie Ihre Firewall so, dass nur Verbindungen zum SOCKS-Port (1080) von vertrauenswürdigen IP-Bereichen zugelassen werden.
  • Dedizierter Benutzer: Verwenden Sie einen dedizierten Systembenutzer für den Proxy-Zugriff anstelle bestehender Benutzerkonten.
  • Unbenutzte Methoden deaktivieren: Aktivieren Sie nur socksmethod-Optionen, die unbedingt erforderlich sind.
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.