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 trin-for-trin vejledning om værktøjsinstallationen og dens videre konfiguration. Problemer som installation fra en officiel kilde, opsætning af konfigurationsfiler, åbning af ikke-standardporte tages i betragtning, ligesom almindelige fejl beskrives og praktiske anbefalinger til løsning af dem gives. Før lancering skal du bestille en VPS or dedikeret server drevet af CentOS- eller ArchLinux-operativsystemet. Alle handlinger i eksemplet vil blive udført på en dedikeret server drevet af CentOS7-operativsystemet med én dedikeret statisk offentlig IP-adresse.
Installation
Trin 1
3proxy installeres direkte fra kilderne. gcc vil blive brugt som compiler. Vi forbinder til serveren som root (superbruger) og installerer compileren.
yum install gcc
Trin 2
Nu er det nødvendigt at downloade 3proxy-kildefilerne. Du kan gøre dette ved at gå til officiel hjemmeside og kopiere linket til den aktuelle version:
Hvis en arkiveret version er nødvendig, 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 3 proxybruger:
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
Hvis det er 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 tage færdige konfigurationer eller bruge dokumentation på den officielle hjemmeside. Også en fil med et eksempel er allerede forudinstalleret som standard; du kan finde den langs stien: /cfg/3proxy.cfg.sample
Som et eksempel vil vi overveje 2 typer konfiguration: med og uden logning. Hver linje vil blive 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 brugerautorisation; det vil blive brugt senere under serveropsætningen.
Sørg for at angive autorisationsoplysninger, 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 venligst: i "ExecStop"-værdien 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. For vores del, vi anbefaler ikke at bruge en usikret forbindelse uden login/adgangskode autorisation, samt med et standard sæt af porte. Mens du opsætter konfigurationsfilen, sørg for at angive et login og oprette en kompleks adgangskode, og også ændre portene til ikke-standardiserede. I særlige tilfælde er det muligt at bruge IP-adresseautorisation
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 de nødvendige konfigurationsfiler. Dette sker, når et konfigurationstrin overses, de relevante rettigheder ikke gives, eller der er lavet en mindre fejl i konfigurationsfilerne. Vi anbefaler dig omhyggeligt at studere instruktionerne trin for trin igen, måske er du gået glip af et af trinene. Hvis intet hjælper, vil det være en god idé at geninstallere OS og følge alle trinene fra begyndelsen. Vi anbefaler at bruge prøve placeret på /cfg/3proxy.cfg.sample, som en testkonfiguration, og den forudinstallerede firewall-cmd som en 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.