Metode de plată Abuse

Instalarea 3proxy

05.06.2023, 23:17

3proxy este un server proxy gratuit și open source care este utilizat în diverse scopuri, cum ar fi filtrarea traficului, cache și blocarea anumitor site-uri web. Acesta acceptă diverse protocoale, cum ar fi SOCKS v4/v4a/v5, HTTP, HTTPS, FTP, POP3, SMTP și acceptă metode de autentificare, cum ar fi SOCKS5 nume de utilizator/parolă, NTLM, LDAP, Kerberos și SSO.

Serverul este foarte personalizabil, oferind o gestionare detaliată a utilizării lățimii de bandă și a parametrilor de conectare. 3proxy poate fi instalat pe platformele Windows, Linux și macOS. Este un server proxy ușor și ușor de utilizat, potrivit pentru rețele mici și mijlocii. Este posibil să închiriați un proxy vps.

Instalați 3proxy cu suport http(s) și socks5-proxy

Trebuie să aveți grijă, deoarece nu este de dorit să instalați serverul fără autorizație. Acest lucru poate duce la utilizarea neautorizată a serverului de către intruși pentru a organiza spam și trafic ridicat.

Pentru început, trebuie instalate mai multe pachete și dependențe.

Pentru AlmaLinux este necesară comanda:

yum -y install gcc wget tar

iar pentru Debian:

apt install -y build-essential wget tar

Apoi descărcați fișierele de pe site-ul oficial al proiectului 3proxy, despachetați arhiva și compilați fișierele descărcate.

Apoi, creați directoarele necesare pentru fișierele de configurare și jurnale, transferați executabilul 3proxy și creați un nou utilizator"proxyuser" și atribuiți-i drepturi asupra directoarelor. Pentru a crea un nou fișier de configurare, executați comanda:

touch /etc/3proxy/3proxy.cfg

Atribuiți permisiuni numai utilizatorului root cu chmod 600 /etc/3proxy/3proxy.cfg.

După crearea unui nou fișier de configurare, este necesar să îl completați corect. Pentru a face acest lucru, notați uid și gid ale utilizatorului"proxyuser", apoi utilizați un editor de text pentru a copia și lipi textul din fișierul de configurare de exemplu. Salvați modificările în fișierul de configurare și avem un 3proxy instalat cu suport http(s) și socks5-proxy.

Fișier de configurare

Mai jos este prezentat un exemplu de fișier de configurare:

Configurarea serverului pentru a rula ca proxyuser

(introduceți uid și gid ale utilizatorului nostru pe care l-am învățat mai devreme).
setgid 991
setuid 991

Specificați nameserverele corecte. Consultați /etc/resolv.conf:
nserver 8.8.8.8.8.8
nserver 8.8.4.4

Utilizați timeout-urile implicite și dimensiunea cache-ului pentru interogările DNS:
timeouts 1 5 30 60 180 180 1800 1800 1800 15 60
nscache 65536

Specificați modul de pornire ca fiind daemon:
daemon

Specificați adresa IP a interfeței externe a serverului:
external 111.111.111.111.111.111 (sau ignorați linia dacă IP-ul este același).

Specificați adresa IP a interfeței interne a serverului:
internal 192.168.0.1 (sau ignorați-l pentru ca proxy-ul să asculte toate IP-urile).

Configurați proxy-ul http pe portul standard 3128:
proxy -p3128 -n -a (specificați portul, asigurându-vă în prealabil că funcționează).

Configurați socks proxy pe portul standard 1080:
socks -p1080 (specificați portul dvs., verificând dacă funcționează în prealabil).

Specificați calea către jurnale, formatul și rotația jurnalelor:
log /var/log/3proxy/3proxy/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 30

În continuare, creați un fișier de inițializare pentru systemd și configurați permisiunile corecte:

# touch /etc/systemd/system/3proxy.service
# chmod 664 /etc/systemd/system/3proxy.service

Următorul text trebuie introdus în acest fișier:

[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 proxyuser` 
RemainAfterExit=yes 
Restart=on-failure 
[Install] 
WantedBy=multi-user.target

Salvați și actualizați configurația systemd:

# systemctl daemon-reload

Porniți 3proxy și adăugați-l la autoloader:

# systemctl start 3proxy
# systemctl enable 3proxy
Nu uitați să deschideți portul proxy http în firewalld sau iptables.

Configurația este completă. Acum aveți http-proxy pe portul 3128 și socks-proxy pe portul 1080.

Depanarea unor probleme

Prima problemă este că există o șansă ca, după ce înregistrați un domeniu nou, acesta să nu vă fie disponibil din cauza memorării în cache a numelui de domeniu. Pentru a rezolva această problemă, trebuie să așteptați actualizarea înregistrărilor DNS sau să adăugați adresa IP a serverului dvs. și noul domeniu la fișierul hosts. Acest lucru vă va permite să accesați noul domeniu până când înregistrările DNS sunt actualizate.

A doua problemă - dacă utilizați un server proxy cu porturi implicite, mai devreme sau mai târziu serverul poate fi detectat. Pentru a rezolva această problemă, este recomandat să modificați porturile.

De exemplu, puteți seta portul 7834 pe proxy http și 7835 pe Socks. Cu toate acestea, astfel de porturi pot fi, de asemenea, detectate, astfel încât puteți configura firewall-ul pentru a permite accesul la server numai de la anumite adrese, în timp ce altora le va fi refuzat accesul. Această soluție este destul de fiabilă, deși nu prea flexibilă, deoarece este posibil să nu aveți acces la o adresă IP statică.

A treia problemă este că, dacă utilizați un server proxy și păstrați jurnale ale tuturor conexiunilor, în timp acestea pot deveni destul de mari și pot ocupa cea mai mare parte a spațiului liber de pe disc. Pentru a evita această problemă, ar trebui să aveți grijă de rotația jurnalelor sau să nu păstrați deloc jurnalele.

Există diverse metode de rotație a jurnalelor care vă permit să păstrați doar ultimele câteva fișiere de jurnal și să ștergeți automat jurnalele mai vechi. Prin urmare, cel mai bine este să configurați procesul de rotație a jurnalelor în avans pentru a evita supraîncărcarea discului. Acest lucru vă va ajuta să salvați toate datele și să evitați pierderea informațiilor atunci când utilizați un server proxy.

Configurarea simplificată a unui server proxy anonim http(s) pe portul 3128

users proxyuser:CL:password

daemon

log /var/log/3proxy/3proxy.log D

rotate 30

auth strong

proxy -n -a

setgid 65534

setuid 65534

De asemenea, este necesar să creați un director pentru jurnale și să setați permisiunile (pornim serverul cu drepturi minime de nimeni în sistem utilizând directivele setgid/setud):

mkdir /var/log/3proxy ; chown nobody /var/log/3proxy

Instalarea 3proxy în Docker

Să luăm în considerare instalarea 3proxy în Docker.

Mai întâi de toate, trebuie să instalăm câteva pachete (iar pentru sistemele de operare Debian și Ubuntu recent instalate, este posibil să fie necesar să actualizăm și indexul pachetelor apt cu # apt update).

Pentru AlmaLinux și CentOS:

# yum install docker docker-compose

Pentru Ubuntu și Debian:

# apt install docker docker.io docker-compose

Descărcați imaginea:

# docker pull 3proxy/3proxy

În mod implicit, 3proxy utilizează un mediu chroot securizat în /usr/local/3proxy cu uid 65535 și gid 65535 și se așteaptă ca fișierul de configurare 3proxy să fie plasat în /usr/local/etc/3proxy. Căile din fișierul de configurare ar trebui să fie specificate relativ la /usr/local/3proxy, adică ar trebui să fie /logs în loc de /usr/local/3proxy/logs. În chroot, este necesară permisiunea pentru nserver.

Pentru a face acest lucru, creați un director și un fișier de configurare 3proxy:

# mkdir -p /etc/dockerapp/3proxy
# touch /etc/dockerapp/3proxy/3poxy.conf

Apoi, utilizați orice editor de text dorit pentru a edita fișierul de configurare 3proxy .conf creat. Pentru a rula 3proxy în Docker, configurația minimă este suficientă:

nserver 8.8.8.8.8.8
socks -p3129

Pentru a adăuga logging și user, trebuie să adăugați la fișierul de configurare 3proxy:

log /logs/3proxy.log 
auth strong 
users "proxyuser:CR:87beeef3f4ee4661ac1897eca216fc26"

În loc de"87beeef3f4ee4661ac1897eca216fc26" trebuie să specificați hash-ul MD5 al parolei pentru proxyuser. Puteți afla hash-ul MD5 utilizând generatoare online.

Să pornim 3proxy utilizând docker-compose. Acest lucru va necesita crearea unui fișier de configurare în format .yml:

# touch /etc/dockerapp/3proxy/docker-compose.yml

Introduceți acolo următorul text utilizând un editor de text:

version: "2.1" 
services: 
  3proxysvc: 
image: 3proxy/3proxy:latest 
container_name: 3proxy 
volumes: 
   - /etc/dockerapp/3proxy/conf:/usr/local/3proxy/conf 
ports: 
   - 8080:3129 
restart: unless-stopped

Salvați. În acest fișier am specificat portul extern 8080. Acum îl putem rula:

# docker-compose -f /etc/dockerapp/3proxy/docker-compose.yml up -d

Vom primi un răspuns ca acesta:

Crearea rețelei"3proxy_default" cu driverul implicit
Crearea rețelei 3proxy ... finalizat

Test:

# docker ps

Primim un răspuns cu ID-ul containerului, imaginea, starea, porturile utilizate și numele:

48cc0cd140cd 3proxy/3proxy:latest "/bin/3proxy /etc/3p..." 5