I denne artikel vil vi vise 3proxy-konfiguration på en dedikeret server drevet af ArchLinux/CentOS-operativsystemet. 3proxy er et af de mest relevante og funktionelle værktøjer. Det understøtter forskellige typer protokoller: HTTP, HTTPS, FTP, SOCKS og andre. Det vil hjælpe dig med at konfigurere din egen proxy-server i løbet af få minutter.
Artiklen indeholder trinvis vejledning i installation af hjælpeprogrammet og dets videre konfiguration. Problemer som installation fra en officiel kilde, opsætning af konfigurationsfiler og åbning af ikke-standardiserede porte gennemgås, ligesom almindelige fejl beskrives, og der gives praktiske anbefalinger til løsning af dem. Før lancering skal du bestille en VPS eller dedikeret server, der drives af CentOS- eller ArchLinux-operativsystemet. Alle handlinger i eksemplet udføres på en dedikeret server, der drives af CentOS7-operativsystemet med én dedikeret statisk offentlig IP-adresse.
Installation
Trin 1
3proxy installeres direkte fra kildekoden. gcc vil blive brugt som compiler. Vi opretter forbindelse til serveren som root (superbruger) og installerer compileren.
yum install gcc
Trin 2
Nu skal du downloade 3proxy-kildefilerne. Du kan gøre dette ved at gå til den officielle hjemmeside og kopiere linket til den aktuelle version:
Hvis der er behov for en arkiveret version, kan du også downloade linket direkte fra GitHub :
På tidspunktet for skrivning af denne artikel er den aktuelle version 0.9.3. Download den og pak den ud med det samme:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
Trin 3
Gå til mappen med det udpakkede projekt og kompilér:
cd 3proxy-0.9.3/
make -f Makefile.Linux
Trin 4
Vi opretter mapper og kopierer 3proxy-filen til /usr/bin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
Trin 5
Vi opretter en bruger til at arbejde med kataloget. I dette tilfælde er brugernavnet 3proxyuser:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Vi giver rettighederne til at arbejde med mapper til den oprettede bruger:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Lad os nu oprette en konfigurationsfil ved hjælp af kommandoen:
touch /etc/3proxy/3proxy.cfg
Om nødvendigt kan du angive tilladelser på konfigurationsfilen for root-brugeren. Dette trin er ikke obligatorisk, men vil tilføje beskyttelse:
chmod 600 /etc/3proxy/3proxy.cfg
3 proxy-konfiguration
Trin 6
Det er nødvendigt at udfylde den konfigurationsfil, der blev oprettet tidligere, korrekt. Find først ud af brugerens uid og gid ved hjælp af kommandoen:
id 3proxyuser
I vores tilfælde er disse værdier:
For at udfylde konfigurationsfilen kan du bruge færdige konfigurationer eller dokumentationen på den officielle hjemmeside. Der er også som standard forudinstalleret en fil med et eksempel; du kan finde den langs stien: /cfg/3proxy.cfg.sample
Som et eksempel vil vi betragte 2 typer konfiguration: med og uden logføring . Hver linje vil være ledsaget af kommentarer (de er markeret med symbolet "#").
Dette er et eksempel på en færdiglavet konfiguration uden logning :
# 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 overvejede muligheden for en konfigurationsfil uden logning. Nu vil vi oprette en konfigurationsfil med logning og brugergodkendelse ; den vil blive brugt senere under serveropsætningen.
Sørg for at angive godkendelsesoplysninger, da serveren kan detekteres selv på ikke-standardporte.
# 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 fuldender opsætningen af hovedkonfigurationsfilen. Vi går videre til sidste fase og lancering.
Trin 7
Opret en initialiseringsfil til systemd:
touch /etc/systemd/system/3proxy.service
Udsted de nødvendige rettigheder:
chmod 664 /etc/systemd/system/3proxy.service
Kopier og indsæt følgende værdier i filen og gem:
[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»
Bemærk: I værdien "ExecStop" skal du angive det brugernavn, der blev oprettet i trin nr. 5.
Hvorefter du skal opdatere Daemon-konfigurationen med kommandoen:
systemctl daemon-reload
Trin 8
Det eneste vi behøver er at starte den konfigurerede 3proxy, tilføje den til autostart og også åbne porte i firewallen.
Tilføj det til autostart, start og kontroller status:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Efter at have kontrolleret status, ser vi oplysninger om, at 3proxy er blevet lanceret med succes:
Det eneste der er tilbage er at åbne porte:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Genstart om nødvendigt serveren. Det er muligt at kontrollere, om portene er åbne med kommandoen:
firewall-cmd --list-all
Hvad skal være:
Som vi kan se, er begge porte blevet åbnet med succes og bliver lyttet. http-forbindelse er på den første port, sokker er på den anden port.
Tjek forbindelsen gennem enhver praktisk tjeneste:
Alt fungerer. Vi anbefaler ikke at bruge en usikret forbindelse uden login/adgangskodegodkendelse, samt med et standardsæt af porte . Sørg for at angive et login og oprette en kompleks adgangskode, når du konfigurerer konfigurationsfilen, og skift portene til ikke-standardiserede porte . I særlige tilfælde er det muligt at bruge IP-adressegodkendelse.
Almindelige problemer
Noget gik galt, og proxyen virker ikke? Måske blev 3proxy-konfigurationen udført forkert. Lad os overveje de mest almindelige problemer og deres løsninger under installation og konfiguration af hjælpeprogrammet.
Ingen forbindelse
Det mest almindelige problem for mange brugere er en utilgængelig forbindelse, når konfigurationsfilerne ser ud til at være konfigureret korrekt. Hvis du er sikker på, at alle indstillingerne er konfigureret korrekt, begrænser hostingudbyderen ikke den valgte port, og alle data indikerer en fungerende tjeneste, problemet kan være i firewallen, eller mere præcist, dens forkerte konfiguration. For eksempel kan der være mere end to programmer installeret på systemet, som vil være i konflikt med hinanden. For at løse problemet er det nok at bruge en specifik firewall. Vi råder dig til kun at vælge iptables eller firewall-cmd.
Tjenesten starter ikke
Tjenesten starter ikke efter opsætning af alle nødvendige konfigurationsfiler. Dette sker, når et konfigurationstrin overses, de nødvendige rettigheder ikke er givet, eller der er lavet en mindre fejl i konfigurationsfilerne. Vi anbefaler, at du omhyggeligt studerer instruktionerne trin for trin igen, måske har du overset et af trinnene. Hvis intet hjælper, er det en god idé at geninstallere operativsystemet og følge alle trinene fra starten. Vi anbefaler at bruge eksemplet, der findes på /cfg/3proxy.cfg.sample, som en testkonfiguration og den forudinstallerede firewall-cmd som firewall.
Logning
Det sidste, men ikke mindre vigtige spørgsmål vedrører fillagring. 3proxy tager adskillige mb under installationen, men størrelsen kan kun øges markant gennem logning med tiden. Faktum er, at mange brugere aktiverer logregistrering i en separat fil, men sætter ikke rotation op og sletter ikke irrelevante logfiler. Tre muligheder kan bruges til at løse dette problem:
- Aktiver logning;
- Slet periodisk irrelevante logfiler;
- Aktiver rotation, som det blev gjort i konfigurationen ovenfor. For eksempel betyder "rotér 30" i konfigurationsfilen, at 3proxy kun gemmer de seneste 30 filer.
Konklusion
Installation og konfiguration af 3proxy på CentOS og ArchLinux operativsystemer er en ret simpel, men samtidig effektiv opgave. Artiklen dækkede trinene til at installere de nødvendige pakker, konfigurere konfigurationsfiler og starte tjenesten. Den opnåede viden giver dig mulighed for selv at installere og konfigurere din proxyserver uden problemer.