In questo articolo mostreremo la configurazione di 3proxy su un server dedicato basato sul sistema operativo ArchLinux/CentOS. 3proxy è uno degli strumenti più rilevanti e funzionali. Supporta vari tipi di protocolli: HTTP, HTTPS, FTP, SOCKS e altri. Ti aiuterà a configurare il tuo server proxy in pochi minuti.
L'articolo contiene una guida passo passo sull'installazione dell'utilità e sulla sua ulteriore configurazione. Vengono presi in considerazione problemi come l'installazione da una fonte ufficiale, l'impostazione dei file di configurazione, l'apertura di porte non standard, nonché la descrizione di errori comuni e vengono fornite raccomandazioni pratiche per risolverli. Prima del lancio, è necessario ordinare un VPS or server dedicato alimentato dal sistema operativo CentOS o ArchLinux. Tutte le azioni nell'esempio saranno eseguite su un server dedicato alimentato dal sistema operativo CentOS7 con un indirizzo IP pubblico statico dedicato.
SERVIZIO DI
Fase 1
3proxy viene installato direttamente dalle fonti. gcc verrà utilizzato come compilatore. Ci colleghiamo al server come root (superutente) e installiamo il compilatore.
yum install gcc
Fase 2
Ora è necessario scaricare i file sorgente 3proxy. Puoi farlo andando su www.filmingitalylosangeles.it/en e copiando il link alla versione corrente:
Se è necessaria una versione archiviata, è anche possibile scaricare il collegamento direttamente da GitHub:
Al momento in cui scrivo questo articolo, la versione corrente è 0.9.3. Scaricatela e decomprimetela immediatamente:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
Fase 3
Vai alla directory con il progetto decompresso e compila:
cd 3proxy-0.9.3/
make -f Makefile.Linux
Fase 4
Creiamo le directory e copiamo il file 3proxy in /usr/bin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
Fase 5
Creiamo un utente per lavorare con il catalogo. In questo caso il nome utente è 3utenteproxy:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Concediamo i diritti di lavorare con le directory all'utente creato:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Ora creiamo un file di configurazione utilizzando il comando:
touch /etc/3proxy/3proxy.cfg
Se necessario, puoi impostare i permessi sul file di configurazione per l'utente root. Questo passaggio non è obbligatorio, ma aggiungerà protezione:
chmod 600 /etc/3proxy/3proxy.cfg
Configurazione 3proxy
Fase 6
È necessario compilare correttamente il file di configurazione creato in precedenza. Per prima cosa, scopri l'uid e il gid dell'utente tramite il comando:
id 3proxyuser
Nel nostro caso si tratta dei seguenti valori:
Per compilare il file di configurazione, è possibile utilizzare configurazioni già pronte oppure utilizzare documentazione sul sito ufficiale. Inoltre, un file con un esempio è già preinstallato di default; lo puoi trovare lungo il percorso: /cfg/3proxy.cfg.esempio
A titolo di esempio, prenderemo in considerazione 2 tipi di configurazione: con e senza registrazioneOgni riga sarà accompagnata da commenti (sono contrassegnati con il simbolo “#”).
Questo è un esempio di una configurazione pronta all'uso senza registrazione:
# We specify the user's data that we found out in the previous command
setgid 995
setuid 997
# Type the NS-servers. It is possible to clarify your own servers at /etc/resolv.conf
nserver 1.1.1.1
nserver 8.8.8.8
# Cache size
nscache 65536
# Timeouts
timeouts 1 5 30 60 180 1800 15 60
# Authorization of users by login/password (if required). You may not to use it or specify the path to the file in which authorization data is stored, for example, users $/etc/3proxy/.authfile
# If you insert a password in md5 format, replace “CL” with “CR”, as indicated in the example. You can use 2 methods at the same time.
auth cache strong
users "userproxy:CL:passwordproxy"
users "userproxy2:CR:b89097a7ad0b94f13b3c313ae76699d4 "
# Launch mode. Daemon only.
Daemon
# We write the port through which the http connection will take place. The example shows the standard one. To establish a socks connection, use the command specified in the second line, the port is also standard.
proxy -p3128
socks -p1080
Abbiamo preso in considerazione l'opzione di un file di configurazione senza registrazione. Ora creeremo un file di configurazione con registrazione e autorizzazione utente; verrà utilizzato in seguito durante la configurazione del server.
Assicurati di fornire le informazioni di autorizzazione, poiché il server può essere rilevato anche su porte non standard.
# Configuring the server to launch from the userproxy user and the passwordproxy password.
users userproxy:CL:passwordproxy
# Specify the user's uid and gid
setgid 995
setuid 997
# Nameservers (NS-servers)
nserver 1.1.1.1
nserver 8.8.8.8
# Timeouts
timeouts 1 5 30 60 180 1800 15 60
# Cache size (standard)
nscache 65536
# Indicate the launch mode
daemon
# We install http proxy on a non-standard 50001 port. If there are several IP addresses on the server, be sure to specify a specific address for connecting the network. For example, "-e91.150.32.146". The argument "i" is a local address.
proxy –p50001
# In a same way as socks proxy, we conduct the installation on a 50002 port.
socks –p50002
# Path to the directory with logs, logs format and proxy rotation
Log /var/log/3proxy/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 30
Questo completa l'impostazione del file di configurazione principale. Passiamo alla fase finale e al lancio.
Fase 7
Crea un file di inizializzazione per systemd:
touch /etc/systemd/system/3proxy.service
Rilasciare i diritti necessari:
chmod 664 /etc/systemd/system/3proxy.service
Copia e incolla i seguenti valori nel file e salva:
[Unit]
Description=3proxy Proxy Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg
ExecStop=/bin/kill `/usr/bin/pgrep 3proxyuser`
RemainAfterExit=yes
Restart=on-failure
[Install]
WantedBy=multi-user.target»
Nota bene: nel valore “ExecStop” è necessario specificare il nome utente creato nel passaggio n. 5.
Dopodiché è necessario aggiornare la configurazione del Daemon con il comando:
systemctl daemon-reload
Fase 8
Tutto ciò di cui abbiamo bisogno è avviare il 3proxy configurato, aggiungerlo all'avvio automatico e aprire le porte nel firewall.
Aggiungilo all'avvio automatico, al lancio e al controllo dello stato:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Dopo aver verificato lo stato, vediamo l'informazione che 3proxy è stato avviato correttamente:
Non resta che aprire le porte:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Se necessario, riavviare il server. È possibile verificare se le porte sono aperte con il comando:
firewall-cmd --list-all
Cosa dovrebbe essere:
Come possiamo vedere, entrambe le porte sono state aperte con successo e sono in ascolto. La connessione http è sulla prima porta, quella SOCKS è sulla seconda.
Controlla la connessione tramite qualsiasi servizio conveniente:
Tutto funziona. Da parte nostra, non consigliamo di utilizzare una connessione non protetta senza autorizzazione di login/password, così come con un set di porte standardDurante l'impostazione del file di configurazione, assicurati di specificare un login e di creare una password complessa, e cambia anche le porte con quelle non standardIn casi eccezionali è possibile utilizzare l'autorizzazione tramite indirizzo IP
Problemi comuni
Qualcosa è andato storto e il proxy non funziona? Forse la configurazione di 3proxy è stata eseguita in modo errato. Consideriamo i problemi più comuni e le relative soluzioni durante l'installazione e la configurazione dell'utilità.
Nessuna connessione
Il problema più comune per molti utenti è una connessione inaccessibile quando i file di configurazione sembrano essere configurati correttamente. Se sei sicuro che tutte le impostazioni sono state configurate correttamente, il provider di hosting non limita la porta selezionata e tutti i dati indicano un servizio funzionante, il problema potrebbe essere nel Firewall o, più precisamente, nella sua configurazione non corretta. Ad esempio, potrebbero esserci più di due programmi installati sul sistema che entreranno in conflitto tra loro. Per risolvere il problema, è sufficiente utilizzare un Firewall specifico. Ti consigliamo di selezionare solo iptables o firewall-cmd.
Il servizio non si avvia
Il servizio non si avvia dopo aver impostato tutti i file di configurazione necessari. Ciò si verifica quando si salta un passaggio di configurazione, non vengono assegnati i diritti appropriati o si commette un piccolo errore nei file di configurazione. Ti consigliamo di studiare attentamente le istruzioni passo dopo passo, forse hai saltato uno dei passaggi. Se nulla ti aiuta, sarebbe una buona idea reinstallare il sistema operativo e seguire tutti i passaggi dall'inizio. Ti consigliamo di usare campione situato in /cfg/3proxy.cfg.sample, come configurazione di prova, e preinstallato firewall-cmd come un firewall.
Registrazione
L'ultimo, ma non meno importante problema riguarda l'archiviazione dei file. 3proxy occupa diversi MB durante l'installazione, ma la dimensione può essere aumentata in modo significativo solo tramite la registrazione con il passare del tempo. Il fatto è che molti utenti abilitano la registrazione dei log in un file separato, ma non impostano la rotazione e non eliminano i log irrilevanti. Per risolvere questo problema si possono usare tre opzioni:
- Abilita la registrazione;
- Eliminare periodicamente i registri irrilevanti;
- Abilita la rotazione, come è stato fatto nella configurazione sopra. Ad esempio, "rotate 30" nel file di configurazione significa che 3proxy memorizzerà solo gli ultimi 30 file.
Conclusione
L'installazione e la configurazione di 3proxy sui sistemi operativi CentOS e ArchLinux è un compito abbastanza semplice, ma allo stesso tempo efficace. L'articolo ha trattato i passaggi per installare i pacchetti necessari, configurare i file di configurazione e avviare il servizio. Le conoscenze acquisite ti consentiranno di installare e configurare il tuo server proxy da solo senza alcuna difficoltà.