Kennisbank Eenvoudige instructies om met de Profitserver-service te werken
Hoofd Kennisbank 3proxy-configuratie op CentOS/ArchLinux

3proxy-configuratie op CentOS/ArchLinux


In dit artikel laten we de 3proxy-configuratie zien op een dedicated server die wordt aangestuurd door het ArchLinux/CentOS-besturingssysteem. 3proxy is een van de meest relevante en functionele tools. Het ondersteunt verschillende soorten protocollen: HTTP, HTTPS, FTP, SOCKS en andere. Het helpt u om uw eigen proxyserver in een kwestie van minuten in te stellen.

Het artikel bevat stapsgewijze instructies voor de installatie van het hulpprogramma en de verdere configuratie ervan. Problemen zoals installatie vanaf een officiële bron, het instellen van configuratiebestanden, het openen van niet-standaardpoorten worden besproken, evenals veelvoorkomende fouten worden beschreven en praktische aanbevelingen voor het oplossen ervan worden gegeven. Voor de lancering moet u een VPS or dedicated server aangestuurd door het CentOS of ArchLinux besturingssysteem. Alle acties in het voorbeeld worden uitgevoerd op een dedicated server aangestuurd door het CentOS7 besturingssysteem met één dedicated statisch openbaar IP-adres.

Montage

Stap 1

3proxy wordt rechtstreeks vanuit de bronnen geïnstalleerd. gcc zal worden gebruikt als compiler. We verbinden ons met de server als root (superuser) en installeren de compiler.

yum install gcc

Stap 2

Nu is het nodig om de 3proxy bronbestanden te downloaden. Dit kunt u doen door naar de officiële website en de link naar de huidige versie kopiëren:

Installatie van utiliteit

Als u een gearchiveerde versie nodig hebt, kunt u de link ook rechtstreeks downloaden van GitHub:

3proxy installeren vanaf Github

Op het moment dat dit artikel geschreven wordt, is de huidige versie 0.9.3. Download deze en pak hem meteen uit:

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

Stap 3

Ga naar de map met het uitgepakte project en compileer:

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

Stap 4

We maken mappen aan en kopiëren het bestand 3proxy naar /usr/bin:

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

Stap 5

We maken een gebruiker aan om met de catalogus te werken. In dit geval is de gebruikersnaam 3proxygebruiker:

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

We verlenen de rechten om met mappen te werken aan de aangemaakte gebruiker:

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

Laten we nu een configuratiebestand maken met de opdracht:

touch /etc/3proxy/3proxy.cfg

Indien nodig kunt u permissies instellen op het configuratiebestand voor de rootgebruiker. Deze stap is niet verplicht, maar zal bescherming toevoegen:

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

3proxy-configuratie

Stap 6

Het is noodzakelijk om het eerder gemaakte configuratiebestand correct in te vullen. Zoek eerst de uid en gid van de gebruiker op met de opdracht:

id 3proxyuser

In ons geval zijn dit de volgende waarden:

uid en gid

Om het configuratiebestand in te vullen, kunt u kant-en-klare configuraties gebruiken of de documentatie op de officiële website. Ook is er standaard al een bestand met een voorbeeld voorgeïnstalleerd; u kunt het vinden langs het pad: /cfg/3proxy.cfg.voorbeeld

