ఈ వ్యాసంలో మనం ArchLinux/CentOS ఆపరేటింగ్ సిస్టమ్ ద్వారా ఆధారితమైన డెడికేటెడ్ సర్వర్లో 3proxy కాన్ఫిగరేషన్ను చూపిస్తాము. 3proxy అత్యంత సంబంధిత మరియు క్రియాత్మక సాధనాల్లో ఒకటి. ఇది వివిధ రకాల ప్రోటోకాల్లకు మద్దతు ఇస్తుంది: HTTP, HTTPS, FTP, SOCKS మరియు ఇతరాలు. ఇది నిమిషాల వ్యవధిలో మీ స్వంత ప్రాక్సీ సర్వర్ను సెటప్ చేయడంలో మీకు సహాయపడుతుంది.
ఈ వ్యాసం యుటిలిటీ ఇన్స్టాలేషన్ మరియు దాని తదుపరి కాన్ఫిగరేషన్పై దశల వారీ మార్గదర్శకత్వాన్ని కలిగి ఉంది. అధికారిక మూలం నుండి ఇన్స్టాలేషన్, కాన్ఫిగరేషన్ ఫైల్లను సెటప్ చేయడం, ప్రామాణికం కాని పోర్ట్లను తెరవడం వంటి సమస్యలు పరిగణించబడతాయి, అలాగే సాధారణ లోపాలు వివరించబడ్డాయి మరియు వాటిని పరిష్కరించడానికి ఆచరణాత్మక సిఫార్సులు ఇవ్వబడ్డాయి. ప్రారంభించడానికి ముందు, మీరు తప్పనిసరిగా VP లను or అంకితమైన సర్వర్ CentOS లేదా ArchLinux ఆపరేటింగ్ సిస్టమ్ ద్వారా ఆధారితం. ఉదాహరణలోని అన్ని చర్యలు CentOS7 ఆపరేటింగ్ సిస్టమ్ ద్వారా ఆధారితమైన ఒక ప్రత్యేక స్టాటిక్ పబ్లిక్ IP చిరునామాతో కూడిన ప్రత్యేక సర్వర్లో నిర్వహించబడతాయి.
సంస్థాపన
దశ 1
3proxy నేరుగా మూలాల నుండి ఇన్స్టాల్ చేయబడింది. gcc కంపైలర్గా ఉపయోగించబడుతుంది. మనం సర్వర్కు రూట్ (సూపర్యూజర్)గా కనెక్ట్ చేసి కంపైలర్ను ఇన్స్టాల్ చేస్తాము.
yum install gcc
దశ 2
ఇప్పుడు 3proxy సోర్స్ ఫైల్స్ ని డౌన్లోడ్ చేసుకోవడం అవసరం. మీరు దీనికి వెళ్లడం ద్వారా దీన్ని చేయవచ్చు అధికారిక వెబ్సైట్ మరియు లింక్ను ప్రస్తుత వెర్షన్కు కాపీ చేయడం:
ఆర్కైవ్ చేసిన వెర్షన్ అవసరమైతే, మీరు లింక్ను నేరుగా డౌన్లోడ్ చేసుకోవచ్చు గ్యాలరీలు:
ఈ వ్యాసం రాసే సమయానికి, ప్రస్తుత వెర్షన్ 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
అవసరమైతే, మీరు రూట్ యూజర్ కోసం కాన్ఫిగరేషన్ ఫైల్లో అనుమతులను సెట్ చేయవచ్చు. ఈ దశ తప్పనిసరి కాదు, కానీ రక్షణను జోడిస్తుంది:
chmod 600 /etc/3proxy/3proxy.cfg
3ప్రాక్సీ కాన్ఫిగరేషన్
దశ 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లో సృష్టించబడిన వినియోగదారు పేరును తప్పనిసరిగా పేర్కొనాలి.
ఆ తరువాత మీరు ఈ కమాండ్ తో డీమన్ కాన్ఫిగరేషన్ ను అప్డేట్ చేయాలి:
systemctl daemon-reload
దశ 8
మనకు కావలసిందల్లా కాన్ఫిగర్ చేయబడిన 3ప్రాక్సీని ప్రారంభించడం, దానిని ఆటోస్టార్ట్కు జోడించడం మరియు ఫైర్వాల్లో పోర్ట్లను తెరవడం.
దీన్ని ఆటోస్టార్ట్కు జోడించి, ప్రారంభించి స్థితిని తనిఖీ చేయండి:
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ని మాత్రమే ఎంచుకోవాలని మేము మీకు సలహా ఇస్తున్నాము.
సేవ ప్రారంభం కాలేదు
అవసరమైన అన్ని కాన్ఫిగరేషన్ ఫైళ్లను సెటప్ చేసిన తర్వాత సేవ ప్రారంభం కాదు. కాన్ఫిగరేషన్ దశను కోల్పోయినప్పుడు, తగిన హక్కులు ఇవ్వబడనప్పుడు లేదా కాన్ఫిగరేషన్ ఫైళ్లలో చిన్న లోపం సంభవించినప్పుడు ఇది జరుగుతుంది. సూచనలను మళ్ళీ దశలవారీగా జాగ్రత్తగా అధ్యయనం చేయాలని మేము సిఫార్సు చేస్తున్నాము, బహుశా మీరు దశల్లో ఒకదాన్ని కోల్పోయి ఉండవచ్చు. ఏమీ సహాయం చేయకపోతే, OSని తిరిగి ఇన్స్టాల్ చేసి, ప్రారంభం నుండి అన్ని దశలను అనుసరించడం మంచిది. మేము దీన్ని ఉపయోగించమని సిఫార్సు చేస్తున్నాము నమూనా /cfg/3proxy.cfg.sample వద్ద, పరీక్షా కాన్ఫిగరేషన్గా మరియు ముందే ఇన్స్టాల్ చేయబడిన ఫైర్వాల్-cmd ఫైర్వాల్గా.
లాగింగ్
చివరిది, కానీ అంత ముఖ్యమైనది కాని విషయం ఫైల్ నిల్వకు సంబంధించినది. 3proxy ఇన్స్టాలేషన్ సమయంలో అనేక mb పడుతుంది, కానీ సమయం గడిచేకొద్దీ లాగింగ్ ద్వారా మాత్రమే పరిమాణాన్ని గణనీయంగా పెంచవచ్చు. వాస్తవం ఏమిటంటే చాలా మంది వినియోగదారులు ప్రత్యేక ఫైల్లో లాగ్ రికార్డింగ్ను ప్రారంభిస్తారు, కానీ భ్రమణాన్ని సెటప్ చేయరు మరియు అసంబద్ధమైన లాగ్లను తొలగించరు. ఈ సమస్య పరిష్కారం కోసం మూడు ఎంపికలను ఉపయోగించవచ్చు:
- లాగింగ్ను ప్రారంభించండి;
- కాలానుగుణంగా సంబంధం లేని లాగ్లను తొలగించండి;
- పైన ఉన్న కాన్ఫిగరేషన్లో చేసినట్లుగా, భ్రమణాన్ని ప్రారంభించండి. ఉదాహరణకు, కాన్ఫిగరేషన్ ఫైల్లోని "rotate 30" అంటే 3proxy తాజా 30 ఫైల్లను మాత్రమే నిల్వ చేస్తుంది.
ముగింపు
CentOS మరియు ArchLinux ఆపరేటింగ్ సిస్టమ్లలో 3proxyని ఇన్స్టాల్ చేయడం మరియు కాన్ఫిగర్ చేయడం చాలా సులభం, కానీ అదే సమయంలో ప్రభావవంతమైన పని. అవసరమైన ప్యాకేజీలను ఇన్స్టాల్ చేయడానికి, కాన్ఫిగరేషన్ ఫైల్లను కాన్ఫిగర్ చేయడానికి మరియు సేవను ప్రారంభించడానికి దశలను వ్యాసం కవర్ చేసింది. పొందిన జ్ఞానం మీ ప్రాక్సీ సర్వర్ను ఎటువంటి ఇబ్బందులు లేకుండా మీరే ఇన్స్టాల్ చేసుకోవడానికి మరియు కాన్ఫిగర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.