Questo tutorial ti mostrerà come installare il server proxy Shadowsocks su un Debian 9 VPS (Virtual Private Server) . Shadowsocks è un proxy Socks5 leggero, super veloce e sicuro che può essere utilizzato per aggirare la censura di Internet. Imparerai anche come configurare il client Shadosocks-libev su desktop Debian 9 .
Ci sono molte implementazioni di Shadowsocks, questo tutorial ti mostra come usare Shadowsocks-libev, perché
- È scritto in C, velocissimo anche su macchine di fascia bassa.
- È ben tenuto.
- È l'implementazione più ricca di funzionalità. Sono supportati TCP fast open, multiutente, API di gestione, modalità reindirizzamento, modalità tunnel, relè UDP, crittografie AEAD e plug-in.
Prerequisiti
Per completare questo tutorial, avrai bisogno di:
- Un VPS (server privato virtuale). Raccomando Vultr. Offrono 512 M di memoria VPS KVM ad alte prestazioni per soli $ 2,5 al mese, perfetto per il tuo server proxy privato.
- Quindi installa Debian 9 sul tuo VPS.
Come installare il server Shadowsocks-libev su Debian 9 VPS
Dopo aver installato Debian 9 sul tuo VPS. Accedi al tuo server tramite SSH. Shadowsocks-libev è incluso nel repository Debian 9 predefinito, ma è obsoleto. In effetti, la versione obsoleta non funziona più sul mio server. Ho consigliato di installarlo dal repository stretch-backports di Debian 9, che contiene l'ultima versione di Shadowsocks-libev, in modo da ottenere aggiornamenti di sicurezza e correzioni di bug.
Per abilitare il repository stretch-backport, devi modificare sources.list
file.
sudo nano /etc/apt/sources.list
Aggiungi la seguente riga in fondo a questo file.
deb http://ftp.debian.org/debian stretch-backports main
Salva e chiudi il file. Quindi aggiorna l'indice del pacchetto locale.
sudo apt update
Successivamente, installa Shadowsocks-libev dal repository stretch-backports.
sudo apt -t stretch-backports install shadowsocks-libev
Per controllare il numero di versione, esegui
ss-server -v
Esempio di output:
shadowsocks-libev 3.1.3
La libreria di criptovalute di sodio (libsodium) verrà installata insieme a shadowsocks-libev. È un requisito se si desidera utilizzare il metodo di crittografia ChaCha20-Poly1305 sicuro e veloce. Una volta installato, Shadowsocks-libev si avvierà automaticamente con il file di configurazione predefinito. Puoi verificarne lo stato con:
systemctl status shadowsocks-libev
Uscita:
● 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
Come puoi vedere, è in esecuzione e l'avvio automatico all'avvio è abilitato. Se non è in esecuzione, puoi avviarlo con:
sudo systemctl start shadowsocks-libev
Per abilitare l'avvio automatico all'avvio, esegui:
sudo systemctl enable shadowsocks-libev
Ora dobbiamo modificare il file di configurazione predefinito.
sudo nano /etc/shadowsocks-libev/config.json
I contenuti predefiniti del file sono i seguenti.
{ "server":"127.0.0.1", "server_port":8388, "local_port":1080, "password":"focobguph", "timeout":60, "method":null }
Sostituisci 127.0.0.1 con l'indirizzo IP pubblico del tuo server Debian. Puoi modificare server_port
su un altro numero di porta, ma non utilizzare la porta 8388. Quindi imposta la tua password preferita, che viene utilizzata per crittografare il traffico. Si consiglia di sostituire null
con chacha20-ietf-poly1305
come metodo di crittografia. Ecco un esempio della mia configurazione.
Salva e chiudi il file. Quindi riavvia Shadowsocks-libev per rendere effettive le modifiche.
sudo systemctl restart shadowsocks-libev
Installa e configura il client Shadowsocks-libev su Debian 9 Desktop
Il pacchetto shadowsocks-libev contiene sia il software del server che il software client. Quindi usa il metodo menzionato sopra per installare Shadowsocks-libev sul desktop Debian 9.
Nota:su Debian 9, Shadowsocks-libev (il server) si avvierà automaticamente dopo essere stato installato. Devi fermare il server Shadowsocks sul desktop Debian 9.
sudo systemctl stop shadowsocks-libev
Disabilita anche l'avvio automatico all'avvio.
sudo systemctl disable shadowsocks-libev
Il binario del client Shadowsocks è denominato ss-local
. C'è un modello di unità di servizio systemd per questo: /lib/systemd/system/[email protected]
. Prima di avviare il client, dobbiamo creare il file di configurazione lato client.
sudo nano /etc/shadowsocks-libev/location-of-your-server.json
Puoi sostituire location-of-your-server
con qualcosa come OFS, LAX. Copia la configurazione del server Shadowsocks-libev nel file di configurazione del client, quindi aggiungi la seguente riga per dire al client di rimanere in ascolto su 127.0.0.1.
"local_address":"127.0.0.1",
Quindi il file di configurazione del client sarà simile a questo:
{ "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" }
Salva e chiudi il file. Quindi possiamo avviare il client con:
sudo systemctl start [email protected]location-of-your-server.service
E abilita l'avvio automatico all'avvio.
sudo systemctl enable shadowsocks-libe[email protected]location-of-your-server.service
Controlla il suo stato. Assicurati che sia in esecuzione.
systemctl status [email protected]location-of-your-server.service
Ora il ss-local
process è in ascolto su 127.0.0.1:1080 sul tuo desktop Ubuntu ed è connesso al tuo server Shadowsocks.
Configura il browser Web per utilizzare il proxy Socks
Per consentire al tuo programma di utilizzare un proxy socks, il programma deve supportare il proxy socks. Programmi come Firefox quantum, Google Chrome e Dropbox consentono agli utenti di utilizzare il proxy. Ti mostrerò come configurare Firefox e Google Chrome.
Firefox
In Firefox, vai a Modifica> Preferenze> Generale . Quindi scorri verso il basso e fai clic su Impostazioni in Proxy di rete . Nelle Impostazioni di connessione finestra, seleziona configurazione proxy manuale . Quindi seleziona CALZINI v5 perché Shadowsocks è un proxy Socks5. Immettere 127.0.0.1 nel campo SOCKS Host e 1080 nel campo della porta. Assicurati di DNS proxy quando utilizzi SOCKS v5 è abilitato. Fare clic su OK per applicare queste modifiche.
Google Chrome
La versione di Google Chrome e Chromium Linux non ha una GUI per configurare il proxy, ma puoi utilizzare le opzioni della riga di comando come di seguito.
google-chrome --proxy-server="socks5://127.0.0.1:1080"
o
chromium-browser --proxy-server="socks5://127.0.0.1:1080"
Puoi anche installare e utilizzare l'estensione SwitchOmega configure proxy in modo da non dover digitare il comando nella finestra del terminale.
Test di tenuta DNS
Vai su dnsleaktest.com. Vedrai l'indirizzo IP del tuo server Shadowsocks, che indica che il tuo proxy funziona.
Fare clic su Test Standardard. Assicurati che il tuo ISP locale non sia nei risultati del test.
Abilita TCP BBR
TCP BBR è un algoritmo di controllo della congestione TCP che può migliorare drasticamente la velocità di connessione. Segui il tutorial qui sotto per abilitare TCP BBR sul server Debian 9. Non è necessario abilitarlo sul desktop Debian 9. Il tutorial collegato di seguito è per Ubuntu, ma si applica anche a Debian.
- Come aumentare facilmente le prestazioni della rete Ubuntu abilitando TCP BBR
Abilita apertura rapida TCP
Puoi accelerare un po' di più Shadowsocks abilitando l'apertura rapida del TCP. TCP è un protocollo orientato alla connessione, il che significa che i dati possono essere scambiati solo dopo che è stata stabilita una connessione, che avviene tramite l'handshake a tre vie. In altre parole, tradizionalmente, i dati possono essere scambiati solo dopo il completamento dell'handshake a tre vie. TCP fast open (TFO) è un meccanismo che consente lo scambio di dati prima del completamento dell'handshake a tre vie, risparmiando fino a 1 tempo di andata e ritorno (RTT).
Il supporto per l'apertura rapida TCP è unito al kernel Linux dalla versione 3.7 e abilitato per impostazione predefinita dalla versione 3.13. Puoi controllare la versione del tuo kernel eseguendo:
uname -r
Per controllare la configurazione di apertura rapida TCP sul tuo server Debian, esegui
cat /proc/sys/net/ipv4/tcp_fastopen
Può restituire 4 valori.
- 0 significa disabilitato.
- 1 significa che è abilitato per la connessione in uscita (come client).
- 2 significa che è abilitato per la connessione in entrata (come server).
- 3 significa che è abilitato sia per la connessione in uscita che per quella in entrata.
Tutti i miei server Debian hanno restituito 1
dopo aver eseguito il comando precedente. Vogliamo che tcp_fastopen sia impostato su 3 sul nostro server. Per ottenere ciò, possiamo modificare il file di configurazione sysctl.
sudo nano /etc/sysctl.conf
Quindi incolla la seguente riga alla fine del file.
net.ipv4.tcp_fastopen=3
Ricarica le impostazioni sysctl per rendere effettive le modifiche.
sudo sysctl -p
Quindi dovrai anche abilitare l'apertura rapida TCP nel file di configurazione di Shadowsocks.
sudo nano /etc/shadowsocks-libev/config.json
Aggiungi la riga seguente.
"fast_open": true
Quindi il tuo file di configurazione del server Shadowsocks sarà simile a questo:
{ "server":"your-server-ip-address", "server_port":8388, "local_port":1080, "password":"focobguph", "timeout":60, "method":"chacha20-ietf-poly1305", "fast_open": true }
Nota che l'ultima riga di configurazione non ha virgole. Salva e chiudi il file. Quindi riavvia il server Shadowsocks.
sudo systemctl restart shadowsocks-libev
Controlla se è in esecuzione. (Un errore nel file di configurazione può impedirne il riavvio.)
systemctl status shadowsocks-libev
Devi anche modificare il file di configurazione del client Shadowsocks e riavviarlo per abilitare l'apertura rapida TCP sul desktop Debian 9.
Per un maggiore utilizzo su Shadowsocks, controlla il manuale.
man shadowsocks-libev
Questo è tutto! Spero che questo tutorial ti abbia aiutato a installare il proxy Shadowsocks-libev su server e desktop Debian 9. Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita per ricevere altri suggerimenti e trucchi. Abbi cura di te.