Kunnskapsbase Enkle instruksjoner for å jobbe med Profitserver-tjenesten
Hoved Kunnskapsbase 3proxy-konfigurasjon på CentOS/ArchLinux

3proxy-konfigurasjon på CentOS/ArchLinux


I denne artikkelen vil vi vise 3proxy-konfigurasjon på en dedikert server drevet av ArchLinux/CentOS-operativsystemet. 3proxy er et av de mest relevante og funksjonelle verktøyene. Den støtter ulike typer protokoller: HTTP, HTTPS, FTP, SOCKS og andre. Det vil hjelpe deg å sette opp din egen proxy-server i løpet av få minutter.

Artikkelen inneholder trinn-for-trinn-veiledning om verktøyinstallasjonen og dens videre konfigurasjon. Problemer som installasjon fra en offisiell kilde, oppsett av konfigurasjonsfiler, åpning av ikke-standardporter vurderes, samt vanlige feil beskrives og praktiske anbefalinger for å løse dem er gitt. Før lansering må du bestille en VPS or dedikert server drevet av operativsystemet CentOS eller ArchLinux. Alle handlinger i eksemplet vil bli utført på en dedikert server drevet av CentOS7-operativsystemet med én dedikert statisk offentlig IP-adresse.

Installasjon

Trinn 1

3proxy installeres direkte fra kildene. gcc vil bli brukt som kompilator. Vi kobler til serveren som root (superbruker) og installerer kompilatoren.

yum install gcc

Trinn 2

Nå er det nødvendig å laste ned 3proxy-kildefilene. Du kan gjøre dette ved å gå til offesiell nettside og kopiere lenken til gjeldende versjon:

Installerer utilite

Hvis en arkivert versjon er nødvendig, kan du også laste ned lenken direkte fra GitHub:

Installerer 3proxy fra Github

På tidspunktet for skriving av denne artikkelen er gjeldende versjon 0.9.3. Last den ned og pakk den ut umiddelbart:

wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz

Trinn 3

Gå til katalogen med det utpakkede prosjektet og kompiler:

cd 3proxy-0.9.3/
make -f Makefile.Linux

Trinn 4

Vi lager kataloger og kopierer 3proxy-filen til /usr/bin:

mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/

Trinn 5

Vi oppretter en bruker for å jobbe med katalogen. I dette tilfellet er brukernavnet 3 proxy-bruker:

useradd -s /usr/sbin/nologin -U -M -r 3proxyuser

Vi gir rettighetene til å arbeide med kataloger til den opprettede brukeren:

chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy

La oss nå lage en konfigurasjonsfil ved å bruke kommandoen:

touch /etc/3proxy/3proxy.cfg

Om nødvendig kan du angi tillatelser på konfigurasjonsfilen for rotbrukeren. Dette trinnet er ikke obligatorisk, men vil legge til beskyttelse:

chmod 600 /etc/3proxy/3proxy.cfg

3 proxy-konfigurasjon

Trinn 6

Det er nødvendig å riktig fylle ut konfigurasjonsfilen som ble opprettet tidligere. Finn først ut uid og gid til brukeren ved hjelp av kommandoen:

id 3proxyuser

I vårt tilfelle er dette følgende verdier:

uid og gid

For å fylle ut konfigurasjonsfilen, kan du ta ferdige konfigurasjoner eller bruke dokumentasjon på den offisielle nettsiden. Også en fil med et eksempel er allerede forhåndsinstallert som standard; du finner den langs stien: /cfg/3proxy.cfg.sample

Som et eksempel vil vi vurdere 2 typer konfigurasjon: med og uten logging. Hver linje vil bli ledsaget av kommentarer (de er merket med "#"-symbolet).

Dette er et eksempel på en ferdig konfigurasjon uten 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

Vi vurderte muligheten for en konfigurasjonsfil uten logging. Nå skal vi lage en konfigurasjonsfil med logging og brukerautorisasjon; den vil bli brukt senere under serveroppsettet.

Sørg for at du oppgir autorisasjonsinformasjon, siden serveren kan oppdages selv på ikke-standardporter.

# 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

Dette fullfører oppsettet av hovedkonfigurasjonsfilen. Vi går videre til sluttfasen og lanseringen.

Trinn 7

Opprett en initialiseringsfil for systemd:

touch /etc/systemd/system/3proxy.service

Utsted de nødvendige rettighetene:

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

Kopier og lim inn følgende verdier i filen og lagre:

