GNU/Linux >> Tutoriales Linux >  >> Debian

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

Este tutorial le mostrará cómo instalar el servidor proxy Shadowsocks en un Debian 10 VPS (servidor privado virtual) . Shadowsocks es un proxy de 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 10 .

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 10 en su VPS.

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

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

Para habilitar el repositorio buster-backports, ejecute el siguiente comando.

echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee /etc/apt/sources.list.d/buster-backports.list

Luego actualice el índice de paquetes local.

sudo apt update

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

sudo apt -t buster-backports install shadowsocks-libev

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

ss-server -v

Salida de muestra:

shadowsocks-libev 3.3.4

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 Tue 2020-06-23 13:33:46 UTC; 14s ago
     Docs: man:shadowsocks-libev(8)
 Main PID: 20316 (ss-server)
    Tasks: 1 (limit: 558)
   Memory: 552.0K
   CGroup: /system.slice/shadowsocks-libev.service
           └─20316 /usr/bin/ss-server -c /etc/shadowsocks-libev/config.json

Sugerencia:si el comando anterior no se cierra de inmediato, presione Q para recuperar el control de la terminal.

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 10

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 10.

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

sudo systemctl stop shadowsocks-libev

Además, 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 [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 el 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 10. No tiene que habilitarlo en el escritorio Debian 10. 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 Shadowsocks y reiniciarlo para habilitar la apertura rápida de TCP en el escritorio Debian 10.

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

man shadowsocks-libev

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

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

  3. Cómo instalar ProFTPD en Debian 8

  4. Cómo instalar el servidor MySQL en Debian 9

  5. Cómo instalar ClickHouse en Debian 9

Cómo instalar Todoman en el servidor Debian 11

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

Cómo instalar FastPanel en Debian 11

Cómo instalar I2P en el servidor Debian:

Cómo instalar VNC en Debian 10

Cómo instalar el servidor VNC en Debian 11