Zanîngeh Rêbernameyên hêsan ên ku bi karûbarê Profitserver re bixebitin
Ser Zanîngeh 3 veavakirina proxy li ser CentOS / ArchLinux

3 veavakirina proxy li ser CentOS / ArchLinux


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êbernameya gav bi gav li ser sazkirina amûrê û mîhengkirina wê ya din dihewîne. Pirsgirêkên wekî sazkirin ji çavkaniyek fermî, sazkirina pelên mîhengkirinê, vekirina portên ne-standard têne nirxandin, û her weha xeletiyên hevpar têne vegotin û pêşniyarên pratîkî ji bo çareserkirina wan têne dayîn. Berî destpêkirinê, divê hûn VPS an serverek taybetî ku ji hêla pergala xebitandinê ya CentOS an ArchLinux ve tê xebitandin siparîş bikin. Hemî çalakiyên di mînakê de dê li ser serverek taybetî ku ji hêla pergala xebitandinê ya CentOS7 ve tê xebitandin bi yek navnîşana IP-ya statîk a giştî ya taybetî ve werin kirin.

Lêkirinî

1 Step

3proxy rasterast ji çavkaniyan tê sazkirin. gcc dê wekî kompîlator were bikar anîn. Em wekî root (superuser) bi serverê ve girêdidin û kompîlatorê saz dikin.

yum install gcc

2 Step

Niha pêdivî ye ku pelên çavkaniya 3proxy dakêşin. Hûn dikarin vê yekê bi çûna malpera fermî û kopîkirina lînka guhertoya heyî bikin:

2-1

Heke guhertoyek arşîvkirî hewce be, hûn dikarin girêdanê rasterast ji GitHub-ê dakêşin :

Github 3proxy

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 çêdikin da ku bi katalogê re bixebite. Di vê rewşê de navê bikarhêner 3proxyuser e:

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 pêwîst be, hûn dikarin destûrên li ser pelê mîhengkirinê ji bo bikarhênerê root destnîşan bikin. 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:

uid û gid 3proxy

Ji bo dagirtina pelê mîhengkirinê, hûn dikarin mîhengên amade bigirin an jî belgeyên li ser malpera fermî bikar bînin. Her wiha pelek bi mînakek bi xweber jixwe hatî sazkirin; hûn dikarin wê li ser rê bibînin: /cfg/3proxy.cfg.sample

Wekî mînak, em ê du cureyên mîhengkirinê binirxînin: bi tomarkirinê û bê tomarkirinê . Her rêz dê bi şîroveyan re were (ew bi sembola "#" têne nîşankirin).

Ev mînakek ji konfigurasyonek amade bêyî têketinê ye :

# 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ê mîhengkirinê bêyî qeydkirinê nirxand. Niha em ê pelê mîhengkirinê bi qeydkirin û destûra bikarhêner biafirînin ; ew ê paşê di dema sazkirina serverê de were bikar anîn.

Piştrast bike ku tu agahdariya destûrdayînê peyda dikî, 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 5-an de hatiye afirandin 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:

Karê 3-proxy

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:

firewall

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:

1-1

Her tişt dixebite. Ji aliyê me ve, em pêşniyar nakin ku hûn girêdanek bê ewle bêyî destûra têketin/şîfreyê, û her weha bi komek portên standard bikar bînin . Dema ku hûn pelê mîhengkirinê saz dikin, pê ewle bin ku hûn têketinek diyar dikin û şîfreyek tevlihev diafirînin, û her weha portan biguherînin yên ne-standard . Di rewşên awarte de, gengaz e ku hûn destûra navnîşana IP-ê bikar bînin.

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

Xizmet piştî sazkirina hemî pelên mîhengkirinê yên pêwîst dest pê nake. Ev diqewime dema ku gaveke mîhengkirinê ji dest tê dayîn, mafên guncaw nayên dayîn, an jî di pelên mîhengkirinê de xeletiyek piçûk çêdibe. Em pêşniyar dikin ku hûn rêwerzan gav bi gav dîsa bi baldarî bixwînin, dibe ku we yek ji gavan ji dest dabe. Ger tiştek nebe alîkar, dê baş be ku hûn OS-ê ji nû ve saz bikin û hemî gavan ji destpêkê ve bişopînin. Em pêşniyar dikin ku nimûneya ku li /cfg/3proxy.cfg.sample-ê ye, wekî mîhengkirina ceribandinê, û cmd-ya firewall-ê ya pêş-sazkirî wekî dîwarê agir bikar bînin.

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:

  1. Têketinê çalak bike;
  2. Dem bi dem têketinên negirêdayî jêbirin;
  3. 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.


Li ser VPS-ê ji me bipirsin

Em her dem amade ne ku di her wextê rojê û şevê de bersiva pirsên we bidin.