GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar el servidor proxy Shadowsocks-Libev en Debian 9 Stretch VPS

Este tutorial le mostrará cómo instalar el servidor proxy Shadowsocks en un VPS Debian 9 (servidor privado virtual) . Shadowsocks es un proxy Socks5 liviano, súper rápido y seguro que se puede usar para eludir la censura de Internet. También aprenderá cómo configurar el cliente Shadosocks-libev en el escritorio Debian 9 .

Hay muchas implementaciones de Shadowsocks, este tutorial le muestra cómo usar Shadowsocks-libev, porque

  • Está escrito en C, muy rápido incluso en máquinas de gama baja.
  • Está bien mantenido.
  • Es la implementación con más funciones. Se admiten TCP de apertura rápida, multiusuario, API de administración, modo de redirección, modo de túnel, retransmisión UDP, cifrados AEAD y complementos.

Requisitos

Para completar este tutorial, necesitará:

  • Un VPS (servidor privado virtual). Recomiendo Vultr. Ofrecen VPS KVM de alto rendimiento con 512 millones de memoria por solo $ 2.5 por mes, lo cual es perfecto para su servidor proxy privado.
  • Luego instale Debian 9 en su VPS.

Cómo instalar el servidor Shadowsocks-libev en Debian 9 VPS

Una vez que haya instalado Debian 9 en su VPS. Inicie sesión en su servidor a través de SSH. Shadowsocks-libev está incluido en el repositorio predeterminado de Debian 9, pero está desactualizado. De hecho, la versión obsoleta ya no funciona en mi servidor. Recomendé instalarlo desde el repositorio de Debian 9 stretch-backports, que contiene la última versión de Shadowsocks-libev, para que obtenga actualizaciones de seguridad y correcciones de errores.

Para habilitar el repositorio de versiones anteriores, debe editar sources.list archivo.

sudo nano /etc/apt/sources.list

Agregue la siguiente línea al final de este archivo.

deb http://ftp.debian.org/debian stretch-backports main

Guarde y cierre el archivo. Luego actualice el índice de paquetes local.

sudo apt update

Después de eso, instale Shadowsocks-libev desde el repositorio de stretch-backports.

sudo apt -t stretch-backports install shadowsocks-libev

Para comprobar el número de versión, ejecute

ss-server -v

Salida de muestra:

shadowsocks-libev 3.1.3

La biblioteca criptográfica de sodio (libsodium) se instalará junto con shadowsocks-libev. Es un requisito si desea utilizar el método de encriptación ChaCha20-Poly1305 seguro y rápido. Una vez instalado, Shadowsocks-libev se iniciará automáticamente con el archivo de configuración predeterminado. Puede comprobar su estado con:

systemctl status shadowsocks-libev

Salida:

● 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

Como puede ver, se está ejecutando y el inicio automático en el momento del arranque está habilitado. Si no se está ejecutando, puede iniciarlo con:

sudo systemctl start shadowsocks-libev

Para habilitar el inicio automático en el momento del arranque, ejecute:

sudo systemctl enable shadowsocks-libev

Ahora necesitamos editar el archivo de configuración predeterminado.

sudo nano /etc/shadowsocks-libev/config.json

El contenido predeterminado del archivo es el siguiente.

{
 "server":"127.0.0.1",
 "server_port":8388,
 "local_port":1080,
 "password":"focobguph",
 "timeout":60,
 "method":null
}

Reemplace 127.0.0.1 con la dirección IP pública de su servidor Debian. Puede cambiar server_port a otro número de puerto, pero no use el puerto 8388. Luego configure su contraseña preferida, que se usa para encriptar el tráfico. Se recomienda que reemplace null con chacha20-ietf-poly1305 como método de encriptación. Aquí hay un ejemplo de mi configuración.

Guarde y cierre el archivo. Luego reinicie Shadowsocks-libev para que los cambios surtan efecto.

sudo systemctl restart shadowsocks-libev

