Non classé

Comment configurer Shadowsocks-libev Proxy Server sur CentOS – Un serveur de qualité

Le 3 décembre 2020 - 13 minutes de lecture


Ce tutoriel vous montrera comment configurer le serveur proxy Shadowsocks sur CentOS. Shadowsocks est un proxy Socks5 facile, rapide et sécurisé pour contourner la censure Internet. Nous apprenons comment configurer le côté serveur et comment configurer le client de bureau sur CentOS. Il existe de nombreuses implémentations de Shadowsocks, ce guide vous montre comment utiliser Shadowsocks-libev, car

  • Il est écrit en C, très rapide, même dans la boîte bas de gamme.
  • Il est bien entretenu.
  • C'est l'implémentation la plus riche en fonctionnalités. TCP Quick Open, Multi-User, Administration API, Redirector Mode, Tunnel Mode, UDP Relay, AEAD Encrypt et Plugins sont tous pris en charge.

Configurer Shadowsocks-libev Proxy Server sur CentOS

Conditions préalables

Pour terminer ce tutoriel, vous aurez besoin de:

Mise à jour: Le nouveau forfait Vultr 2,5 $ / mois comprend uniquement l'adresse IPv6. Vous pouvez choisir le plan de 3,5 $ / mois dans le centre de données de New York (NJ) pour avoir à la fois des adresses IPv4 et IPv6.

Étape 1: Installez Shadowsocks-libev Server sur CentOS

SSH sur votre serveur CentOS distant. Shadowsocks-libev n'est pas inclus dans le référentiel CentOS. Il est recommandé de l'installer à partir du magasin Snap. Pour installer le logiciel à partir du Snap Store, nous devons installer snapd démon.

sudo dnf installer -y epel-release
mise à jour sudo dnf -y
sudo dnf installer -y snapd

Démarrer et activer snapd service système:

sudo systemctl démarrer snapd.service
sudo systemctl activer snapd.service

Ensuite, installez Shadowsocks-libev.

sudo snap installer shadowsocks-libev

Une fois installé, vous pouvez exécuter la commande suivante pour afficher des informations détaillées sur shadowsocks-libev casser.

snap info shadowsocks-libev

snap info shadowsocks-libev

Comme vous pouvez le voir, 5 commandes sont disponibles. Avant d'utiliser la commande pour démarrer le serveur Shadowsocks-libev, nous devons créer un fichier de configuration avec un éditeur de texte en ligne de commande tel que Nano. Installez Nano avec:

programme d'installation sudo dnf nano

Créez le fichier de configuration.

sudo nano /var/snap/shadowsocks-libev/common/server-config.json

Ajoutez les lignes suivantes à ce fichier.

    "serveur":["[::0]"," 0.0.0.0 "],
    "mode": "tcp_and_udp",
    "port_serveur": 8888,
    "local_port": 1080,
    "mot de passe":"o + 4LmywwopNXSUhA7Wf8wg ==",
    "timeout": 60,
    "nom_serveur": "8.8.8.8",
    "méthode": "chacha20-ietf-poly1305"

Où:

  • serveur: spécifiez l'adresse d'écoute. [::0] le fait écouter toutes les adresses IPv6 disponibles et 0.0.0.0 le fait écouter toutes les adresses IPv4 disponibles.
  • mode: Utilisez les modes TCP et UDP.
  • port de serveur: spécifie un port qui n'est pas utilisé par un autre processus sur le serveur, tel que 8888.
  • lokal_port: il est courant d'utiliser le port 1080 comme port local pour le proxy SOCKS.
  • mot de passe: Vous pouvez générer un mot de passe aléatoire sécurisé avec cette commande: openssl rand -base64 16.
  • Pause: 60 secondes.
  • nom du serveur: Shadowsocks peut amener les clients à utiliser le serveur DNS spécifié comme 8.8.8.8. Vous pouvez également le changer en 1.1.1.1, afin que les clients utilisent le serveur DNS Cloudflare.
  • méthode: séparez l'algorithme de cryptage. chacha20-ietf-poly1305 est un algorithme sécurisé très rapide.

Enregistrez et fermez le fichier. (Pour enregistrer un fichier dans Nano Text Editor, appuyez sur Ctrl + O, puis appuyez sur entrer confirmer. Appuyez pour quitter Ctrl + X.)

Étape 2: Exécutez Shadowsocks-libev Server en tant que service Systemd

