Ce tutoriel vous montrera comment installer le serveur proxy Shadowsocks sur un VPS Debian 9 (Virtual Private Server) . Shadowsocks est un proxy Socks5 léger, ultra rapide et sécurisé qui peut être utilisé pour contourner la censure sur Internet. Vous apprendrez également comment configurer le client Shadosocks-libev sur le bureau Debian 9 .
Il existe de nombreuses implémentations de Shadowsocks, ce tutoriel vous montre comment utiliser Shadowsocks-libev, car
- C'est écrit en C, très rapide même sur une machine bas de gamme.
- Il est bien entretenu.
- Il s'agit de l'implémentation la plus riche en fonctionnalités. TCP Fast Open, multi-utilisateur, API de gestion, mode de redirection, mode tunnel, relais UDP, chiffrements AEAD et plug-ins sont tous pris en charge.
Prérequis
Pour terminer ce tutoriel, vous aurez besoin de :
- Un VPS (Serveur Privé Virtuel). Je recommande Vultr. Ils offrent un VPS KVM haute performance de 512 Mo de mémoire pour seulement 2,5 $ par mois, ce qui est parfait pour votre serveur proxy privé.
- Installez ensuite Debian 9 sur votre VPS.
Comment installer le serveur Shadowsocks-libev sur le VPS Debian 9
Une fois que vous avez installé Debian 9 sur votre VPS. Connectez-vous à votre serveur via SSH. Shadowsocks-libev est inclus dans le référentiel Debian 9 par défaut, mais il est obsolète. En fait, la version obsolète ne fonctionne plus sur mon serveur. J'ai recommandé de l'installer à partir du référentiel Debian 9 stretch-backports, qui contient la dernière version de Shadowsocks-libev, afin que vous obteniez des mises à jour de sécurité et des corrections de bogues.
Pour activer le référentiel stretch-backports, vous devez modifier sources.list
fichier.
sudo nano /etc/apt/sources.list
Ajoutez la ligne suivante au bas de ce fichier.
deb http://ftp.debian.org/debian stretch-backports main
Enregistrez et fermez le fichier. Ensuite, mettez à jour l'index des packages locaux.
sudo apt update
Après cela, installez Shadowsocks-libev à partir du référentiel stretch-backports.
sudo apt -t stretch-backports install shadowsocks-libev
Pour vérifier le numéro de version, exécutez
ss-server -v
Exemple de sortie :
shadowsocks-libev 3.1.3
La bibliothèque de cryptographie sodium (libsodium) sera installée avec shadowsocks-libev. C'est une exigence si vous souhaitez utiliser la méthode de cryptage sécurisée et rapide ChaCha20-Poly1305. Une fois installé, Shadowsocks-libev démarrera automatiquement avec le fichier de configuration par défaut. Vous pouvez vérifier son statut avec :
systemctl status shadowsocks-libev
Sortie :
● shadowsocks-libev.service - Shadowsocks-libev Default Server Service Loaded: loaded (/lib/systemd/system/shadowsocks-libev.service; enabled; vendor preset: enabled Active: active (running) since Wed 2018-04-25 06:18:55 UTC; 3min 47s ago Docs: man:shadowsocks-libev(8) Main PID: 28728 (ss-server) CGroup: /system.slice/shadowsocks-libev.service └─28728 /usr/bin/ss-server -c /etc/shadowsocks-libev/config.json -u
Comme vous pouvez le voir, il est en cours d'exécution et le démarrage automatique au démarrage est activé. S'il ne fonctionne pas, vous pouvez le démarrer avec :
sudo systemctl start shadowsocks-libev
Pour activer le démarrage automatique au démarrage, exécutez :
sudo systemctl enable shadowsocks-libev
Nous devons maintenant modifier le fichier de configuration par défaut.
sudo nano /etc/shadowsocks-libev/config.json
Le contenu par défaut du fichier est le suivant.
{ "server":"127.0.0.1", "server_port":8388, "local_port":1080, "password":"focobguph", "timeout":60, "method":null }
Remplacez 127.0.0.1 par l'adresse IP publique de votre serveur Debian. Vous pouvez modifier server_port
à un autre numéro de port, mais n'utilisez pas le port 8388. Définissez ensuite votre mot de passe préféré, qui est utilisé pour chiffrer le trafic. Il est recommandé de remplacer null
avec chacha20-ietf-poly1305
comme méthode de cryptage. Voici un exemple de ma configuration.
Enregistrez et fermez le fichier. Redémarrez ensuite Shadowsocks-libev pour que les modifications prennent effet.
sudo systemctl restart shadowsocks-libev
Installer et configurer le client Shadowsocks-libev sur le bureau Debian 9
Le package shadowsocks-libev contient à la fois le logiciel serveur et le logiciel client. Utilisez donc simplement la méthode mentionnée ci-dessus pour installer Shadowsocks-libev sur le bureau Debian 9.
Remarque :Sur Debian 9, Shadowsocks-libev (le serveur) démarrera automatiquement après avoir été installé. Vous devez arrêter le serveur Shadowsocks sur le bureau Debian 9.
sudo systemctl stop shadowsocks-libev
Désactivez également le démarrage automatique au démarrage.
sudo systemctl disable shadowsocks-libev
Le binaire client Shadowsocks est nommé ss-local
. Il existe un modèle d'unité de service systemd : /lib/systemd/system/[email protected]
. Avant de démarrer le client, nous devons créer le fichier de configuration côté client.
sudo nano /etc/shadowsocks-libev/location-of-your-server.json
Vous pouvez remplacer location-of-your-server
avec quelque chose comme SFO, LAX. Copiez la configuration du serveur Shadowsocks-libev dans le fichier de configuration du client, puis ajoutez la ligne suivante pour dire au client d'écouter sur 127.0.0.1.
"local_address":"127.0.0.1",
Ainsi, le fichier de configuration du client ressemblera à ceci :
{ "server":"your-server-ip-address", "server_port":8388, "local_address":"127.0.0.1", "local_port":1080, "password":"focobguph", "timeout":60, "method":"chacha20-ietf-poly1305" }
Enregistrez et fermez le fichier. Ensuite, nous pouvons démarrer le client avec :
sudo systemctl start [email protected]location-of-your-server.service
Et activez le démarrage automatique au démarrage.
sudo systemctl enable shadowsocks-libe[email protected]location-of-your-server.service
Vérifiez son état. Assurez-vous qu'il est en cours d'exécution.
systemctl status [email protected]location-of-your-server.service
Maintenant le ss-local
Le processus écoute sur 127.0.0.1:1080 sur votre bureau Ubuntu et il est connecté à votre serveur Shadowsocks.
Configurer le navigateur Web pour utiliser le proxy Socks
Pour permettre à votre programme d'utiliser un proxy chaussettes, le programme doit prendre en charge le proxy chaussettes. Des programmes comme Firefox quantum, Google Chrome et Dropbox permettent aux utilisateurs d'utiliser un proxy. Je vais vous montrer comment configurer Firefox et Google Chrome.
Firefox
Dans Firefox, allez dans Modifier> Préférences> Général . Ensuite, faites défiler vers le bas et cliquez sur Paramètres dans Proxy réseau . Dans les Paramètres de connexion fenêtre, sélectionnez configuration manuelle du proxy . Sélectionnez ensuite SOCKS v5 car Shadowsocks est un proxy Socks5. Entrez 127.0.0.1 dans le champ Hôte SOCKS et 1080 dans le champ Port. Assurez-vous que Proxy DNS lors de l'utilisation de SOCKS v5 est autorisé. Cliquez sur OK pour appliquer ces modifications.
Google Chrome
Les versions de Google Chrome et Chromium Linux n'ont pas d'interface graphique pour configurer le proxy, mais vous pouvez utiliser les options de ligne de commande comme ci-dessous.
google-chrome --proxy-server="socks5://127.0.0.1:1080"
ou
chromium-browser --proxy-server="socks5://127.0.0.1:1080"
Vous pouvez également installer et utiliser le proxy de configuration de l'extension SwitchOmega afin de ne pas avoir à taper la commande dans la fenêtre du terminal.
Test de fuite DNS
Allez sur dnsleaktest.com. Vous verrez l'adresse IP de votre serveur Shadowsocks, ce qui indique que votre proxy fonctionne.
Cliquez sur Test standard. Assurez-vous que votre FAI local ne figure pas dans les résultats du test.
Activer TCP BBR
TCP BBR est un algorithme de contrôle de congestion TCP qui peut considérablement améliorer la vitesse de connexion. Suivez le tutoriel ci-dessous pour activer TCP BBR sur le serveur Debian 9. Vous n'avez pas besoin de l'activer sur le bureau Debian 9. Le tutoriel lié ci-dessous est pour Ubuntu, mais s'applique également à Debian.
- Comment augmenter facilement les performances du réseau Ubuntu en activant TCP BBR
Activer l'ouverture rapide TCP
Vous pouvez accélérer un peu plus Shadowsocks en activant l'ouverture rapide TCP. TCP est un protocole orienté connexion, ce qui signifie que les données ne peuvent être échangées qu'après l'établissement d'une connexion, ce qui se fait via la poignée de main à trois voies. En d'autres termes, traditionnellement, les données ne peuvent être échangées qu'une fois la poignée de main à trois voies terminée. L'ouverture rapide TCP (TFO) est un mécanisme qui permet d'échanger des données avant la fin de la négociation à trois voies, ce qui permet d'économiser jusqu'à 1 temps d'aller-retour (RTT).
La prise en charge de l'ouverture rapide TCP est fusionnée avec le noyau Linux depuis la version 3.7 et activée par défaut depuis la version 3.13. Vous pouvez vérifier la version de votre noyau en exécutant :
uname -r
Pour vérifier la configuration d'ouverture rapide TCP sur votre serveur Debian, exécutez
cat /proc/sys/net/ipv4/tcp_fastopen
Il peut renvoyer 4 valeurs.
- 0 signifie désactivé.
- 1 signifie qu'il est activé pour la connexion sortante (en tant que client).
- 2 signifie qu'il est activé pour les connexions entrantes (en tant que serveur).
- 3 signifie qu'il est activé pour les connexions sortantes et entrantes.
Tous mes serveurs debian ont renvoyé 1
après avoir exécuté la commande ci-dessus. Nous voulons que tcp_fastopen soit défini sur 3 sur notre serveur. Pour y parvenir, nous pouvons modifier le fichier de configuration sysctl.
sudo nano /etc/sysctl.conf
Collez ensuite la ligne suivante à la fin du fichier.
net.ipv4.tcp_fastopen=3
Rechargez les paramètres sysctl pour que la modification prenne effet.
sudo sysctl -p
Ensuite, vous devrez également activer l'ouverture rapide TCP dans le fichier de configuration de Shadowsocks.
sudo nano /etc/shadowsocks-libev/config.json
Ajoutez la ligne suivante.
"fast_open": true
Ainsi, votre fichier de configuration du serveur Shadowsocks ressemblera à ceci :
{ "server":"your-server-ip-address", "server_port":8388, "local_port":1080, "password":"focobguph", "timeout":60, "method":"chacha20-ietf-poly1305", "fast_open": true }
Notez que la dernière ligne de configuration n'a pas de virgule. Enregistrez et fermez le fichier. Redémarrez ensuite le serveur Shadowsocks.
sudo systemctl restart shadowsocks-libev
Vérifiez s'il est en cours d'exécution. (Une erreur dans le fichier de configuration peut l'empêcher de redémarrer.)
systemctl status shadowsocks-libev
Vous devez également modifier le fichier de configuration du client Shadowsocks et le redémarrer pour activer l'ouverture rapide TCP sur le bureau Debian 9.
Pour plus d'utilisation sur Shadowsocks, consultez le manuel.
man shadowsocks-libev
C'est ça! J'espère que ce tutoriel vous a aidé à installer le proxy Shadowsocks-libev sur le serveur et le bureau Debian 9. Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite pour obtenir plus de conseils et astuces. Prenez soin de vous.