Instalar y configurar el cliente Shadowsocks-libev en el escritorio Debian 9

El paquete shadowsocks-libev contiene tanto el software del servidor como el software del cliente. Así que simplemente use el método mencionado anteriormente para instalar Shadowsocks-libev en el escritorio Debian 9.

Nota:en Debian 9, Shadowsocks-libev (el servidor) se iniciará automáticamente después de la instalación. Debe detener el servidor Shadowsocks en el escritorio Debian 9.

sudo systemctl stop shadowsocks-libev

También deshabilite el inicio automático en el momento del arranque.

sudo systemctl disable shadowsocks-libev

El binario del cliente de Shadowsocks se llama ss-local . Hay una unidad de servicio systemd de plantilla para ello: /lib/systemd/system/[email protected] . Antes de iniciar el cliente, debemos crear el archivo de configuración del lado del cliente.

sudo nano /etc/shadowsocks-libev/location-of-your-server.json

Puede reemplazar location-of-your-server con algo como SFO, LAX. Copie la configuración del servidor Shadowsocks-libev en el archivo de configuración del cliente, luego agregue la siguiente línea para decirle al cliente que escuche en 127.0.0.1.

"local_address":"127.0.0.1",

Así que el archivo de configuración del cliente se verá así:

{
 "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"
}

Guarde y cierre el archivo. Entonces podemos iniciar el cliente con:

sudo systemctl start [email protected]location-of-your-server.service

Y habilite el inicio automático en el momento del arranque.

sudo systemctl enable shadowsocks-libe[email protected]location-of-your-server.service

Compruebe su estado. Asegúrate de que se esté ejecutando.

systemctl status [email protected]location-of-your-server.service

Ahora el ss-local el proceso escucha en 127.0.0.1:1080 en su escritorio Ubuntu y está conectado a su servidor Shadowsocks.

Configurar el navegador web para usar el proxy de calcetines

Para permitir que su programa use un proxy de calcetines, el programa debe ser compatible con el proxy de calcetines. Programas como Firefox quantum, Google Chrome y Dropbox permiten a los usuarios usar proxy. Te mostraré cómo configurar Firefox y Google Chrome.

Firefox

En Firefox, ve a Editar> Preferencias> Generales . A continuación, desplácese hasta la parte inferior y haga clic en Configuración en proxy de red . En la Configuración de conexión ventana, seleccione configuración de proxy manual . Luego seleccione SOCKS v5 porque Shadowsocks es un proxy de Socks5. Introduzca 127.0.0.1 en el campo SOCKS Host y 1080 en el campo de puerto. Asegúrese de Proxy DNS cuando use SOCKS v5 está habilitado. Haga clic en Aceptar para aplicar estas modificaciones.

Google Chrome

Las versiones de Google Chrome y Chromium Linux no tienen una GUI para configurar el proxy, pero puede usar las opciones de la línea de comandos como se muestra a continuación.

google-chrome --proxy-server="socks5://127.0.0.1:1080"

o

chromium-browser --proxy-server="socks5://127.0.0.1:1080"

También puede instalar y usar el proxy de configuración de la extensión SwitchOmega para no tener que escribir un comando en la ventana del terminal.

Prueba de fugas de DNS

Vaya a dnsleaktest.com. Verá la dirección IP de su servidor Shadowsocks, lo que indica que su proxy está funcionando.

Haga clic en Prueba estándar. Asegúrese de que su ISP local no esté en los resultados de la prueba.

Habilitar TCP BBR

TCP BBR es un algoritmo de control de congestión de TCP que puede mejorar drásticamente la velocidad de conexión. Siga el tutorial a continuación para habilitar TCP BBR en el servidor Debian 9. No tiene que habilitarlo en el escritorio de Debian 9. El tutorial vinculado a continuación es para Ubuntu, pero también se aplica a Debian.

  • Cómo aumentar fácilmente el rendimiento de la red de Ubuntu habilitando TCP BBR

