මෙම ලිපියෙන් අපි ArchLinux/CentOS මෙහෙයුම් පද්ධතිය මගින් බල ගැන්වෙන කැපවූ සේවාදායකයක 3proxy වින්යාසය පෙන්වමු. 3proxy යනු වඩාත් අදාළ සහ ක්රියාකාරී මෙවලම් වලින් එකකි. එය විවිධ ආකාරයේ ප්රොටෝකෝල සඳහා සහය දක්වයි: HTTP, HTTPS, FTP, SOCKS, සහ වෙනත්. මිනිත්තු කිහිපයකින් ඔබේම ප්රොක්සි සේවාදායකයක් සැකසීමට එය ඔබට උපකාරී වනු ඇත.
උපයෝගිතා ස්ථාපනය සහ එහි වැඩිදුර වින්යාසය පිළිබඳ පියවරෙන් පියවර මාර්ගෝපදේශ ලිපියේ අඩංගු වේ. නිල මූලාශ්රයකින් ස්ථාපනය කිරීම, වින්යාස ගොනු සැකසීම, සම්මත නොවන වරායන් විවෘත කිරීම වැනි ගැටළු සලකා බලනු ලබන අතර, පොදු දෝෂ විස්තර කර ඇති අතර ඒවා විසඳීම සඳහා ප්රායෝගික නිර්දේශ ලබා දී ඇත. දියත් කිරීමට පෙර, ඔබ ඇණවුම් කළ යුතුය VPS or කැපවූ සේවාදායකයක් CentOS හෝ ArchLinux මෙහෙයුම් පද්ධතිය මගින් බල ගැන්වේ. උදාහරණයේ ඇති සියලුම ක්රියා සිදු කරනු ලබන්නේ CentOS7 මෙහෙයුම් පද්ධතිය මගින් බල ගැන්වෙන කැපවූ සේවාදායකයක් මත වන අතර එය එක් කැපවූ ස්ථිතික පොදු IP ලිපිනයක් සමඟින් සිදු කෙරේ.
ස්ථාපනය
පියවර 1
3proxy ස්ථාපනය කර ඇත්තේ මූලාශ්රවලින් සෘජුවම ය. gcc සම්පාදකය ලෙස භාවිතා කරනු ඇත. අපි root (superuser) ලෙස සේවාදායකයට සම්බන්ධ වී සම්පාදකය ස්ථාපනය කරමු.
yum install gcc
පියවර 2
දැන් 3proxy මූලාශ්ර ගොනු බාගත කිරීම අවශ්ය වේ. ඔබට මෙය කළ හැක්කේ නිල වෙබ් අඩවිය සහ සබැඳිය වත්මන් අනුවාදයට පිටපත් කිරීම:
සංරක්ෂිත අනුවාදයක් අවශ්ය නම්, ඔබට සබැඳිය කෙලින්ම බාගත කළ හැකිය GitHub:
මෙම ලිපිය ලියන අවස්ථාව වන විට, වත්මන් අනුවාදය 0.9.3 වේ. එය බාගත කර වහාම එය ඉවත් කරන්න:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
පියවර 3
ඇසුරුම් නොකළ ව්යාපෘතිය සහිත නාමාවලිය වෙත ගොස් සම්පාදනය කරන්න:
cd 3proxy-0.9.3/
make -f Makefile.Linux
පියවර 4
අපි නාමාවලි සාදා 3proxy ගොනුව /usr/bin වෙත පිටපත් කරමු:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
පියවර 5
අපි නාමාවලිය සමඟ වැඩ කිරීමට පරිශීලකයෙකු නිර්මාණය කරමු. මෙම අවස්ථාවේදී පරිශීලක නාමය වන්නේ 3ප්රොක්සි පරිශීලක:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
නිර්මාණය කරන ලද පරිශීලකයාට නාමාවලි සමඟ වැඩ කිරීමේ අයිතිය අපි ලබා දෙමු:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
දැන් අපි විධානය භාවිතා කර වින්යාස ගොනුවක් නිර්මාණය කරමු:
touch /etc/3proxy/3proxy.cfg
අවශ්ය නම්, ඔබට root පරිශීලකයා සඳහා වින්යාස ගොනුවේ අවසර සැකසිය හැක. මෙම පියවර අනිවාර්ය නොවේ, නමුත් ආරක්ෂාව එකතු කරනු ඇත:
chmod 600 /etc/3proxy/3proxy.cfg
3proxy වින්යාසය
පියවර 6
කලින් නිර්මාණය කරන ලද වින්යාස ගොනුව නිවැරදිව පිරවීම අවශ්ය වේ. පළමුව, විධානය මඟින් පරිශීලකයාගේ uid සහ gid සොයා ගන්න:
id 3proxyuser
අපගේ නඩුවේදී, මේවා පහත අගයන් වේ:
වින්යාස ගොනුව පිරවීම සඳහා, ඔබට සූදානම් කළ වින්යාසයන් ගත හැකිය, නැතහොත් භාවිතා කළ හැකිය ලේඛගතකිරීම නිල වෙබ් අඩවියේ. උදාහරණයක් සහිත ගොනුවක් පෙරනිමියෙන් දැනටමත් පෙර ස්ථාපනය කර ඇත; ඔබට එය මාර්ගය ඔස්සේ සොයාගත හැකිය: /cfg/3proxy.cfg.නියැදිය
උදාහරණයක් ලෙස, අපි වින්යාස වර්ග 2ක් සලකා බලමු: ලොග් වීම සමඟ සහ නැතිව. සෑම පේළියක්ම අදහස් දැක්වීම් සමඟ ඇත (ඒවා "#" සංකේතයෙන් සලකුණු කර ඇත).
මෙය සූදානම් කළ වින්යාසයකට උදාහරණයකි. ලොග් වීමකින් තොරව:
# 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
අපි ලොග් වීමකින් තොරව වින්යාස ගොනුවක විකල්පය සලකා බැලුවෙමු. දැන් අපි වින්යාස ගොනුවක් නිර්මාණය කරමු ලොග් වීම සහ පරිශීලක අවසරය; එය පසුව සේවාදායක සැකසුම අතරතුර භාවිතා කරනු ඇත..
සම්මත නොවන වරායන් මත පවා සේවාදායකය අනාවරණය කර ගත හැකි බැවින්, ඔබ අවසර තොරතුරු ලබා දීමට වග බලා ගන්න..
# 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
මෙය ප්රධාන වින්යාස ගොනුවේ සැකසුම සම්පූර්ණ කරයි. අපි අවසාන අදියර වෙත ගොස් දියත් කරමු.
පියවර 7
systemd සඳහා ආරම්භක ගොනුවක් සාදන්න:
touch /etc/systemd/system/3proxy.service
අවශ්ය අයිතිවාසිකම් නිකුත් කරන්න:
chmod 664 /etc/systemd/system/3proxy.service
පහත අගයන් ගොනුවට පිටපත් කර අලවා සුරකින්න:
[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»
කරුණාකර සටහන් කර ගන්න: "ExecStop" අගයෙහි ඔබ පියවර අංක 5 හි නිර්මාණය කරන ලද පරිශීලක නාමය සඳහන් කළ යුතුය.
ඉන්පසු ඔබට විධානය සමඟ Daemon වින්යාසය යාවත්කාලීන කිරීමට අවශ්ය වේ:
systemctl daemon-reload
පියවර 8
අපට අවශ්ය වන්නේ වින්යාස කරන ලද 3proxy දියත් කිරීම, එය ස්වයංක්රීය ආරම්භයට එක් කිරීම සහ ෆයර්වෝලයේ ports විවෘත කිරීම පමණි.
එය ස්වයංක්රීය ආරම්භයට එක් කරන්න, දියත් කර තත්ත්වය පරීක්ෂා කරන්න:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
තත්ත්වය පරීක්ෂා කිරීමෙන් පසු, 3proxy සාර්ථකව දියත් කර ඇති බවට තොරතුරු අපට පෙනේ:
ඉතිරිව ඇත්තේ වරායන් විවෘත කිරීම පමණි:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
අවශ්ය නම්, සේවාදායකය නැවත ආරම්භ කරන්න. පහත විධානය සමඟ තොටුපළ විවෘතව තිබේදැයි පරීක්ෂා කළ හැකිය:
firewall-cmd --list-all
කුමක් විය යුතුද:
අපට පෙනෙන පරිදි, වරායන් දෙකම සාර්ථකව විවෘත කර ඇති අතර ඒවාට සවන් දෙමින් පවතී. http සම්බන්ධතාවය පළමු වරායේ ඇත, මේස් දෙවන වරායේ ඇත.
ඕනෑම පහසු සේවාවක් හරහා සම්බන්ධතාවය පරීක්ෂා කරන්න:
සියල්ල ක්රියාත්මකයි. අපේ පැත්තෙන්, අපි පිවිසුම්/මුරපද අවසරයකින් තොරව මෙන්ම සම්මත වරායන් කට්ටලයක් සමඟ අනාරක්ෂිත සම්බන්ධතාවයක් භාවිතා කිරීම නිර්දේශ නොකරමු.. වින්යාස ගොනුව සකසන අතරතුර, පිවිසුමක් සඳහන් කර සංකීර්ණ මුරපදයක් නිර්මාණය කිරීමට වග බලා ගන්න, එසේම වරායන් සම්මත නොවන ඒවාට වෙනස් කරන්න.. සුවිශේෂී අවස්ථාවන්හිදී, IP ලිපින අවසරය භාවිතා කළ හැකිය.
පොදු ගැටළු
යමක් වැරදී ඇති අතර ප්රොක්සිය ක්රියා නොකරයිද? සමහරවිට 3proxy වින්යාසය වැරදි ලෙස සිදු කර ඇත. උපයෝගීතාව ස්ථාපනය කිරීමේදී සහ වින්යාස කිරීමේදී වඩාත් පොදු ගැටළු සහ ඒවාට විසඳුම් සලකා බලමු.
සම්බන්ධයක් නැත
බොහෝ පරිශීලකයින් සඳහා වඩාත් පොදු ගැටළුව වන්නේ වින්යාස ගොනු නිවැරදිව වින්යාස කර ඇති බව පෙනෙන විට ප්රවේශ විය නොහැකි සම්බන්ධතාවයකි. සියලුම සැකසුම් නිවැරදිව වින්යාස කර ඇති බව ඔබට විශ්වාස නම්, සත්කාරක සැපයුම්කරු තෝරාගත් වරාය සීමා නොකරන අතර සියලුම දත්ත ක්රියාකාරී සේවාවක් දක්වයි නම්, ගැටළුව ෆයර්වෝල් තුළ විය හැකිය, නැතහොත්, වඩාත් නිවැරදිව, එහි වැරදි වින්යාසය විය හැකිය. උදාහරණයක් ලෙස, පද්ධතිය තුළ එකිනෙකට ගැටෙන වැඩසටහන් දෙකකට වඩා ස්ථාපනය කර තිබිය හැකිය. ගැටළුව විසඳීම සඳහා, එක් විශේෂිත ෆයර්වෝල් එකක් භාවිතා කිරීම ප්රමාණවත් වේ. iptables හෝ firewall-cmd පමණක් තෝරා ගැනීමට අපි ඔබට උපදෙස් දෙමු.
සේවාව ආරම්භ නොවේ
අවශ්ය සියලුම වින්යාස ගොනු සැකසීමෙන් පසු සේවාව ආරම්භ නොවේ. වින්යාස පියවරක් මග හැරුණු විට, සුදුසු අයිතිවාසිකම් ලබා නොදුන් විට හෝ වින්යාස ගොනු වල සුළු දෝෂයක් සිදු වූ විට මෙය සිදු වේ. පියවරෙන් පියවර උපදෙස් නැවත ප්රවේශමෙන් අධ්යයනය කරන ලෙස අපි නිර්දේශ කරමු, සමහර විට ඔබට එක් පියවරක් මග හැරී ඇත. කිසිවක් උදව් නොකළහොත්, මෙහෙයුම් පද්ධතිය නැවත ස්ථාපනය කර ආරම්භයේ සිටම සියලු පියවර අනුගමනය කිරීම හොඳ අදහසකි. අපි භාවිතා කිරීම නිර්දේශ කරමු ආදර්ශ පරීක්ෂණ වින්යාසයක් ලෙස /cfg/3proxy.cfg.sample හි පිහිටා ඇති අතර, පෙර ස්ථාපනය කර ඇත firewall-cmd ෆයර්වෝලයක් ලෙස.
ලොග් වීම
අවසාන, නමුත් නොඅඩු වැදගත් ගැටළුව ගොනු ගබඩා කිරීම හා සම්බන්ධයි. ස්ථාපනය අතරතුර 3proxy සඳහා mb කිහිපයක් ගත වේ, නමුත් ප්රමාණය සැලකිය යුතු ලෙස වැඩි කළ හැක්කේ කාලයත් සමඟ ලොග් වීම හරහා පමණි. කාරණය නම් බොහෝ පරිශීලකයින් වෙනම ගොනුවක ලොග් පටිගත කිරීම සක්රීය කරන නමුත් භ්රමණය සැකසීම නොකරන අතර අදාළ නොවන ලොග් මකා නොදමති. මෙම ගැටළුව විසඳීම සඳහා විකල්ප තුනක් භාවිතා කළ හැකිය:
- ලොග් වීම සක්රීය කරන්න;
- අදාළ නොවන ලොග් වරින් වර මකා දමන්න;
- ඉහත වින්යාසයේදී සිදු කළ පරිදි, භ්රමණය සක්රීය කරන්න. උදාහරණයක් ලෙස, වින්යාස ගොනුවේ "rotate 30" යන්නෙන් අදහස් වන්නේ 3proxy නවතම ගොනු 30 පමණක් ගබඩා කරන බවයි.
නිගමනය
CentOS සහ ArchLinux මෙහෙයුම් පද්ධති මත 3proxy ස්ථාපනය කිරීම සහ වින්යාස කිරීම තරමක් සරල නමුත් ඒ සමඟම ඵලදායී කාර්යයකි. අවශ්ය පැකේජ ස්ථාපනය කිරීම, වින්යාස ගොනු වින්යාස කිරීම සහ සේවාව දියත් කිරීම සඳහා පියවර ලිපියෙන් ආවරණය කරන ලදී. ලබාගත් දැනුම ඔබට කිසිදු දුෂ්කරතාවයකින් තොරව ඔබේ ප්රොක්සි සේවාදායකය ස්ථාපනය කර වින්යාස කිරීමට ඉඩ සලසයි.