3proxy on tasuta ja avatud lähtekoodiga proxy-server, mida kasutatakse erinevatel eesmärkidel, näiteks andmeliikluse filtreerimiseks, vahemälu salvestamiseks ja konkreetsete veebisaitide blokeerimiseks. See toetab erinevaid protokolle nagu SOCKS v4/v4a/v5, HTTP, HTTPS, FTP, POP3, SMTP ja toetab autentimismeetodeid nagu SOCKS5 kasutajanimi/salasõna, NTLM, LDAP, Kerberos ja SSO.
Server on väga hästi kohandatav, võimaldades üksikasjalikult hallata ribalaiuse kasutamist ja ühenduse parameetreid. 3proxy saab paigaldada Windows, Linux ja macOS platvormidele. Tegemist on kerge ja lihtsasti kasutatava proxy serveriga, mis sobib väikestele ja keskmise suurusega võrkudele. Võimalik on rentida vps proxy.
Tuleb olla ettevaatlik, sest serveri paigaldamine ilma volituseta ei ole soovitav. See võib põhjustada serveri volitamata kasutamist sissetungijate poolt spämmimise ja suure liikluse korraldamiseks.
Alustuseks tuleb paigaldada mitu paketti ja sõltuvust.
AlmaLinuxi puhul käsk:
yum -y install gcc wget tar
ja Debiani puhul:
apt install -y build-essential wget tar
Seejärel laadige failid alla 3proxy projekti ametlikult kodulehelt, pakkige arhiiv lahti ja kompileerige allalaetud failid.
Seejärel looge vajalikud kataloogid konfiguratsioonifailide ja logide jaoks, viige üle 3proxy
käivitatav fail ning looge uus kasutaja"proxyuser
" ja määrake talle õigused kataloogidele. Uue konfiguratsioonifaili loomiseks käivitage käsk:
touch /etc/3proxy/3proxy.cfg
Määrake õigused ainult root-kasutajale chmod 600 /etc/3proxy/3proxy.cfg
.
Pärast uue konfiguratsioonifaili loomist tuleb see korrektselt täita. Selleks kirjutage üles kasutaja"proxyuser
" uid
ja gid
, seejärel kopeerige ja kleepige tekstiredaktoriga tekst näidiskonfiguratsioonifailist. Salvestage muudatused konfiguratsioonifaili ja meil on paigaldatud 3proxy koos http(s) ja socks5-proxy toega.
Allpool on näidiskonfiguratsioonifail:
Serveri konfigureerimine proxyuserina töötamiseks
(sisestage meie kasutaja uid
ja gid
, mida me varem õppisime). setgid 991
setuid 991
Määrake õiged nimeserverid. Vt /etc/resolv.conf
: nserver 8.8.8.8.8.8.8
nserver 8.8.4.4.4
Kasutage DNS päringute puhul vaikimisi aeglustusi ja vahemälu suurust: 1 5 30 60 180 180 1800 1800 1800 15 60
nscache 65536
Määrake käivitamisrežiimiks daemon: daemon
Määrake serveri välise liidese IP-aadress: 111.111.111.111.111.111.111
(või ignoreerige rida, kui IP on sama).
Määrake serveri sisemise liidese IP-aadress: 192.168.0.1
(või ignoreerige seda, et proxy kuulaks kõiki IPsid).
Konfigureerige http-proxy standardport 3128: proxy -p3128 -n -a
(määrake oma port, veenduge eelnevalt, et see töötab).
Konfigureerige socks proxy standardportil 1080: socks -p1080
(määrake oma port, kontrollides eelnevalt, et see töötaks).
Määrake logide tee, logide formaat ja rotatsioon: 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
Seejärel looge systemd
jaoks initsialiseerimisfail ja konfigureerige õiged õigused:
# touch /etc/systemd/system/3proxy.service
# chmod 664 /etc/systemd/system/3proxy.service
Sellesse faili tuleb sisestada järgmine tekst:
[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
Salvesta ja uuenda systemd
konfiguratsiooni:
# systemctl daemon-reload
Käivitage 3proxy ja lisage see autoloaderisse:
# systemctl start 3proxy
# systemctl enable 3proxy
Konfigureerimine on lõpetatud. Nüüd on teil http-proxy port 3128 ja socks-proxy
port 1080.
Esimene probleem on see, et pärast uue domeeni registreerimist võib juhtuda, et see ei ole teile domeeninimede vahemälu tõttu kättesaadav. Selle probleemi lahendamiseks peaksite ootama DNS-kirjete uuendamist või lisama oma serveri IP-aadressi ja uue domeeni oma hosts-faili
. See võimaldab teile juurdepääsu uuele domeenile, kuni DNS-kirjed on uuendatud.
Teine probleem - kui kasutate vaikimisi portidega proxy-serverit, võidakse server varem või hiljem tuvastada. Selle probleemi lahendamiseks on soovitatav pordid muuta.
Näiteks võite http-proxyle määrata port 7834 ja Socks'ile 7835. Kuid ka sellised pordid võidakse tuvastada, seega võite konfigureerida tulemüüri nii, et see lubab juurdepääsu serverile ainult teatud aadressidelt, samas kui teistel keelatakse juurdepääs. See lahendus on üsna usaldusväärne, kuigi mitte liiga paindlik, sest teil ei pruugi olla juurdepääsu staatilisele IP-aadressile.
Kolmas probleem on see, et kui te kasutate proxy-serverit ja säilitate kõikide ühenduste logisid, võivad need aja jooksul muutuda üsna suureks ja võtta suurema osa teie plaadi vabast kohast. Selle probleemi vältimiseks peaksite hoolitsema logide rotatsiooni eest või üldse mitte pidama logisid.
Logide rotatsiooni jaoks on olemas erinevaid meetodeid, mis võimaldavad säilitada ainult viimaseid logifaile ja kustutada automaatselt vanemad logid. Seetõttu on kõige parem määrata logide rotatsiooniprotsessi eelnevalt, et vältida ketta ülevoolu. See aitab säilitada kõik andmed ja vältida teabe kaotamist, kui kasutate proxy-serverit.
users proxyuser:CL:password
daemon
log /var/log/3proxy/3proxy.log D
rotate 30
auth strong
proxy -n -a
setgid 65534
setuid 65534
Samuti on vaja luua kataloog logide jaoks ja määrata õigused (käivitame serveri minimaalsete õigustega (keegi süsteemis, kasutades setgid/setud
direktiive):
mkdir /var/log/3proxy ; chown nobody /var/log/3proxy
Vaatleme 3proxy paigaldamist Dockerisse.
Kõigepealt peame installima mõned paketid (ja hiljuti installeeritud Debian ja Ubuntu operatsioonisüsteemide puhul võib olla vaja uuendada ka apt
pakettide indeksit funktsiooniga # apt update
).
AlmaLinuxi ja CentOSi puhul:
# yum install docker docker-compose
Ubuntu ja Debiani puhul:
# apt install docker docker.io docker-compose
Laadige pilt alla:
# docker pull 3proxy/3proxy
Vaikimisi kasutab 3proxy turvalist chroot-keskkonda /usr/local/3proxy
, mille uid 65535
ja gid 65535
, ning eeldab, et 3proxy konfiguratsioonifail asub /usr/local/etc/3proxy
. Konfigureerimisfaili teekonnad tuleks määrata suhteliselt /usr/local/3proxy
suhtes, st /usr/local/3proxy/logs
asemel peaks olema /logs
. Chrootis on vaja luba nserverile
.
Selleks tuleb luua kataloog ja 3proxy
konfiguratsioonifail:
# mkdir -p /etc/dockerapp/3proxy
# touch /etc/dockerapp/3proxy/3poxy.conf
Seejärel redigeerige loodud 3proxy .conf
konfiguratsioonifaili suvalise tekstiredaktoriga. 3proxy käivitamiseks Dockeris piisab minimaalsest konfiguratsioonist:
nserver 8.8.8.8.8.8.8.
socks -p3129
Logimise ja kasutaja lisamiseks tuleb 3proxy
konfiguratsioonifaili lisada:
log /logs/3proxy.log
auth strong
users "proxyuser:CR:87beeef3f4ee4661ac1897eca216fc26"
"87beeef3f4ee4661ac1897eca216fc26
" asemel tuleb määrata proxyuser
'i salasõna MD5-hash. MD5-hashi saate välja selgitada veebigeneraatorite abil.
Käivitame 3proxy kasutades docker-compose
'i. Selleks tuleb luua .yml
formaadis konfiguratsioonifail:
# touch /etc/dockerapp/3proxy/docker-compose.yml
Sisestage sinna tekstiredaktoriga järgmine tekst:
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
Salvesta. Selles failis oleme määranud välise pordi 8080. Nüüd saame seda käivitada:
# docker-compose -f /etc/dockerapp/3proxy/docker-compose.yml up -d
Saame sellise vastuse:
Luuakse võrk"3proxy_default
" vaikimisi draiveriga.
Luuakse 3proxy ... done
Test:
# docker ps
Saame vastuse konteineri ID, kujutise, staatuse, kasutatud portide ja nimega:
48cc0cd140cd 3proxy/3proxy:latest "/bin/3proxy /etc/3p..." 5