Habilitar apertura rápida de TCP

Puede acelerar Shadowsocks un poco más habilitando la apertura rápida de TCP. TCP es un protocolo orientado a la conexión, lo que significa que los datos solo se pueden intercambiar después de que se establezca una conexión, lo que se realiza a través del protocolo de enlace de tres vías. En otras palabras, tradicionalmente, los datos solo se pueden intercambiar después de que se completa el protocolo de enlace de tres vías. La apertura rápida de TCP (TFO) es un mecanismo que permite el intercambio de datos antes de que se complete el protocolo de enlace de tres vías, ahorrando hasta 1 tiempo de ida y vuelta (RTT).

El soporte de apertura rápida de TCP se fusiona con el kernel de Linux desde la versión 3.7 y está habilitado de forma predeterminada desde la versión 3.13. Puede comprobar la versión de su kernel ejecutando:

uname -r

Para verificar la configuración de apertura rápida de TCP en su servidor Debian, ejecute

cat /proc/sys/net/ipv4/tcp_fastopen

Puede devolver 4 valores.

  • 0 significa deshabilitado.
  • 1 significa que está habilitado para la conexión saliente (como cliente).
  • 2 significa que está habilitado para la conexión entrante (como servidor).
  • 3 significa que está habilitado tanto para conexiones salientes como entrantes.

Todos mis servidores Debian devolvieron 1 después de ejecutar el comando anterior. Queremos que tcp_fastopen se establezca en 3 en nuestro servidor. Para lograr eso, podemos editar el archivo de configuración sysctl.

sudo nano /etc/sysctl.conf

Luego pegue la siguiente línea al final del archivo.

net.ipv4.tcp_fastopen=3

Vuelva a cargar la configuración de sysctl para que el cambio surta efecto.

sudo sysctl -p

Luego, también deberá habilitar la apertura rápida de TCP en el archivo de configuración de Shadowsocks.

sudo nano /etc/shadowsocks-libev/config.json

Agregue la siguiente línea.

"fast_open": true

Entonces, el archivo de configuración de su servidor Shadowsocks se verá así:

{
 "server":"your-server-ip-address",
 "server_port":8388,
 "local_port":1080,
 "password":"focobguph",
 "timeout":60,
 "method":"chacha20-ietf-poly1305",
 "fast_open": true
}

Tenga en cuenta que la última línea de configuración no tiene coma. Guarde y cierre el archivo. Luego reinicie el servidor Shadowsocks.

sudo systemctl restart shadowsocks-libev

Compruebe si se está ejecutando. (Un error en el archivo de configuración puede evitar que se reinicie).

systemctl status shadowsocks-libev

También debe editar el archivo de configuración del cliente de Shadowsocks y reiniciarlo para habilitar la apertura rápida de TCP en el escritorio de Debian 9.

Para obtener más información sobre Shadowsocks, consulta el manual.

man shadowsocks-libev

¡Eso es todo! Espero que este tutorial le haya ayudado a instalar el proxy Shadowsocks-libev en el servidor y escritorio Debian 9. Como siempre, si esta publicación le resultó útil, suscríbase a nuestro boletín informativo gratuito para obtener más consejos y trucos. Cuídate.


Debian
  1. Cómo instalar un servidor LAMP en Debian 9 Stretch Linux

  2. Cómo instalar el servidor de la comunidad MySQL en Debian 9 Stretch Linux

  3. Cómo instalar el servidor Redis en Debian 11

  4. Cómo instalar MySQL 8.0/5.7 en Debian 11/Debian 10

  5. Cómo instalar y configurar Squid Proxy en Debian 11

Cómo instalar FastPanel en Debian 11

Cómo instalar VestaCP en Debian 9 Stretch

Cómo instalar el servidor de Minecraft en Debian 9 Stretch

Cómo instalar Plex Media Server en Debian 9 Stretch

Cómo instalar Go en Debian 9 Stretch

Cómo instalar Jetty en Debian 9 Stretch