[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»

Vennligst merk i «ExecStop»-verdien må du spesifisere brukernavnet som ble opprettet i trinn nr. 5.

Deretter må du oppdatere Daemon-konfigurasjonen med kommandoen:

systemctl daemon-reload

Trinn 8

Det eneste vi trenger er å starte den konfigurerte 3proxyen, legge den til autostart, og også åpne porter i brannmuren.

Legg den til autostart, start og kontroller status:

systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy

Etter å ha sjekket statusen ser vi informasjon om at 3proxy har blitt lansert:

Proxy kjører

Det eneste som gjenstår er å åpne porter:

firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload

Om nødvendig, start serveren på nytt. Det er mulig å sjekke om portene er åpne med kommandoen:

firewall-cmd --list-all

Hva bør være:

Åpne brannmurporter

Som vi kan se, har begge portene blitt åpnet og blir lyttet. http-tilkoblingen er på den første porten, sokker er på den andre porten.

Sjekk tilkoblingen gjennom en hvilken som helst praktisk tjeneste:

Vellykket 3proxy-oppsett

Alt fungerer. For vår del, vi anbefaler ikke å bruke en usikret tilkobling uten påloggings-/passordautorisasjon, samt med et standard sett med porter. Mens du setter opp konfigurasjonsfilen, sørg for å spesifisere en pålogging og lage et komplekst passord, og også endre portene til ikke-standardiserte. I unntakstilfeller er det mulig å bruke IP-adresseautorisasjon

Vanlige problemer

Noe gikk galt og proxy-serveren fungerer ikke? Kanskje 3proxy-konfigurasjonen ble gjort feil. La oss vurdere de vanligste problemene og deres løsninger under installasjon og konfigurering av verktøyet.

Ingen forbindelse

Det vanligste problemet for mange brukere er en utilgjengelig tilkobling når konfigurasjonsfilene ser ut til å være riktig konfigurert. Hvis du er sikker på at alle innstillingene er riktig konfigurert, begrenser ikke vertsleverandøren den valgte porten og alle data indikerer en fungerende tjeneste, problemet kan være i brannmuren, eller, mer presist, feil konfigurasjon. For eksempel kan det være mer enn to programmer installert på systemet som vil komme i konflikt med hverandre. For å løse problemet er det nok å bruke en spesifikk brannmur. Vi anbefaler at du kun velger iptables eller brannmur-cmd.

Tjenesten starter ikke

Tjenesten starter ikke etter å ha satt opp alle nødvendige konfigurasjonsfiler. Dette skjer når et konfigurasjonstrinn savnes, de riktige rettighetene ikke er gitt, eller det er gjort en mindre feil i konfigurasjonsfilene. Vi anbefaler deg å studere instruksjonene nøye trinn for trinn igjen, kanskje du gikk glipp av ett av trinnene. Hvis ingenting hjelper, vil det være en god idé å installere operativsystemet på nytt og følge alle trinnene fra begynnelsen. Vi anbefaler å bruke sample plassert på /cfg/3proxy.cfg.sample, som en testkonfigurasjon, og den forhåndsinstallerte brannmur-cmd som en brannmur.

Logging

Det siste, men ikke mindre viktige problemet, er knyttet til fillagring. 3proxy tar flere mb under installasjonen, men størrelsen kan økes betydelig bare gjennom logging med tiden. Faktum er at mange brukere aktiverer loggopptak i en egen fil, men setter ikke opp rotasjon og sletter ikke irrelevante logger. Tre alternativer kan brukes for å løse dette problemet:

  1. Aktiver logging;
  2. Slett irrelevante logger med jevne mellomrom;
  3. Aktiver rotasjon, som ble gjort i konfigurasjonen ovenfor. For eksempel betyr "roter 30" i konfigurasjonsfilen at 3proxy bare vil lagre de siste 30 filene.

Konklusjon

Å installere og konfigurere 3proxy på CentOS og ArchLinux operativsystemer er en ganske enkel, men samtidig effektiv oppgave. Artikkelen dekket trinnene for å installere de nødvendige pakkene, konfigurere konfigurasjonsfiler og starte tjenesten. Kunnskapen du oppnår vil tillate deg å installere og konfigurere proxy-serveren selv uten problemer.

❮ Forrige artikkel Hvordan øke diskpartisjonen på Windows OS
Neste artikkel ❯ Slik tilbakestiller du Windows-passordet

Spør oss om VPS

Vi er alltid klare til å svare på spørsmålene dine når som helst på dagen eller natten.