Als voorbeeld beschouwen we twee soorten configuraties: met en zonder loggingElke regel wordt vergezeld door opmerkingen (deze zijn gemarkeerd met het symbool “#”).

Dit is een voorbeeld van een kant-en-klare configuratie zonder loggen:

# 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

We hebben de optie overwogen van een configuratiebestand zonder logging. Nu gaan we een configuratiebestand maken met logging en gebruikersautorisatie; het zal later worden gebruikt tijdens de serverinstallatie.

Zorg ervoor dat u autorisatiegegevens verstrekt, aangezien de server zelfs op niet-standaardpoorten kan worden gedetecteerd.

# 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

Hiermee is de setup van het hoofdconfiguratiebestand voltooid. We gaan door naar de laatste fase en de lancering.

Stap 7

Maak een initialisatiebestand voor systemd:

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

Geef de nodige rechten:

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

Kopieer en plak de volgende waarden in het bestand en sla ze op:

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

Houd er rekening mee dat: in de waarde “ExecStop” moet u de gebruikersnaam opgeven die in stap 5 is aangemaakt.

Hierna moet u de Daemon-configuratie bijwerken met de opdracht:

systemctl daemon-reload

Stap 8

Het enige wat we hoeven te doen is de geconfigureerde 3proxy te starten, deze toe te voegen aan automatisch starten en ook poorten in de firewall te openen.

Voeg het toe aan automatisch starten, opstarten en status controleren:

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

Nadat we de status hebben gecontroleerd, zien we informatie dat 3proxy succesvol is gestart:

Proxy is actief

Het enige dat nog rest is het openen van de poorten:

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

Indien nodig, herstart de server. Het is mogelijk om te controleren of de poorten open zijn met de opdracht:

firewall-cmd --list-all

Wat zou moeten zijn:

Open firewallpoorten

Zoals we kunnen zien, zijn beide poorten succesvol geopend en worden ze beluisterd. De http-verbinding bevindt zich op de eerste poort, de socks bevinden zich op de tweede poort.

Controleer de verbinding via een geschikte service:

Succesvolle 3proxy-installatie

Alles werkt. Van onze kant, Wij raden af ​​om een ​​onbeveiligde verbinding te gebruiken zonder login/wachtwoord autorisatie, evenals met een standaard set poortenTijdens het instellen van het configuratiebestand, Zorg ervoor dat u een login opgeeft en een complex wachtwoord aanmaakt, en wijzig ook de poorten naar niet-standaardpoortenIn uitzonderlijke gevallen is het mogelijk om IP-adresautorisatie te gebruiken

Veel voorkomende problemen

Er is iets misgegaan en de proxy werkt niet? Misschien is de 3proxy-configuratie niet correct uitgevoerd. Laten we de meest voorkomende problemen en hun oplossingen bekijken tijdens het installeren en configureren van het hulpprogramma.

Geen verbinding

Het meest voorkomende probleem voor veel gebruikers is een ontoegankelijke verbinding wanneer de configuratiebestanden correct lijken te zijn geconfigureerd. Als u er zeker van bent dat alle instellingen correct zijn geconfigureerd, de hostingprovider de geselecteerde poort niet beperkt en alle gegevens een werkende service aangeven, kan het probleem in de firewall zitten, of, preciezer, in de onjuiste configuratie ervan. Er kunnen bijvoorbeeld meer dan twee programma's op het systeem zijn geïnstalleerd die met elkaar in conflict komen. Om het probleem op te lossen, is het voldoende om één specifieke firewall te gebruiken. Wij raden u aan om alleen iptables of firewall-cmd te selecteren.

De service start niet

De service start niet nadat alle benodigde configuratiebestanden zijn ingesteld. Dit gebeurt wanneer een configuratiestap wordt overgeslagen, de juiste rechten niet worden gegeven of er een kleine fout wordt gemaakt in de configuratiebestanden. Wij raden u aan de instructies stap voor stap opnieuw zorgvuldig te bestuderen, misschien hebt u een van de stappen gemist. Als niets helpt, is het een goed idee om het besturingssysteem opnieuw te installeren en alle stappen vanaf het begin te volgen. Wij raden aan om monster bevindt zich op /cfg/3proxy.cfg.sample, als testconfiguratie, en de vooraf geïnstalleerde firewall-cmd als firewall.

Logging

Het laatste, maar niet minder belangrijke probleem heeft betrekking op de opslag van bestanden. 3proxy neemt tijdens de installatie enkele mb in beslag, maar de grootte kan alleen aanzienlijk worden vergroot door logging naarmate de tijd verstrijkt. Het feit is dat veel gebruikers logregistratie inschakelen in een apart bestand, maar geen rotatie instellen en irrelevante logs niet verwijderen. Er zijn drie opties om dit probleem op te lossen:

  1. Logging inschakelen;
  2. Verwijder periodiek irrelevante logs;
  3. Schakel rotatie in, zoals in de bovenstaande configuratie is gedaan. Bijvoorbeeld, "rotate 30" in het configuratiebestand betekent dat 3proxy alleen de laatste 30 bestanden zal opslaan.

Conclusie

Het installeren en configureren van 3proxy op CentOS en ArchLinux besturingssystemen is een vrij eenvoudige, maar tegelijkertijd effectieve taak. Het artikel besprak de stappen om de benodigde pakketten te installeren, configuratiebestanden te configureren en de service te starten. De opgedane kennis stelt u in staat om uw proxyserver zelf te installeren en configureren zonder enige moeite.

❮ Vorig artikel Hoe vergroot u de schijfpartitie op Windows OS
Volgend artikel ❯ Hoe Windows-wachtwoord opnieuw in te stellen

Vraag ons over VPS

Wij staan ​​altijd klaar om uw vragen te beantwoorden, op elk moment van de dag of nacht.