Nous pouvons exécuter le serveur Shadowsocks-libev manuellement, mais il est plus pratique de créer une unité de service système pour lui, afin qu'il puisse être démarré automatiquement au démarrage. Utilisez l'éditeur de texte Nano pour créer un service systemd.

sudo nano /etc/systemd/system/shadowsocks-libev.service

Ajoutez les lignes suivantes à ce fichier.

[Unit]
  
  
  
  Description = Serveur Shadowsocks-Libev
  Après = network-online.target
    
[Service]
  Type = simple
  ExecStart = / usr / bin / snap exécutez shadowsocks-libev.ss-server -c /var/snap/shadowsocks-libev/common/server-config.json
  Redémarrer = toujours
  RestartSec = 2
    
[Install]
 WantedBy = multi-user.target

Enregistrez et fermez le fichier. Démarrez ensuite le service Shadowsocks-Libev.

sudo systemctl démarrer shadowsocks-libev.service

Activez le démarrage automatique au moment du démarrage.

sudo systemctl activer shadowsocks-libev.service

Vérifiez l'état. Assurez-vous qu'il fonctionne.

état systemctl shadowsocks-libev.service

systemctl status shadowsocks-libev centos

Si vous avez fait une erreur dans le fichier de service shadowsocks-libev systemd, vous devez corriger l'erreur et recharger systemd.

rechargement du démon sudo systemctl

Vous pouvez ensuite redémarrer le service Shadowsocks libev.

sudo systemctl redémarrer Shadowsocks-libev.service

Si vous voyez l'erreur suivante.

Ce système ne fournit pas suffisamment d'entropie pour générer rapidement des nombres aléatoires de haute qualité. Le service ne démarre pas tant que suffisamment d'entropie n'a pas été collectée.

Vous pouvez corriger ce bogue en installant outils rng.

outil sudo dnf install rng

Puis a couru

sudo rngd -r / dev / urandom

Vous pouvez maintenant démarrer le service Shadowsocks libev.

Étape 3: configurer le pare-feu

Vous devez autoriser le trafic vers le port TCP et UDP sur lequel Shadowsocks écoute. Par exemple, si le port 8888 est utilisé par Shadowsocks, exécutez la commande suivante:

sudo firewall-cmd --permanent --add-port = 8888 / tcp
sudo firewall-cmd --permanent --add-port = 8888 / udp

Rechargez ensuite le pare-feu pour que la modification prenne effet.

sudo systemctl charge le pare-feu

Étape 3: installer et configurer le client Shadowsocks-libev

Bureau CentOS

le shadowsocks-libev le package contient à la fois le logiciel serveur et le logiciel client. Le binaire du client Shadowsocks est nommé ss-lokal. Utilisez la même méthode pour l'installer sur le bureau CentOS.

Vous installez d'abord snapd démon.

sudo dnf installer -y epel-release
mise à jour sudo dnf -y
sudo dnf installer -y snapd

Démarrer et activer snapd service système:

sudo systemctl démarrer snapd.service
sudo systemctl activer snapd.service

Ensuite, installez Shadowsocks-libev à partir du Snap Store.

sudo snap installer shadowsocks-libev

Avant de démarrer le client, nous devons créer le fichier de configuration côté client avec un éditeur de ligne de commande tel que Nano. Installez Nano avec:

programme d'installation sudo dnf nano

Créez le fichier de configuration client.

sudo nano /var/snap/shadowsocks-libev/common/client-config.json

Ajoutez les lignes suivantes à ce fichier.

    "serveur": "votre-adresse-ip-serveur",
    "mode": "tcp_and_udp",
    "port_serveur": 8888,
    "local_address": "127.0.0.1",
    "local_port": 1080,
    "mot de passe":"o + 4LmywwopNXSUhA7Wf8wg ==",
    "timeout": 60,
    "nom_serveur": "8.8.8.8",
    "méthode": "chacha20-ietf-poly1305"

Où:

  • serveur: spécifiez l'adresse IP du serveur.
  • mode: Utilisez les modes TCP et UDP.
  • port de serveur: spécifiez le port sur lequel le serveur Shadowsocks-libev écoute.
  • adresse locale: Le client doit écouter l'hôte local.
  • lokal_port: il est courant d'utiliser le port 1080 comme port local pour le proxy SOCKS.
  • mot de passe: Utilisez le même mot de passe que dans le fichier de configuration du serveur.
  • Pause: 60 secondes.
  • nom du serveur: Le client n'est pas obligé de spécifier un serveur de noms, mais si vous utilisez nom du serveur paramètre, vous devez utiliser le même nom de serveur que dans le fichier de configuration du serveur.
  • méthode: séparez l'algorithme de cryptage. chacha20-ietf-poly1305 est un algorithme sécurisé très rapide.

