So richten Sie den Shadowsocks-libev-Proxyserver unter Ubuntu 22.04/20.04 ein
Dieses Tutorial zeigt Ihnen, wie Sie den Shadowsocks-Proxyserver unter Ubuntu einrichten. Shadowsocks ist ein leichter, schneller und sicherer Socks5-Proxy zur Umgehung der Internetzensur. Wir erfahren, wie Sie die Serverseite einrichten und den Desktop-Client unter Ubuntu konfigurieren. Es gibt viele Implementierungen von Shadowsocks. Dieses Tutorial zeigt Ihnen, wie Sie Shadowsocks-libev verwenden, weil
- Es ist in C geschrieben und selbst auf Low-End-Rechnern sehr schnell.
- Es ist gut gepflegt.
- Es ist die funktionsreichste Implementierung. Unterstützt werden TCP Fast Open, Multiuser, Verwaltungs-API, Umleitungsmodus, Tunnelmodus, UDP-Relay, AEAD-Verschlüsselungen und Plugins.
Voraussetzungen
Um diesem Tutorial folgen zu können, benötigen Sie einen VPS (Virtual Private Server), der frei auf blockierte Websites zugreifen kann (außerhalb Ihres Landes oder Internet-Filtersystems). Ich empfehle Kamatera VPS, das Folgendes bietet:
- 30 Tage kostenlose Testversion.
- Ab 4 $/Monat (1 GB RAM)
- Leistungsstarker KVM-basierter VPS
- 9 Rechenzentren auf der ganzen Welt, darunter in den USA, Kanada, Großbritannien, Deutschland, den Niederlanden, Hongkong und Israel.
Folgen Sie dem unten verlinkten Tutorial, um Ihren Linux-VPS-Server bei Kamatera zu erstellen.
- So erstellen Sie einen Linux-VPS-Server auf Kamatera
Sobald Sie einen VPS mit Ubuntu haben, befolgen Sie die nachstehenden Anweisungen.
Schritt 1: Installieren Sie den Shadowsocks-libev-Server unter Ubuntu 22.04/20.4
Stellen Sie eine SSH-Verbindung zu Ihrem Remote-Ubuntu-Server her. Shadowsocks-libev ist im Ubuntu-Repository enthalten, sodass Sie es installieren können mit:
sudo apt update
sudo apt install shadowsocks-libev
Die Natrium-Kryptobibliothek (libsodium) wird zusammen mit Shadowsocks-Libev installiert. Dies ist eine Voraussetzung, wenn Sie die sichere und schnelle Verschlüsselungsmethode ChaCha20-Poly1305 verwenden möchten. Bearbeiten Sie nach der Installation die Konfigurationsdatei.
sudo nano /etc/shadowsocks-libev/config.jsonDer Standardinhalt der Datei ist wie folgt.
{
"server":["::1", "127.0.0.1"],
"mode":"tcp_and_udp",
"server_port":8388,
"local_port":1080,
"password":"ACRrobo9ymXb",
"timeout":60,
"method":"chacha20-ietf-poly1305"
}Wir müssen 127.0.0.1 in 0.0.0.0 ändern, damit der Shadowsocks-libev-Server die öffentliche IP-Adresse überwacht. Ändern Sie dann server_port in andere Portnummern wie 8888. Das Passwort wurde zufällig generiert, Sie können es also so lassen, wie es ist.
Speichern und schließen Sie die Datei. Starten Sie dann den Dienst „shadowsocks-libev“ neu, damit die Änderungen wirksam werden.
sudo systemctl restart shadowsocks-libev.serviceAktivieren Sie den automatischen Start beim Booten.
sudo systemctl enable shadowsocks-libev.serviceÜberprüfen Sie den Status. Stellen Sie sicher, dass es läuft.
systemctl status shadowsocks-libev.serviceWenn Sie den folgenden Fehler sehen.
This system doesn't provide enough entropy to quickly generate high-quality random numbers. The service will not start until enough entropy has been collected.Sie können diesen Fehler beheben, indem Sie rng-tools installieren.
sudo apt-get install rng-toolsDann renne
sudo rngd -r /dev/urandomJetzt können Sie den Shadowsocks-libev-Dienst starten.
Schritt 2: Firewall konfigurieren
Wenn Sie die iptables-Firewall auf Ihrem Server verwenden, müssen Sie Datenverkehr zum TCP- und UDP-Port zulassen, den Shadowsocks überwacht. Wenn beispielsweise Port 8888 von Shadowsocks verwendet wird, führen Sie den folgenden Befehl aus:
sudo iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 8888 -j ACCEPTWenn Sie eine UFW-Firewall verwenden, führen Sie die folgenden Befehle aus:
sudo ufw allow 8888Wenn Sie AWS oder Google Cloud verwenden, müssen Sie die Firewall im webbasierten Control Panel konfigurieren.
Schritt 3: Installieren und konfigurieren Sie den Shadowsocks-libev-Client
Ubuntu-Desktop
Das Paket shadowsocks-libev enthält sowohl die Serversoftware als auch die Clientsoftware. Führen Sie auf dem Ubuntu 22.04- und 20.04-Desktop die folgenden Befehle aus, um Shadowsocks-libev zu installieren.
sudo apt update
sudo apt install shadowsocks-libevShadowsocks-libev (der Server) wird nach der Installation automatisch gestartet. Sie müssen den Shadowsocks-Server auf dem Ubuntu-Desktop stoppen.
sudo systemctl stop shadowsocks-libevDeaktivieren Sie außerdem den automatischen Start beim Booten.
sudo systemctl disable shadowsocks-libevDie Shadowsocks-Client-Binärdatei heißt ss-local. Dafür gibt es eine Vorlage für die systemd-Diensteinheit: /lib/systemd/system/[email . Bevor wir den Client starten, müssen wir die clientseitige Konfigurationsdatei erstellen. Wir können die Shadowsocks-libev-Serverkonfiguration in die Client-Konfigurationsdatei kopieren.
sudo cp /etc/shadowsocks-libev/config.json /etc/shadowsocks-libev/client01.jsonBearbeiten Sie dann die Client-Konfigurationsdatei.
sudo nano /etc/shadowsocks-libev/client01.jsonÄndern Sie die Serveradresse in die öffentliche IP-Adresse Ihres Servers und fügen Sie die folgende Zeile hinzu, um den Client anzuweisen, 127.0.0.1 abzuhören.
"local_address":"127.0.0.1",Die Client-Konfigurationsdatei sieht also folgendermaßen aus:
{
"server":"your-server-ip-address",
"mode":"tcp_and_udp",
"server_port":8888,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"ACRrobo9ymXb",
"timeout":60,
"method":"chacha20-ietf-poly1305"
}
Speichern und schließen Sie die Datei. Dann können wir den Client starten mit:
sudo systemctl start [email Und aktivieren Sie den automatischen Start beim Booten.
sudo systemctl enable [email Überprüfen Sie den Status. Stellen Sie sicher, dass es läuft.
systemctl status [email Jetzt überwacht der ss-local-Prozess 127.0.0.1:1080 auf Ihrem Ubuntu-Desktop und ist mit Ihrem Shadowsocks-Server verbunden.
Windows-Desktop
Windows-Benutzer können diesen Shadowsocks-Client herunterladen. Laden Sie die ZIP-Datei herunter und extrahieren Sie sie. Doppelklicken Sie dann auf die ausführbare Datei „shadowsocks“. Wenn das Windows Defender-Programm die Ausführung von Shadowsocks verhindert, klicken Sie auf Weitere Informationen und wählen Sie Trotzdem ausführen.
Als nächstes müssen Sie einen neuen Server in der Client-Software hinzufügen.
- Geben Sie die Server-IP-Adresse, den Server-Port (8888) und das Passwort an.
- Sie können auch den Timeout-Wert ändern (er sollte weniger als 20 Sekunden betragen).
- Behalten Sie die anderen Einstellungen als Standard bei.
Klicken Sie auf die Schaltfläche Übernehmen
Wenn Sie über mehrere Proxyserver verfügen, können Sie auf die Schaltfläche Hinzufügen klicken, um weitere Proxyserver hinzuzufügen. Beachten Sie, dass Sie jeweils nur einen Proxyserver verwenden.
Schritt 4: Konfigurieren Sie den Webbrowser für die Verwendung des Socks-Proxys
Damit Ihr Programm einen SOCKS-Proxy verwendet, muss das Programm SOCKS-Proxy unterstützen. Programme wie Firefox, Google Chrome und Dropbox ermöglichen Benutzern die Verwendung von Proxys. Ich zeige Ihnen, wie Sie Firefox und Google Chrome konfigurieren.
Feuerfuchs
- Gehen Sie in Firefox zu Bearbeiten > Einstellungen> Allgemein (oder Extras -> Einstellungen). > -> Allgemein).
- Scrollen Sie dann nach unten und klicken Sie in den Netzwerkeinstellungen auf die Schaltfläche Einstellungen.
- Wählen Sie im Fenster Verbindungseinstellungen die Option manuelle Proxy-Konfiguration aus.
- Wählen Sie dann SOCKS v5 aus, da Shadowsocks ein Socks5-Proxy ist.
- Geben Sie
127.0.0.1in das Feld SOCKS-Host und1080in das Feld Port ein. - Sie können Proxy-DNS bei Verwendung von SOCKS v5 oder DNS über HTTPS aktivieren. Beide sind gut.
- Klicken Sie auf OK, um diese Änderungen zu übernehmen.
Google Chrome
Während Sie den Proxy für Google Chrome und den Chromium-Browser über die Befehlszeile konfigurieren können, empfehle ich die Installation der Proxy SwitchyOmega-Erweiterung, um Proxys zu verwalten.
Sobald die Erweiterung in Google Chrome installiert ist, konfigurieren Sie einen Proxyserver wie folgt:
- Wählen Sie das Protokoll
SOCKS5. - Legen Sie
127.0.0.1als Serveradresse fest. - Legen Sie
1080als Portnummer fest.
Übernehmen Sie die Änderungen. Klicken Sie dann auf das Erweiterungssymbol in der oberen rechten Ecke und dann auf Proxy SwithyOmega.
Standardmäßig verwendet SwithyOmega die Proxy-Einstellungen des Betriebssystems. Wir müssen es von system Proxy in proxy ändern.
Jetzt sollte Ihr Proxy funktionieren.
Schritt 5: DNS-Lecktest
Gehen Sie zu dnsleaktest.com. Sie sehen die IP-Adresse Ihres Shadowsocks-Servers, die anzeigt, dass Ihr Proxy funktioniert.
Klicken Sie auf den Standardtest. Stellen Sie sicher, dass Ihr lokaler ISP nicht in den Testergebnissen enthalten ist.
Proxy in der Befehlszeile
Damit Ihre Befehlszeilenprogramme den Proxy verwenden können, können Sie tsocks installieren.
sudo apt install tsocksBearbeiten Sie dann die Konfigurationsdatei.
sudo nano /etc/tsocks.confSuchen Sie die folgende Zeile:
server = 192.168.0.1Ändern Sie es in
server = 127.0.0.1Speichern und schließen Sie die Datei. Jetzt können Sie Ihrem Befehlszeilenprogramm erlauben, den Shadowsocks-Proxy wie folgt zu verwenden:
sudo tsocks apt updateEs gibt auch ein ähnliches Programm namens Proxychains.
Aktivieren Sie TCP Fast Open
Sie können Shadowsocks beschleunigen, indem Sie TCP Fast Open aktivieren. TCP ist ein verbindungsorientiertes Protokoll, was bedeutet, dass Daten erst ausgetauscht werden können, nachdem eine Verbindung hergestellt wurde, was über den Drei-Wege-Handshake erfolgt. Mit anderen Worten: Traditionell können Daten erst ausgetauscht werden, nachdem der Drei-Wege-Handshake abgeschlossen ist. TCP Fast Open (TFO) ist ein Mechanismus, der den Datenaustausch ermöglicht, bevor der Drei-Wege-Handshake abgeschlossen ist, wodurch bis zu 1 Round-Trip-Time (RTT) eingespart wird.
Die TCP-Fast-Open-Unterstützung ist seit Version 3.7 in den Linux-Kernel integriert und seit Version 3.13 standardmäßig aktiviert. Sie können Ihre Kernel-Version überprüfen, indem Sie Folgendes ausführen:
uname -rUm die TCP-Fast-Open-Konfiguration auf Ihrem Ubuntu-Server zu überprüfen, führen Sie Folgendes aus:
cat /proc/sys/net/ipv4/tcp_fastopenEs können 4 Werte zurückgegeben werden.
- 0 bedeutet deaktiviert.
- 1 bedeutet, dass es für ausgehende Verbindungen (als Client) aktiviert ist.
- 2 bedeutet, dass es für eingehende Verbindungen aktiviert ist (als Server).
- 3 bedeutet, dass es sowohl für ausgehende als auch für eingehende Verbindungen aktiviert ist.
Alle meine Ubuntu VPS (Virtual Private Server) haben 1 zurückgegeben, nachdem sie den obigen Befehl ausgeführt haben. Wir möchten, dass tcp_fastopen auf unserem Server auf 3 gesetzt wird. Um dies zu erreichen, können wir die sysctl-Konfigurationsdatei bearbeiten.
sudo nano /etc/sysctl.confFügen Sie dann die folgende Zeile am Ende der Datei ein.
net.ipv4.tcp_fastopen=3Laden Sie die Sysctl-Einstellungen neu, damit die Änderung wirksam wird.
sudo sysctl -pDann müssen Sie auch TCP Fast Open in der Shadowsocks-Konfigurationsdatei aktivieren.
sudo nano /etc/shadowsocks-libev/config.jsonFügen Sie die folgende Zeile hinzu.
"fast_open": trueIhre Shadowsocks-Serverkonfigurationsdatei sieht also folgendermaßen aus:
{
"server":"your-server-ip-address",
"server_port":8388,
"local_port":1080,
"password":"focobguph",
"timeout":60,
"method":"chacha20-ietf-poly1305",
"fast_open": true
}Beachten Sie, dass die letzte Konfigurationszeile kein Komma enthält. Speichern und schließen Sie die Datei. Starten Sie dann den Shadowsocks-Server neu.
sudo systemctl restart shadowsocks-libevÜberprüfen Sie, ob es läuft. (Ein Fehler in der Konfigurationsdatei kann den Neustart verhindern.)
systemctl status shadowsocks-libevSie müssen außerdem die Konfigurationsdatei des Shadowsocks-Clients bearbeiten und neu starten, um das schnelle Öffnen von TCP auf dem Ubuntu-Desktop zu ermöglichen.
Aktivieren Sie TCP BBR
TCP BBR ist ein TCP-Überlastungskontrollalgorithmus, der die Verbindungsgeschwindigkeit drastisch verbessern kann. Schauen Sie sich das folgende Tutorial an.
- So steigern Sie ganz einfach die Netzwerkleistung von Ubuntu durch die Aktivierung von TCP BBR
Weitere Informationen zur Verwendung von Shadowsocks finden Sie im Handbuch.
man shadowsocks-libevFehlerbehebung
Hin und wieder funktioniert mein Shadowsocks-libev-Proxy nicht mehr und der folgende Fehler wird auf der Serverseite angezeigt, wenn ich den Status mit systemctl überprüfe.
ERROR: server recv: Connection reset by peerAuf der Clientseite lautet der von systemctl zurückgegebene Fehler:
ERROR: remote_recv_cb_recv: Connection reset by peerIch weiß nicht, warum das passiert, aber ein Neustart des shadowsocks-libev-Dienstes auf dem Server kann dieses Problem beheben.
sudo systemctl restart shadowsocks-libevIch möchte den Dienst nicht jedes Mal manuell neu starten, daher füge ich einen Cron-Job hinzu, der dies regelmäßig für mich erledigt.
sudo crontab -eFügen Sie die folgende Zeile am Ende der Datei ein.
0 */3 * * * /bin/systemctl restart shadowsocks-libevDadurch wird der Dienst alle 3 Stunden neu gestartet. Das heißt, der Neustart erfolgt um 12 Uhr, 3 Uhr, 6 Uhr, 9 Uhr usw. Beachten Sie, dass die Zeit von Cron bestimmt wird. Es wird nicht durch die Berechnung ermittelt, wie lange der Dienst bereits ausgeführt wurde.
Wenn Sie den folgenden Fehler im Shadowsocks-libev-Protokoll sehen.
ERROR: unable to resolve www.youtube.comDies bedeutet, dass der Shadowsocks-libev-Server DNS nicht erfolgreich auflösen kann. Es ist hilfreich, einen DNS-Server in der Datei /etc/shadowsocks-libev/config.json anzugeben. Fügen Sie einfach die folgende Zeile in die Datei ein und starten Sie den Dienst „shadowsocks-libev“ neu.
"name_server":"1.1.1.1",Wenn auf dem Shadowsocks-Server ein eigener DNS-Resolver läuft, können Sie 127.0.0.1 als Nameserver angeben.
"name_server":"127.0.0.1",Denken Sie daran, dass in der JSON-Datei die letzte Zeile nicht mit einem Komma endet.
Zusammenfassung
Das ist es! Ich hoffe, dieses Tutorial hat Ihnen bei der Installation des Shadowsocks-libev-Proxys unter Ubuntu geholfen. Wie immer gilt: Wenn Sie diesen Beitrag nützlich fanden, dann abonnieren Sie unseren kostenlosen Newsletter, um weitere Tipps und Tricks zu erhalten 🙂
Shadowsocks ist ein Forward-Proxy. Möchten Sie wissen, was ein Forward-Proxy ist? Bitte lesen Sie den folgenden Artikel:
- Unterschiede zwischen Forward-Proxy und Reverse-Proxy







