F'dan l-artikolu ser nuru konfigurazzjoni 3proxy fuq server dedikat imħaddem mis-sistema operattiva ArchLinux/CentOS. 3proxy hija waħda mill-aktar għodod rilevanti u funzjonali. Jappoġġja diversi tipi ta 'protokolli: HTTP, HTTPS, FTP, SOCKS, u oħrajn. Dan jgħinek twaqqaf proxy server tiegħek stess fi ftit minuti.
L-artikolu fih gwida pass pass dwar l-installazzjoni tal-utilità u l-konfigurazzjoni ulterjuri tagħha. Kwistjonijiet bħall-installazzjoni minn sors uffiċjali, it-twaqqif ta 'fajls ta' konfigurazzjoni, il-ftuħ ta 'portijiet mhux standard huma kkunsidrati, kif ukoll żbalji komuni huma deskritti u jingħataw rakkomandazzjonijiet prattiċi biex issolvihom. Qabel it-tnedija, trid tordna a VPS or server dedikat imħaddem mis-sistema operattiva CentOS jew ArchLinux. L-azzjonijiet kollha fl-eżempju se jitwettqu fuq server dedikat imħaddem mis-sistema operattiva CentOS7 b'indirizz IP pubbliku statiku dedikat wieħed.
installazzjoni
1 pass
3proxy huwa installat direttament mis-sorsi. gcc se jintuża bħala l-kompilatur. Aħna nikkonnettjaw mas-server bħala root (superuser) u ninstallaw il-kompilatur.
yum install gcc
2 pass
Issa huwa meħtieġ li tniżżel il-fajls tas-sors 3proxy. Tista 'tagħmel dan billi tmur fil- websajt uffiċjali u tikkopja l-link għall-verżjoni attwali:
Jekk tkun meħtieġa verżjoni arkivjata, tista' wkoll tniżżel il-link direttament minn GitHub:
Fil-ħin tal-kitba ta 'dan l-artikolu, il-verżjoni attwali hija 0.9.3. Niżżelha u neħħiha immedjatament:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
3 pass
Mur fid-direttorju bil-proġett mhux ippakkjat u kkumpila:
cd 3proxy-0.9.3/
make -f Makefile.Linux
4 pass
Aħna noħolqu direttorji u nikkopjaw il-fajl 3proxy għal /usr/bin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
5 pass
Aħna noħolqu utent biex jaħdem mal-katalgu. F'dan il-każ l-isem tal-utent huwa 3proxyuser:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Aħna nagħtu d-drittijiet biex taħdem mad-direttorji lill-utent maħluq:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Issa ejja noħolqu fajl ta 'konfigurazzjoni billi tuża l-kmand:
touch /etc/3proxy/3proxy.cfg
Jekk meħtieġ, tista' tissettja permessi fuq il-fajl tal-konfigurazzjoni għall-utent root. Dan il-pass mhuwiex obbligatorju, iżda se żżid il-protezzjoni:
chmod 600 /etc/3proxy/3proxy.cfg
Konfigurazzjoni 3proxy
6 pass
Huwa meħtieġ li timla b'mod korrett il-fajl ta 'konfigurazzjoni li nħoloq qabel. L-ewwel, sib l-uid u gid tal-utent bil-kmand:
id 3proxyuser
Fil-każ tagħna dawn huma l-valuri li ġejjin:
Biex timla l-fajl tal-konfigurazzjoni, tista' tieħu konfigurazzjonijiet lesti jew tuża l- dokumentazzjoni fuq il-websajt uffiċjali. Ukoll fajl b'eżempju huwa diġà installat minn qabel awtomatikament; tista' ssibha tul it-triq: /cfg/3proxy.cfg.sample
Bħala eżempju, se nikkunsidraw 2 tipi ta 'konfigurazzjoni: bil-qtugħ tas-siġar u mingħajru. Kull linja tkun akkumpanjata minn kummenti (huma mmarkati bis-simbolu “#”).
Dan huwa eżempju ta 'konfigurazzjoni lesta mingħajr qtugħ:
# 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
Aħna ikkunsidrajna l-għażla ta 'fajl ta' konfigurazzjoni mingħajr illoggjar. Issa se noħolqu fajl ta 'konfigurazzjoni bi illoggjar u awtorizzazzjoni tal-utent; se jintuża aktar tard waqt is-setup tas-server.
Kun żgur li tipprovdi informazzjoni ta 'awtorizzazzjoni, peress li s-server jista' jiġi skopert anke fuq portijiet mhux standard.
# 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
Dan itemm is-setup tal-fajl tal-konfigurazzjoni prinċipali. Ngħaddu għall-istadju finali u tniedi.
7 pass
Oħloq fajl tal-inizjalizzazzjoni għal systemd:
touch /etc/systemd/system/3proxy.service
Ħruġ id-drittijiet meħtieġa:
chmod 664 /etc/systemd/system/3proxy.service
Ikkopja u waħħal il-valuri li ġejjin fil-fajl u ssejvja:
[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»
Jekk jogħġbok innota: fil-valur "ExecStop" trid tispeċifika l-isem tal-utent li nħoloq fil-pass Nru 5.
Wara dan għandek bżonn taġġorna l-konfigurazzjoni tad-Daemon bil-kmand:
systemctl daemon-reload
8 pass
L-uniku li għandna bżonn huwa li nniedu t-3proxy konfigurat, inżiduh ma 'autostart, u wkoll niftħu portijiet fil-firewall.
Żidha ma' awtostart, tniedi u ċċekkja l-istatus:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Wara li ċċekkja l-istatus, naraw informazzjoni li 3proxy tnieda b'suċċess:
L-unika ħaġa li fadal hija li tiftaħ il-portijiet:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Jekk meħtieġ, reboot is-server. Huwa possibbli li tivverifika jekk il-portijiet humiex miftuħa bil-kmand:
firewall-cmd --list-all
X'għandu jkun:
Kif nistgħu naraw, iż-żewġ portijiet infetħu b'suċċess u qed jinstemgħu. Il-konnessjoni http hija fuq l-ewwel port, il-kalzetti huma fuq it-tieni port.
Iċċekkja l-konnessjoni permezz ta' kwalunkwe servizz konvenjenti:
Kollox qed jopera. Min-naħa tagħna, ma nirrakkomandawx li tuża konnessjoni mhux sigura mingħajr awtorizzazzjoni ta' login/password, kif ukoll b'sett standard ta' portijiet. Waqt li twaqqaf il-fajl tal-konfigurazzjoni, kun żgur li tispeċifika login u toħloq password kumplessa, u wkoll ibiddel il-portijiet għal dawk mhux standard. F'każijiet eċċezzjonali, huwa possibbli li tuża l-awtorizzazzjoni tal-indirizz IP
Problemi komuni
Xi ħaġa marret ħażin u l-proxy mhux qed jaħdem? Forsi l-konfigurazzjoni 3proxy saret ħażin. Ejja nikkunsidraw l-aktar problemi komuni u s-soluzzjonijiet tagħhom waqt l-installazzjoni u l-konfigurazzjoni tal-utilità.
L-ebda konnessjoni
L-aktar problema komuni għal ħafna utenti hija konnessjoni inaċċessibbli meta l-fajls tal-konfigurazzjoni jidhru li huma kkonfigurati b'mod korrett. Jekk int ċert li s-settings kollha ġew ikkonfigurati b'mod korrett, il-fornitur tal-hosting ma jillimitax il-port magħżul u d-dejta kollha tindika servizz ta 'ħidma, il-problema tista' tkun fil-Firewall, jew, aktar preċiżament, il-konfigurazzjoni mhux korretta tagħha. Per eżempju, jista 'jkun hemm aktar minn żewġ programmi installati fuq is-sistema li jkunu f'kunflitt ma' xulxin. Biex issolvi l-problema, huwa biżżejjed li tuża Firewall speċifiku wieħed. Aħna nagħtuk parir biex tagħżel biss iptables jew firewall-cmd.
Is-servizz ma jitniedix
Is-servizz ma jibdax wara li twaqqaf il-fajls tal-konfigurazzjoni kollha meħtieġa. Dan iseħħ meta tintilef pass tal-konfigurazzjoni, ma jingħatawx id-drittijiet xierqa, jew isir żball minuri fil-fajls tal-konfigurazzjoni. Nirrakkomandaw li terġa' tistudja bir-reqqa l-istruzzjonijiet pass pass, forsi tlift wieħed mill-passi. Jekk xejn ma jgħin, tkun idea tajba li terġa' tinstalla l-OS u ssegwi l-passi kollha mill-bidu. Nirrakkomandaw li tuża kampjun li jinsab fuq /cfg/3proxy.cfg.sample, bħala konfigurazzjoni tat-test, u l-installat minn qabel firewall-cmd bħala firewall.
Logging
Il-kwistjoni finali, iżda mhux inqas importanti tirrigwarda l-ħażna tal-fajls. 3proxy jieħu diversi mb waqt l-installazzjoni, iżda d-daqs jista 'jiżdied b'mod sinifikanti biss permezz tal-illoggjar mal-mogħdija taż-żmien. Il-fatt hu li ħafna utenti jippermettu r-reġistrazzjoni ta 'log f'fajl separat, iżda ma jistabbilixxux rotazzjoni u ma jħassrux zkuk irrilevanti. Tliet għażliet jistgħu jintużaw għas-soluzzjoni ta 'din il-problema:
- Ippermetti l-illoggjar;
- Ħassar perjodikament zkuk irrilevanti;
- Ippermetti r-rotazzjoni, kif sar fil-konfigurazzjoni ta 'hawn fuq. Pereżempju, "dawwar 30" fil-fajl tal-konfigurazzjoni tfisser li 3proxy se jaħżen biss l-aħħar 30 fajl.
konklużjoni
L-installazzjoni u l-konfigurazzjoni ta '3proxy fuq is-sistemi operattivi CentOS u ArchLinux hija kompitu pjuttost sempliċi, iżda fl-istess ħin effettiv. L-artikolu kopra l-passi biex tinstalla l-pakketti meħtieġa, tikkonfigura fajls ta 'konfigurazzjoni, u tniedi s-servizz. L-għarfien miksub jippermettilek tinstalla u tikkonfigura s-server proxy tiegħek lilek innifsek mingħajr ebda diffikultajiet.