Enregistrez et fermez le fichier. (Appuyez pour enregistrer un fichier dans l'éditeur de texte Nano Ctrl + O, puis appuyez sur entrer confirmer. Appuyez pour quitter Ctrl + X.)

Ensuite, nous devons créer une unité de service système pour le client afin qu'il puisse être démarré automatiquement au démarrage.

sudo nano /etc/systemd/system/shadowsocks-client.service

Ajoutez les lignes suivantes à ce fichier.

[Unit]
  
  
  
  Description = Client Shadowsocks-Libev
  Après = network-online.target
    
[Service]
  Type = simple
  ExecStart = / usr / bin / snap exécutez shadowsocks-libev.ss-local -c /var/snap/shadowsocks-libev/common/client-config.json
  Redémarrer = toujours
  RestartSec = 2
    
[Install]
 WantedBy = multi-user.target

Enregistrez et fermez le fichier. Démarrez ensuite shadowsocks-client.service.

sudo systemctl démarrer shadowsocks-client.service

Activez le démarrage automatique au moment du démarrage.

sudo systemctl activer shadowsocks-client.service

Vérifiez l'état. Assurez-vous qu'il fonctionne.

état systemctl shadowsocks-client.service

Maintenant, le processus client Shadowsocks continue d'écouter 127.0.0.1:1080 sur le bureau CentOS et connecté à votre serveur Shadowsocks.

Des conseils de dépannage

Si le processus client Shadowsocks ne démarre pas, vérifiez les journaux pour voir ce qui ne va pas.

sudo journalctl -eu shadowsocks-client

Par exemple, j'ai eu l'erreur suivante dans le journal.

ERREUR: 2: 0: `m` inattendu dans l'objet

Il s'est avéré que j'avais oublié de mettre l'adresse IP du serveur entre guillemets doubles dans le fichier de configuration du client.

Bureau Windows

Les utilisateurs Windows peuvent télécharger ce client Shadowsocks. Une fois installé, vous pouvez ajouter un nouveau serveur au logiciel client. Spécifiez l'adresse IP, le port et le mot de passe du serveur. Cliquez sur Appliquer bouton

client windows shadowsocks

Si vous avez plusieurs serveurs proxy, vous pouvez cliquer sur Ajouter bouton pour ajouter plus de serveurs proxy. Notez que vous n'utilisez qu'un seul serveur proxy à la fois.

Étape 4: Configurez le navigateur pour utiliser le proxy socks

Pour que le programme utilise un proxy sock, le programme doit prendre en charge le proxy sock. Des programmes comme Firefox, Google Chrome et Dropbox permettent aux utilisateurs d'utiliser des proxies. Je veux vous montrer comment configurer Firefox et Google Chrome.

Firefox

Accédez à Firefox dans Firefox Éditer > Préférences > Général (ou Outil -> Options -> Général). Puis faites défiler vers le bas et cliquez sur Réglages dans Proxy réseau. DANS Paramètres de connexion fenêtre, sélectionnez configuration manuelle du proxy. Puis sélectionnez CHAUSSETTES v5 car Shadowsocks est un proxy Socks5. entrer 127.0.0.1 dans le champ Hôte SOCKS et 1080 dans le domaine du port. Assurer DNS proxy lors de l'utilisation de SOCKS v5 Est sur. Cliquez sur D'accord pour appliquer ces modifications.

Paramètres réseau shadowsocks-libev-firefox

Firefox va maintenant se connecter au client Shadowsocks local qui écoute 127.0.0.1:1080, le trafic sera acheminé via le serveur Shadowsocks-libev.

Google Chrome

Bien que vous puissiez configurer le proxy pour Google Chrome et le navigateur Chromium à partir de la ligne de commande, je vous recommande d'installer l'extension Proxy SwitchyOmega pour gérer les autorisations.

google chrome Proxy SwitchyOmega

Une fois l'extension installée dans Google Chrome, configurez un serveur proxy comme suit:

  • Sélectionner Football5 protocole.
  • Ensemble 127.0.0.1 comme adresse de serveur.
  • Ensemble 1080 comme numéro de port.

ligne de commande proxy google chrome

Appliquez les modifications. Cliquez ensuite sur l'icône d'extension en haut à droite et cliquez sur Proxy SwithyOmega.

proxy swithy omega shadowsocks-libev

Par défaut, SwithyOmega utilise les paramètres proxy du système d'exploitation. Nous devons changer cela de proxy système à Procuration.

proxy standard switchyomega

Google Chrome va maintenant se connecter au client Shadowsocks local qui écoute 127.0.0.1:1080, le trafic sera acheminé via le serveur Shadowsocks-libev.

Étape 5: test de fuite DNS

Accédez à dnsleaktest.com. Vous verrez l'adresse IP du serveur Shadowsocks, indiquant que votre proxy fonctionne.

shadowsocks-libev-centos-install

Cliquez sur le test par défaut. Assurez-vous que votre FAI local ne figure pas dans les résultats du test.

test de fuite shadowsocks-libev-dns

Activer TCP Fast Open

Vous pouvez accélérer Shadowsocks en activant rapidement 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 une connexion à trois. En d'autres termes, les données ne peuvent traditionnellement être échangées qu'après la fin de la négociation à trois. TCP Fast Open (TFO) est un mécanisme qui permet d'échanger des données avant la fin de la négociation à trois, et économise jusqu'à 1 temps de retour (RTT).

La prise en charge de l'ouverture rapide de TCP a été fusionnée dans le noyau Linux depuis la version 3.7 et activée par défaut depuis la version 3.13. Vous pouvez vérifier votre version principale en exécutant:

uname -r

Pour vérifier la configuration rapide TCP sur le serveur CentOS, 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 la connexion entrante (en tant que serveur).
  • 3 signifie qu'il est activé pour les connexions sortantes et entrantes.

Tous les CentOS VPS (serveur privé virtuel) renvoyés 1 après avoir exécuté la commande ci-dessus. Nous allons tcp_fastopen mis à 3 sur notre serveur. Pour ce faire, nous pouvons éditer le fichier de configuration sysctl.

sudo nano /etc/sysctl.conf

Collez ensuite la ligne suivante à la fin du fichier.

net.ipv4.tcp_fastopen = 3

Chargez les paramètres sysctl pour que la modification prenne effet.

sudo sysctl -p

Ensuite, vous devez également activer TCP pour ouvrir rapidement dans le fichier de configuration du serveur de Shadowsock.

sudo nano /var/snap/shadowsocks-libev/common/server-config.json

Ajoutez la ligne suivante.

"fast_open": vrai

Ainsi, le fichier de configuration du serveur Shadowsocks ressemblera à ceci:

    "serveur":["[::0]"," 0.0.0.0 "],
    "mode": "tcp_and_udp",
    "port_serveur": 8888,
    "local_port": 1080,
    "mot de passe":"o + 4LmywwopNXSUhA7Wf8wg ==",
    "timeout": 60,
    "nom_serveur": "8.8.8.8",
    "méthode": "chacha20-ietf-poly1305",
    "fast_open": vrai

Notez que la dernière ligne de configuration ne se termine pas par une virgule. Toutes les autres lignes de ... le bloc doit se terminer par une virgule. Enregistrez et fermez le fichier. Redémarrez ensuite le serveur Shadowsocks.

sudo systemctl redémarrer Shadowsocks-libev.service

Vérifiez s'il fonctionne. (Une erreur dans le fichier de configuration peut l'empêcher de redémarrer.)

état systemctl shadowsocks-libev

Vous devez également modifier le fichier de configuration du client Shadowsocks et le redémarrer pour permettre l'ouverture rapide de TCP sur le bureau CentOS.

Activer TCP BBR

TCP BBR est un algorithme de contrôle de surcharge TCP qui peut améliorer la vitesse de connexion. Pour l'activer sur le serveur CentOS, éditez /etc/sysctl.conf fichier.

sudo nano /etc/sysctl.conf

Ajoutez les deux lignes suivantes à la fin du fichier.

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

Enregistrez et fermez le fichier. Rechargez ensuite les configurations sysctl.

sudo sysctl -p

Vérifiez maintenant l'algorithme de contrôle de surcharge utilisé.

sysctl net.ipv4.tcp_congestion_control

Production:

net.ipv4.tcp_congestion_control = bbr

Toutes nos félicitations! Vous avez activé TCP BBR sur le serveur CentOS.

Emballage

C'est ça! J'espère que ce tutoriel vous a aidé à installer le proxy Shadowsocks-libev sur CentOS. Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite pour plus de trucs et astuces 🙂

Considérez ce tutoriel

[Total:[Total:[Total:[Total:3 Moyenne: 4.7]

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.