In questu articulu mostreremu a cunfigurazione 3proxy in un servitore dedicatu alimentatu da u sistema operatore ArchLinux / CentOS. 3proxy hè unu di i strumenti più pertinenti è funziunali. Supporta diversi tipi di protokolli: HTTP, HTTPS, FTP, SOCKS, è altri. Vi aiuterà à stallà u vostru propiu servitore proxy in pochi minuti.
L'articulu cuntene una guida passo-passu nantu à a stallazione di l'utilità è a so cunfigurazione ulteriore. I prublemi cum'è a stallazione da una fonte ufficiale, a creazione di fugliali di cunfigurazione, l'apertura di porti non standard sò cunsiderate, è sò descritti errori cumuni è cunsiglii pratichi per risolve. Prima di lanciari, vi tocca à cumanda a VPS or server dedicatu alimentatu da u sistema operatore CentOS o ArchLinux. Tutte l'azzioni in l'esempiu seranu realizate nantu à un servitore dedicatu alimentatu da u sistema operatore CentOS7 cun un indirizzu IP publicu staticu dedicatu.
stallanu
Step 1
3proxy hè stallatu direttamente da e fonti. gcc serà usatu cum'è compilatore. Cunnettamu à u servitore cum'è root (superuser) è installate u compilatore.
yum install gcc
Step 2
Avà hè necessariu di scaricà i schedarii di fonte 3proxy. Pudete fà questu andendu à u situ ufficiali è cupiendu u ligame à a versione attuale:
Se hè necessariu una versione archiviata, pudete ancu scaricà u ligame direttamente da GitHub:
À u mumentu di a scrittura di stu articulu, a versione attuale hè 0.9.3. Scaricatelo è sbulicà immediatamente:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
Step 3
Andate à u cartulare cù u prughjettu unpacked è compilate:
cd 3proxy-0.9.3/
make -f Makefile.Linux
Step 4
Creemu cartulari è copiemu u schedariu 3proxy in /usr/bin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
Step 5
Creemu un utilizatore per travaglià cù u catalogu. In questu casu, u nome d'utilizatore hè 3proxyuser:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Concedemu i diritti di travaglià cù cartulari à l'utilizatore creatu:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Avà criemu un schedariu di cunfigurazione cù u cumandimu:
touch /etc/3proxy/3proxy.cfg
Se necessariu, pudete stabilisce permessi nantu à u schedariu di cunfigurazione per l'utilizatore root. Stu passu ùn hè micca ubligatoriu, ma aghjunghje a prutezzione:
chmod 600 /etc/3proxy/3proxy.cfg
3 cunfigurazione proxy
Step 6
Hè necessariu di cumplettà currettamente u schedariu di cunfigurazione chì hè statu creatu prima. Prima, scopre l'uid è gid di l'utilizatore cù u cumandimu:
id 3proxyuser
In u nostru casu, sò i seguenti valori:
Per riempie u schedariu di cunfigurazione, pudete piglià cunfigurazioni pronti o aduprà u ducumentazione in corsu nant'à u situ ufficiali. Ancu un schedariu cù un esempiu hè digià preinstallatu per difettu; pudete truvà nantu à a strada: /cfg/3proxy.cfg.sample
Per esempiu, cunsideremu 2 tipi di cunfigurazione: cù e senza logu. Ogni linea serà accumpagnata da cumenti (sò marcati cù u simbulu "#").
Questu hè un esempiu di una cunfigurazione pronta senza logging:
# 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
Avemu cunsideratu l'opzione di un schedariu di cunfigurazione senza logging. Avà avemu da creà un schedariu di cunfigurazione cù logging è l'autorizazione di l'utilizatori; serà utilizatu più tardi durante a stallazione di u servitore.
Assicuratevi di furnisce l'infurmazioni d'autorizazione, postu chì u servitore pò esse rilevatu ancu in porti 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
Questu compie a cunfigurazione di u schedariu di cunfigurazione principale. Passemu à a tappa finale è lanciamu.
Step 7
Crea un schedariu d'inizializazione per systemd:
touch /etc/systemd/system/3proxy.service
Emette i diritti necessarii:
chmod 664 /etc/systemd/system/3proxy.service
Copia è incollà i seguenti valori in u schedariu è salvà:
[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»
Da nutà: in u valore "ExecStop" deve specificà u nome d'utilizatore chì hè statu creatu in u passu N ° 5.
Dopu chì avete bisognu di aghjurnà a cunfigurazione Daemon cù u cumandimu:
systemctl daemon-reload
Step 8
L'unicu chì avemu bisognu hè di lancià u 3proxy cunfiguratu, aghjunghje à l'autostart, è ancu apertu porti in u firewall.
Aghjunghjite à l'autostart, lanciate è verificate u statutu:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Dopu avè verificatu u statutu, vedemu infurmazione chì 3proxy hè stata lanciata cun successu:
L'unica cosa chì resta hè di apre i porti:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Se necessariu, reboot u servitore. Hè pussibule di verificà se i porti sò aperti cù u cumandimu:
firewall-cmd --list-all
Cosa deve esse:
Comu pudemu vede, i dui porti sò stati aperti cù successu è sò stati à sente. A cunnessione http hè nantu à u primu portu, i calzini sò in u sicondu portu.
Verificate a cunnessione attraversu qualsiasi serviziu cunvene:
Tuttu hè operatu. Per parte nostra, ùn ricumandemu micca di utilizà una cunnessione micca sicura senza l'autorizazione di login / password, è ancu cù un settore standard di porti. Mentre cunfigurà u schedariu di cunfigurazione, assicuratevi di specificà un login è creà una password cumplessa, è ancu cambià i porti à quelli non standard.. In casi eccezziunali, hè pussibule aduprà l'autorizazione di l'indirizzu IP
Prublemi cumuni
Qualcosa hè andatu male è u proxy ùn funziona micca? Forse a cunfigurazione 3proxy hè stata fatta in modu incorrectu. Cunsideremu i prublemi più cumuni è e so suluzioni durante a stallazione è a cunfigurazione di l'utilità.
Nisuna cunnessione
U prublema più cumuni per parechji utilizatori hè una cunnessione inaccessibile quandu i schedarii di cunfigurazione parevanu cunfigurati currettamente. Sè sicuru chì tutti i paràmetri sò stati cunfigurati currettamente, l'ospiti ùn limitanu micca u portu sceltu è tutti i dati indicanu un serviziu di travagliu, u prublema pò esse in u Firewall, o, più precisamente, a so cunfigurazione incorrecta. Per esempiu, ci pò esse più di dui prugrammi stallati nant'à u sistema chì vi cunflittu cù l 'altri. Per risolve u prublema, hè abbastanza à utilizà un Firewall specificu. Avemu cunsigliatu per selezziunate solu iptables o firewall-cmd.
U serviziu ùn hè micca lanciatu
U serviziu ùn principia micca dopu avè stallatu tutti i schedarii di cunfigurazione necessarii. Questu succede quandu un passu di cunfigurazione hè mancatu, i diritti adattati ùn sò micca datu, o un errore minore hè fattu in i schedarii di cunfigurazione. Vi ricumandemu di studià currettamente l'istruzzioni passu à passu di novu, forsi avete mancatu unu di i passi. Se nunda ùn aiuta, saria una bona idea di reinstallà u SO è seguità tutti i passi da u principiu. Avemu cunsigliatu per aduprà campionu situatu in /cfg/3proxy.cfg.sample, cum'è una cunfigurazione di prova, è u pre-installatu firewall-cmd cum'è un firewall.
Logging
U prublema finali, ma micca menu impurtante, riguarda l'almacenamiento di schedari. 3proxy piglia parechji mb durante a stallazione, ma a dimensione pò esse aumentata significativamente solu per logu cù u passaghju di u tempu. U fattu hè chì parechji utilizatori permettenu a registrazione di log in un schedariu separatu, ma ùn stabiliscenu micca a rotazione è ùn sguassate micca logs irrilevanti. Trè opzioni ponu esse aduprate per a suluzione di stu prublema:
- Attivà u logu;
- Elimina periodicamente i logs irrilevanti;
- Abilita a rotazione, cum'è hè stata fatta in a cunfigurazione sopra. Per esempiu, "rotate 30" in u schedariu di cunfigurazione significa chì 3proxy guardà solu l'ultimi file 30.
cunchiusioni
Stallà è cunfigurà 3proxy nantu à i sistemi operativi CentOS è ArchLinux hè un compitu abbastanza simplice, ma à u stessu tempu efficace. L'articulu copre i passi per installà i pacchetti necessarii, cunfigurà i schedarii di cunfigurazione, è lancià u serviziu. A cunniscenza acquistata vi permetterà di stallà è cunfigurà u vostru servitore proxy stessu senza difficultà.