Di vê gotarê de em ê veavakirina 3proxy li ser serverek taybetî ya ku ji hêla pergala xebitandina ArchLinux / CentOS ve hatî hêzdar kirin nîşan bidin. 3proxy yek ji amûrên herî têkildar û fonksiyonel e. Ew cûrbecûr protokolan piştgirî dike: HTTP, HTTPS, FTP, SOCKS, û yên din. Ew ê ji we re bibe alîkar ku hûn di nav çend hûrdeman de servera proxy-ya xwe saz bikin.
Gotar rêbernameyek gav-bi-gav li ser sazkirina karûbar û veavakirina wê ya din vedihewîne. Pirsgirêkên wekî sazkirina ji çavkaniyek fermî, sazkirina pelên mîhengê, vekirina portên ne-standard têne hesibandin, û her weha xeletiyên hevpar têne vegotin û ji bo çareserkirina wan pêşniyarên pratîkî têne dayîn. Berî destpêkirinê, divê hûn ferman bidin a VPS or server server ji hêla pergala xebitandina CentOS an ArchLinux ve hatî hêz kirin. Hemî kiryarên di nimûneyê de dê li ser serverek veqetandî ya ku ji hêla pergala xebitandinê CentOS7 ve bi yek navnîşana IP-ya giştî ya statîk veqetandî ve hatî hêzdar kirin bêne kirin.
Lêkirinî
1 Step
3proxy rasterast ji çavkaniyan tê saz kirin. gcc dê wekî berhevkar were bikar anîn. Em wekî root (superuser) bi serverê ve girêdidin û berhevkar saz dikin.
yum install gcc
2 Step
Naha pêdivî ye ku pelên çavkaniya 3proxy dakêşin. Hûn dikarin vê yekê bi çûna ser de bikin malpera fermî û kopîkirina girêdana guhertoya heyî:
Ger guhertoyek arşîvkirî hewce be, hûn dikarin rasterast ji lînkê jî dakêşin GitHub:
Di dema nivîsandina vê gotarê de, guhertoya heyî 0.9.3 e. Wê dakêşin û tavilê wê vekin:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
3 Step
Bi projeya nepakkirî re biçin pelrêça û berhev bikin:
cd 3proxy-0.9.3/
make -f Makefile.Linux
4 Step
Em pelrêçan diafirînin û pelê 3proxy li /usr/bin kopî dikin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
5 Step
Em bikarhênerek diafirînin ku bi katalogê re bixebite. Di vê rewşê de navê bikarhêner e 3 proxyuser:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Em mafên xebata bi pelrêçanan re didin bikarhênerê hatî afirandin:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Naha em bi karanîna fermanê pelek vesazkirinê biafirînin:
touch /etc/3proxy/3proxy.cfg
Ger hewce be, hûn dikarin li ser pelê veavakirinê ji bo bikarhênerê root destûr bidin. Ev gav ne mecbûrî ye, lê dê parastinê zêde bike:
chmod 600 /etc/3proxy/3proxy.cfg
3 veavakirina proxy
6 Step
Pêdivî ye ku pelê mîhengê ya ku berê hatî afirandin rast dagirtin. Pêşîn, bi fermanê uid û gid bikarhênerê bibînin:
id 3proxyuser
Di rewşa me de ev nirxên jêrîn in:
Ji bo dagirtina pelê veavakirinê, hûn dikarin mîhengên amade bistînin an jî bikar bînin belge li ser malpera fermî. Di heman demê de pelek bi mînakek berê ji hêla xwerû ve hatî saz kirin; hûn dikarin wê di rê de bibînin: /cfg/3proxy.cfg.sample
Wekî nimûne, em ê 2 celeb veavakirinê bifikirin: bi têketin û bê qeydkirin. Her rêz dê bi şîroveyan re were (ew bi nîşana "#" têne nîşankirin).
Ev mînakek mîhengek amade ye bêyî têketinê:
# 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
Me vebijarka pelê veavakirinê bêyî têketinê fikirî. Niha em ê pelê veavakirinê biafirînin têketin û destûrnameya bikarhêner; ew ê paşê di dema sazkirina serverê de were bikar anîn.
Piştrast bikin ku hûn agahdariya destûrnameyê peyda dikin, ji ber ku server dikare li ser portên ne-standard jî were tespît kirin.
# 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
Ev sazkirina pelê veavakirina sereke temam dike. Em derbasî qonaxa dawîn dibin û dest pê dikin.
7 Step
Ji bo systemd pelek destpêkê biafirînin:
touch /etc/systemd/system/3proxy.service
Mafên pêwîst bidin:
chmod 664 /etc/systemd/system/3proxy.service
Nirxên jêrîn li pelê kopî bikin û bişopînin û hilînin:
[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»
Ji kerema xwe not bikin: di nirxa "ExecStop" de divê hûn navê bikarhênerê ku di gava jimare 5 de hatî çêkirin diyar bikin.
Piştî vê yekê hûn hewce ne ku bi fermanê veavakirina Daemon nûve bikin:
systemctl daemon-reload
8 Step
Tişta ku em hewce ne ev e ku em 3proxy-ya mîhengkirî bidin destpêkirin, wê li destpêka otomatîkê zêde bikin, û her weha benderan di dîwarê agir de vekin.
Wê li destpêka otomatîkê zêde bikin, dest pê bikin û statûyê kontrol bikin:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Piştî kontrolkirina statûyê, em agahdarî dibînin ku 3proxy bi serfirazî hatî destpêkirin:
Tiştê ku tenê maye vekirina portan e:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Ger hewce be, serverê ji nû ve saz bikin. Bi fermanê re gengaz e ku meriv kontrol bike ka ports vekirî ne:
firewall-cmd --list-all
Divê çi be:
Wekî ku em dibînin, her du port bi serfirazî hatine vekirin û têne guhdarî kirin. Girêdana http li porta yekem e, sock li porta duyemîn e.
Têkiliyê bi her karûbarê hêsan ve kontrol bikin:
Her tişt operasyon e. Ji aliyê me ve, em pêşniyar nakin ku têkiliyek neewle bêyî destûrnameya têketinê / şîfreyê, û her weha bi komek standard a portan bikar bînin. Dema ku pelê mîhengê saz dike, Bawer bikin ku têketinek diyar bikin û şîfreyek tevlihev biafirînin, û her weha portan biguhezînin yên ne-standard. Di rewşên awarte de, gengaz e ku meriv destûrnameya navnîşana IP-yê bikar bîne
Pirsgirêkên hevpar
Tiştek xelet derket û proxy nexebite? Dibe ku veavakirina 3proxy xelet hatibe kirin. Werin em pirsgirêkên herî gelemperî û çareseriyên wan di dema sazkirin û mîhengkirina amûreyê de binirxînin.
Têkilî tune
Pirsgirêka herî gelemperî ji bo gelek bikarhêneran pêwendiyek negihîştî ye dema ku pelên vesazkirinê rast têne mîheng kirin. Heke hûn pê ewle ne ku hemî mîheng bi rêkûpêk hatine mîheng kirin, pêşkêşvanê mêvandariyê porta hilbijartî sînordar nake û hemî dane karûbarek xebitandinê destnîşan dikin, dibe ku pirsgirêk di Firewallê de be, an jî, bi rastî, veavakirina wê ya xelet be. Mînakî, dibe ku zêdetirî du bername li ser pergalê hatine saz kirin ku dê bi hevûdu re nakok bin. Ji bo çareserkirina pirsgirêkê, bes e ku meriv Firewallek taybetî bikar bîne. Em ji we re şîret dikin ku hûn tenê iptables an firewall-cmd hilbijêrin.
Xizmet dest pê nake
Karûbar piştî sazkirina hemî pelên mîhengê yên pêwîst dest pê nake. Ev diqewime dema ku gavek veavakirinê ji dest tê, mafên guncan nayên dayîn, an di pelên vesazkirinê de xeletiyek piçûk çêdibe. Em ji we re pêşniyar dikin ku hûn dîsa gav bi gav rêwerzanan bi baldarî bixwînin, dibe ku we yek ji gavan winda kir. Ger tiştek ne alîkar be, dê ramanek baş be ku hûn OS-ê ji nû ve saz bikin û ji destpêkê ve hemî gavan bişopînin. Em pêşniyar dikin ku bikar bînin mînak li /cfg/3proxy.cfg.sample cih digire, wekî veavakirina ceribandinê, û pêş-sazkirî firewall-cmd wek firewall.
Serlêdanên
Pirsgirêka dawîn, lê ne kêmtir girîng bi hilanîna pelan ve girêdayî ye. 3proxy di dema sazkirinê de çend mb digire, lê mezinahî tenê bi têketinê bi derbasbûna demê re bi girîngî dikare zêde bibe. Rastî ev e ku gelek bikarhêner tomarkirina têketinê di pelek cûda de çalak dikin, lê zivirandinê saz nakin û têketinên negirêdayî jê nakin. Ji bo çareserkirina vê pirsgirêkê sê vebijark dikarin bêne bikar anîn:
- Têketinê çalak bike;
- Dem bi dem têketinên negirêdayî jêbirin;
- Zivirandinê çalak bike, wekî ku di veavakirina jorîn de hate kirin. Mînakî, "zivirandina 30" di pelê veavakirinê de tê vê wateyê ku 3proxy tenê 30 pelên herî dawî hilîne.
Xelasî
Sazkirin û mîhengkirina 3proxy li ser pergalên xebitandinê yên CentOS û ArchLinux karekî pir hêsan e, lê di heman demê de bi bandor e. Gotar gavên ji bo sazkirina pakêtên pêwîst, mîhengkirina pelên mîhengê, û destpêkirina karûbarê vedihewîne. Zanîna ku hatî bidestxistin dê bihêle ku hûn bêyî dijwarî servera proxy xwe bixwe saz bikin û mîheng bikin.