Yn dit artikel sille wy 3proxy-konfiguraasje sjen litte op in tawijd server oandreaun troch it bestjoeringssysteem ArchLinux/CentOS. 3proxy is ien fan 'e meast relevante en funksjonele ark. It stipet ferskate soarten protokollen: HTTP, HTTPS, FTP, SOCKS, en oaren. It sil jo helpe om jo eigen proxy-tsjinner yn in pear minuten yn te stellen.
It artikel befettet stap-foar-stap-begelieding oer de ynstallaasje fan it hulpprogramma en de fierdere konfiguraasje. Problemen lykas ynstallaasje fan in offisjele boarne, it ynstellen fan konfiguraasjebestannen, it iepenjen fan net-standert havens wurde beskôge, lykas gewoane flaters wurde beskreaun en praktyske oanbefellings foar it oplossen wurde jûn. Foar lansearring, Jo moatte bestelle a VPS or tsjinner server oandreaun troch it CentOS of ArchLinux bestjoeringssysteem. Alle aksjes yn it foarbyld sille wurde útfierd op in tawijd server oandreaun troch it CentOS7 bestjoeringssysteem mei ien tawijd statysk iepenbier IP-adres.
Ynstallaasje
Step 1
3proxy wurdt direkt ynstalleare fan 'e boarnen. gcc sil brûkt wurde as kompilator. Wy ferbine mei de tsjinner as root (superbrûker) en ynstallearje de kompilator.
yum install gcc
Step 2
No is it nedich om de 3proxy-boarnebestannen te downloaden. Jo kinne dit dwaan troch te gean nei de offisjele webside en kopiearje de keppeling nei de aktuele ferzje:
As in argivearre ferzje nedich is, kinne jo de keppeling ek direkt downloade fan GitHub:
Op it momint fan it skriuwen fan dit artikel is de hjoeddeistige ferzje 0.9.3. Download it en pak it daliks út:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
Step 3
Gean nei de map mei it útpakte projekt en kompilearje:
cd 3proxy-0.9.3/
make -f Makefile.Linux
Step 4
Wy meitsje mappen en kopiearje it 3proxy-bestân nei /usr/bin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
Step 5
Wy meitsje in brûker om te wurkjen mei de katalogus. Yn dit gefal is de brûkersnamme 3 proxy-brûker:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Wy jouwe de rjochten om mei mappen te wurkjen oan de oanmakke brûker:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Litte wy no in konfiguraasjetriem oanmeitsje mei it kommando:
touch /etc/3proxy/3proxy.cfg
As it nedich is, kinne jo tagongsrjochten ynstelle op it konfiguraasjetriem foar de root-brûker. Dizze stap is net ferplicht, mar sil beskerming tafoegje:
chmod 600 /etc/3proxy/3proxy.cfg
3 proxy konfiguraasje
Step 6
It is needsaaklik om it konfiguraasjetriem dat earder makke is korrekt yn te foljen. Fyn earst de uid en gid fan 'e brûker út troch it kommando:
id 3proxyuser
Yn ús gefal binne dit de folgjende wearden:
Om it konfiguraasjetriem yn te foljen, kinne jo klearmakke konfiguraasjes nimme of de dokumintaasje op 'e offisjele webside. Ek in triem mei in foarbyld is al foarôf ynstallearre standert; jo kinne it lâns it paad fine: /cfg/3proxy.cfg.sample
As foarbyld sille wy 2 soarten konfiguraasje beskôgje: mei en sûnder logging. Elke rigel wurdt begelaat troch opmerkings (se wurde markearre mei it symboal "#").
Dit is in foarbyld fan in klearmakke konfiguraasje sûnder 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
Wy beskôgje de opsje fan in konfiguraasjetriem sûnder loggen. No sille wy in konfiguraasjetriem meitsje mei logging en brûker autorisaasje; it sil letter brûkt wurde tidens de tsjinner opset.
Soargje derfoar dat jo autorisaasjeynformaasje leverje, om't de tsjinner sels op net-standert havens kin wurde ûntdutsen.
# 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
Dit foltôget de opset fan it haadkonfiguraasjetriem. Wy geane troch nei de lêste etappe en lansearje.
Step 7
Meitsje in inisjalisaasjebestân foar systemd:
touch /etc/systemd/system/3proxy.service
Jou de nedige rjochten út:
chmod 664 /etc/systemd/system/3proxy.service
Kopiearje en plakke de folgjende wearden yn it bestân en bewarje:
[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»
Tink derom: yn 'e wearde "ExecStop" moatte jo de brûkersnamme opjaan dy't makke is yn stap 5.
Hjirnei moatte jo de Daemon-konfiguraasje bywurkje mei it kommando:
systemctl daemon-reload
Step 8
It iennichste dat wy nedich binne is de konfigureare 3proxy te starten, it taheakje oan autostart, en ek havens iepenje yn 'e firewall.
Foegje it ta oan autostart, lansearje en kontrolearje status:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Nei it kontrolearjen fan de status, sjogge wy ynformaasje dat 3proxy mei súkses is lansearre:
It iennichste dat oerbleaun is om havens te iepenjen:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
As it nedich is, herstart de tsjinner. It is mooglik om te kontrolearjen oft de havens iepen binne mei it kommando:
firewall-cmd --list-all
Wat moat wêze:
Sa't wy sjen kinne, binne beide havens mei súkses iepene en wurde harke. http-ferbining is op 'e earste haven, sokken is op' e twadde haven.
Kontrolearje de ferbining fia elke handige tsjinst:
Alles wurket. Foar ús part, wy riede net oan om in ûnbefeilige ferbining te brûken sûnder oanmelding-/wachtwurdautorisaasje, lykas ek mei in standert set fan havens. By it ynstellen fan it konfiguraasjetriem, wês wis dat jo in oanmelding opjaan en in kompleks wachtwurd meitsje, en ek de havens feroarje nei net-standert. Yn útsûnderlike gefallen is it mooglik om IP-adres autorisaasje te brûken
Algemiene problemen
Der gie der mis en de proxy wurket net? Miskien is de 3proxy-konfiguraasje ferkeard dien. Litte wy de meast foarkommende problemen en har oplossingen beskôgje by it ynstallearjen en konfigurearjen fan it hulpprogramma.
Gjin ferbining
It meast foarkommende probleem foar in protte brûkers is in net tagonklike ferbining as de konfiguraasjetriemmen goed lykje te wêzen konfigureare. As jo der wis fan binne dat alle ynstellingen goed binne konfigureare, beheint de hostingprovider de selektearre poarte net en alle gegevens jouwe in wurkjende tsjinst oan, it probleem kin wêze yn 'e Firewall, of, krekter, de ferkearde konfiguraasje. D'r kinne bygelyks mear as twa programma's ynstalleare op it systeem dy't mei-inoar yn konflikt komme. Om it probleem op te lossen, is it genôch om ien spesifike Firewall te brûken. Wy advisearje jo om allinich iptables of firewall-cmd te selektearjen.
De tsjinst start net
De tsjinst begjint net nei it ynstellen fan alle nedige konfiguraasjebestannen. Dit bart as in konfiguraasjestap mist wurdt, de passende rjochten wurde net jûn, of in lytse flater wurdt makke yn de konfiguraasjetriemmen. Wy riede jo oan om de ynstruksjes stap foar stap wer foarsichtich te bestudearjen, miskien hawwe jo ien fan 'e stappen mist. As neat helpt, soe it in goed idee wêze om it OS opnij te ynstallearjen en alle stappen fan it begjin ôf te folgjen. Wy riede oan te brûken foarbyld leit op /cfg/3proxy.cfg.sample, as testkonfiguraasje, en de foarynstallearre firewall-cmd as in brânmuorre.
Logging
It lêste, mar net minder wichtige probleem hat te krijen mei bestân opslach. 3proxy nimt ferskate mb tidens ynstallaasje, mar de grutte kin allinich signifikant wurde ferhege troch logging mei de tiid. It feit is dat in protte brûkers ynskeakelje log opname yn in aparte triem, mar net ynstelle rotaasje en net wiskje irrelevante logs. Trije opsjes kinne brûkt wurde foar oplossing fan dit probleem:
- Logging ynskeakelje;
- Periodysk wiskje irrelevante logs;
- Rotaasje ynskeakelje, lykas dien yn 'e konfiguraasje hjirboppe. Bygelyks, "rotearje 30" yn it konfiguraasjetriem betsjut dat 3proxy allinich de lêste 30 bestannen opslaan.
Konklúzje
It ynstallearjen en konfigurearjen fan 3proxy op CentOS en ArchLinux bestjoeringssystemen is in frij ienfâldige, mar tagelyk effektive taak. It artikel behannele de stappen om de nedige pakketten te ynstallearjen, konfiguraasjebestannen te konfigurearjen en de tsjinst te starten. De opdien kennis lit jo jo proxy-tsjinner sels sûnder problemen ynstallearje en konfigurearje.