Mokėjimo būdai Abuse

"3proxy" diegimas

05.06.2023, 23:17

"3proxy" yra nemokamas atvirojo kodo tarpinis serveris, naudojamas įvairiais tikslais, pavyzdžiui, srautui filtruoti, talpinti į spartinančiąją atmintį ir blokuoti tam tikras svetaines. Jis palaiko įvairius protokolus, pavyzdžiui, SOCKS v4/v4a/v5, HTTP, HTTPS, FTP, POP3, SMTP, ir autentifikavimo metodus, pavyzdžiui, SOCKS5 vartotojo vardą ir slaptažodį, NTLM, LDAP, Kerberos ir SSO.

Serveris yra labai pritaikomas, jame galima išsamiai valdyti duomenų srauto pralaidumo naudojimą ir ryšio parametrus. 3proxy galima įdiegti "Windows", "Linux" ir "MacOS" platformose. Tai lengvas ir paprastas naudoti proxy serveris, tinkamas mažiems ir vidutinio dydžio tinklams. Galima išsinuomoti vps proxy serverį.

Įdiekite "3proxy" su http(s) ir socks5-proxy palaikymu

Reikėtų būti atsargiems, nes nepageidautina įdiegti serverį be leidimo. Dėl to serverį gali neteisėtai naudoti įsilaužėliai, norėdami organizuoti nepageidaujamų laiškų siuntimą ir didelį duomenų srautą.

Pirmiausia reikia įdiegti keletą paketų ir priklausomybių.

AlmaLinux atveju naudojama komanda:

yum -y install gcc wget tar

Debianui: "AlLinLinux": pasirinkite šią komandą, o Debianui:

apt install -y build-essential wget tar

Tada atsisiųskite failus iš oficialios 3proxy projekto svetainės, išpakuokite archyvą ir susikompiliuokite atsisiųstus failus.

Tada sukurkite reikiamus katalogus konfigūracijos failams ir žurnalams, perkelkite 3proxy vykdomąją programą, sukurkite naują naudotoją"proxyuser" ir suteikite jam teises į katalogus. Norėdami sukurti naują konfigūracijos failą, paleiskite komandą:

touch /etc/3proxy/3proxy.cfg

Priskirkite teises tik "root" naudotojui naudodami chmod 600 /etc/3proxy/3proxy.cfg.

Sukūrus naują konfigūracijos failą būtina jį teisingai užpildyti. Tam užrašykite naudotojo"proxyuser" uid ir gid, tada teksto redaktoriumi nukopijuokite ir įklijuokite tekstą iš konfigūracijos failo pavyzdžio. Išsaugokite konfigūracijos failo pakeitimus ir turime įdiegtą 3proxy su http(s) ir socks5-proxy palaikymu.

Konfigūracijos failas

Toliau pateikiamas konfigūracijos failo pavyzdys:

Konfigūravimas, kad serveris veiktų kaip proxyuser

(įterpkite mūsų naudotojo uid ir gid, kuriuos sužinojome anksčiau).
setgid 991
setuid 991

Nurodykite tinkamus vardų serverius. Žr. /etc/resolv.conf:
nserver 8.8.8.8.8.8.8
nserver 8.8.8.4.4

DNS užklausoms naudoti numatytuosius laiko intervalus ir talpyklos dydį:
1 5 30 30 60 180 180 1800 1800 1800 15 60
nscache 65536

Nurodykite paleidimo režimą kaip demoną:
daemon

Nurodykite serverio išorinės sąsajos IP adresą:
111.111.111.111.111.111.111 (arba ignoruokite šią eilutę, jei IP yra toks pat).

Nurodykite serverio vidinės sąsajos IP adresą:
192.168.0.1 (arba ignoruokite šią eilutę, kad tarpinis serveris klausytųsi visų IP).

Sukonfigūruokite http proxy serverį standartiniame prievade 3128:
(nurodykite savo prievadą, prieš tai įsitikinę, kad jis veikia).

Sukonfigūruokite kojinių tarpinį serverį standartiniame 1080 prievade:
(nurodykite savo prievadą ir prieš tai patikrinkite, ar jis veikia).

Nurodykite žurnalų kelią, žurnalų formatą ir rotaciją:
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

Tada sukurkite systemd iniciacijos failą ir sukonfigūruokite tinkamas teises:

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

Į šį failą reikia įterpti tokį 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

Išsaugokite ir atnaujinkite systemd konfigūraciją:

# systemctl daemon-reload

Paleiskite 3proxy ir pridėkite jį prie autoloader:

# systemctl start 3proxy
# systemctl enable 3proxy
Nepamirškite atidaryti http proxy prievado firewalld arba iptables.

Konfigūracija baigta. Dabar turite http-proxy 3128 prievadą ir socks-proxy 1080 prievadą.

Kai kurių problemų sprendimas

Pirmoji problema - yra tikimybė, kad užregistravus naują domeną, jis nebus jums prieinamas dėl domeno vardo spartinimo. Norėdami išspręsti šią problemą, turėtumėte palaukti, kol bus atnaujinti DNS įrašai, arba į hosts failą įtraukti savo serverio IP adresą ir naująjį domeną. Taip galėsite pasiekti naująjį domeną, kol bus atnaujinti DNS įrašai.

Antroji problema - jei naudojate tarpinį serverį su numatytaisiais prievadais, anksčiau ar vėliau serveris gali būti aptiktas. Norint išspręsti šią problemą, rekomenduojama pakeisti prievadus.

Pavyzdžiui, galite nustatyti 7834 prievadą http proxy serveriui ir 7835 prievadą Socks. Tačiau tokie prievadai taip pat gali būti aptikti, todėl galite sukonfigūruoti ugniasienę taip, kad prie serverio būtų leidžiama prisijungti tik iš tam tikrų adresų, o kitiems prieiga būtų uždrausta. Šis sprendimas yra gana patikimas, nors ir nelabai lankstus, nes galite neturėti prieigos prie statinio IP adreso.

Trečioji problema yra ta, kad jei naudojate tarpinį serverį ir saugote visų prisijungimų žurnalus, laikui bėgant jie gali tapti gana dideli ir užimti didžiąją dalį laisvos vietos diske. Norėdami išvengti šios problemos, turėtumėte pasirūpinti žurnalų rotacija arba iš viso jų nevesti.

Yra įvairių žurnalų rotacijos metodų, leidžiančių išsaugoti tik kelis paskutinius žurnalų failus ir automatiškai ištrinti senesnius žurnalus. Todėl geriausia iš anksto nustatyti žurnalų rotacijos procesą, kad išvengtumėte disko perpildymo. Tai padės išsaugoti visus duomenis ir neprarasti informacijos naudojant tarpinį serverį.

Supaprastinta anoniminio http(s) tarpinio serverio konfigūracija 3128 prievadu

users proxyuser:CL:password

daemon

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

rotate 30

auth strong

proxy -n -a

setgid 65534

setuid 65534

Taip pat reikia sukurti žurnalams skirtą katalogą ir nustatyti teises (serverį paleidžiame su minimaliomis niekieno teisėmis sistemoje naudodami setgid / setud direktyvas):

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

3proxy diegimas "Docker" sistemoje

Panagrinėkime "3proxy" diegimą "Docker" sistemoje.

Pirmiausia reikia įdiegti kai kuriuos paketus (o neseniai įdiegtose Debian ir Ubuntu OS gali tekti atnaujinti apt paketų rodyklę naudojant # apt update).

AlmaLinux ir CentOS:

# yum install docker docker-compose

Ubuntu ir Debian:

# apt install docker docker.io docker-compose

Atsisiųskite vaizdą:

# docker pull 3proxy/3proxy

Pagal numatytuosius nustatymus 3proxy naudoja saugią chroot aplinką /usr/local/3proxy su uid 65535 ir gid 65535 ir tikisi, kad 3proxy konfigūracijos failas bus patalpintas /usr/local/etc/3proxy. Kelius konfigūracijos faile reikėtų nurodyti santykinius su /usr/local/3proxy, t. y. vietoj /usr/local/3proxy/logs turėtų būti /logs. Chroot sistemoje reikia leidimo nserveriui.

Norėdami tai padaryti, sukurkite katalogą ir 3proxy konfigūracijos failą:

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

Tada naudodami bet kurį jums patinkantį teksto redaktorių redaguokite sukurtą 3proxy .conf konfigūracijos failą. Norint paleisti 3proxy "Docker" sistemoje, pakanka minimalios konfigūracijos:

Nserver 8.8.8.8.8.8.8
socks -p3129

Norint pridėti registravimą ir naudotoją, reikia pridėti prie 3proxy konfigūracijos failo:

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

vietoj"87beeef3f4ee4661ac1897eca216fc26"reikia nurodyti proxyuser slaptažodžio MD5 hash. MD5 hash galite sužinoti naudodamiesi internetiniais generatoriais.

Paleiskime 3proxy naudodami docker-compose. Tam reikės sukurti .yml formato konfigūracijos failą :

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

Į jį naudodami teksto redaktorių įterpkite šį 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

Įrašykite. Šiame faile nurodėme išorinį prievadą 8080. Dabar galime jį paleisti:

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

Gausime tokį atsakymą:

Sukurti tinklą"3proxy_default" su numatytąja tvarkykle
Kuriamas 3proxy ... done

Testas:

# docker ps

Gauname atsakymą su konteinerio ID, atvaizdu, būkle, naudojamais prievadais ir pavadinimu:

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