या लेखात आपण ArchLinux/CentOS ऑपरेटिंग सिस्टमद्वारे समर्थित समर्पित सर्व्हरवर 3proxy कॉन्फिगरेशन दाखवू. 3proxy हे सर्वात संबंधित आणि कार्यात्मक साधनांपैकी एक आहे. ते विविध प्रकारच्या प्रोटोकॉलना समर्थन देते: HTTP, HTTPS, FTP, SOCKS आणि इतर. हे तुम्हाला काही मिनिटांत तुमचा स्वतःचा प्रॉक्सी सर्व्हर सेट करण्यास मदत करेल.
या लेखात युटिलिटी इन्स्टॉलेशन आणि त्याच्या पुढील कॉन्फिगरेशनसाठी टप्प्याटप्प्याने मार्गदर्शन दिलेले आहे. अधिकृत स्रोतावरून इन्स्टॉलेशन, कॉन्फिगरेशन फाइल्स सेट करणे, नॉन-स्टँडर्ड पोर्ट्स उघडणे यांसारख्या बाबींचा विचार केला आहे, तसेच सामान्य त्रुटींचे वर्णन केले आहे आणि त्या सोडवण्यासाठी व्यावहारिक शिफारसी दिल्या आहेत. सुरू करण्यापूर्वी, तुम्हाला CentOS किंवा ArchLinux ऑपरेटिंग सिस्टीमवर चालणारा VPS किंवा डेडिकेटेड सर्व्हर ऑर्डर करणे आवश्यक आहे . उदाहरणातील सर्व क्रिया CentOS7 ऑपरेटिंग सिस्टीमवर चालणाऱ्या आणि एक समर्पित स्टॅटिक पब्लिक आयपी ॲड्रेस असलेल्या डेडिकेटेड सर्व्हरवर केल्या जातील.
स्थापना
पाऊल 1
3proxy थेट सोर्समधून इन्स्टॉल केले जाते. कंपायलर म्हणून gcc वापरला जाईल. आम्ही रूट (सुपरयुझर) म्हणून सर्व्हरला कनेक्ट करतो आणि कंपायलर इन्स्टॉल करतो.
yum install gcc
पाऊल 2
आता 3proxy सोर्स फाईल्स डाउनलोड करणे आवश्यक आहे. तुम्ही अधिकृत वेबसाईटवर जाऊन सध्याच्या आवृत्तीची लिंक कॉपी करून हे करू शकता:
जर संग्रहित आवृत्तीची आवश्यकता असेल, तर तुम्ही थेट GitHub वरून लिंक डाउनलोड करू शकता :
हा लेख लिहिताना, सध्याची आवृत्ती ०.९.३ आहे. ती डाउनलोड करा आणि लगेच अनपॅक करा:
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
आम्ही कॅटलॉगसोबत काम करण्यासाठी एक युझर तयार करतो. या प्रकरणात युझरनेम 3proxyuser आहे:
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
३प्रॉक्सी कॉन्फिगरेशन
पाऊल 6
आधी तयार केलेली कॉन्फिगरेशन फाइल योग्यरित्या भरणे आवश्यक आहे. प्रथम, खालील आदेशाद्वारे वापरकर्त्याचा uid आणि gid शोधा:
id 3proxyuser
आमच्या बाबतीत ही खालील मूल्ये आहेत:
कॉन्फिगरेशन फाईल भरण्यासाठी, तुम्ही तयार कॉन्फिगरेशन्स घेऊ शकता किंवा अधिकृत वेबसाइटवरील डॉक्युमेंटेशनचा वापर करू शकता . तसेच, उदाहरणासह एक फाईल डीफॉल्टनुसार आधीच इन्स्टॉल केलेली आहे; ती तुम्हाला या पाथवर मिळेल: /cfg/3proxy.cfg.sample
उदाहरण म्हणून, आपण लॉगिंगसह आणि लॉगिंगशिवाय अशा २ प्रकारच्या कॉन्फिगरेशनचा विचार करू . प्रत्येक ओळीसोबत टिप्पण्या असतील (त्या “#” चिन्हाने दर्शविल्या आहेत).
हे लॉगिंगशिवाय असलेल्या तयार कॉन्फिगचे एक उदाहरण आहे :
# 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
सिस्टमडीसाठी इनिशिएलायझेशन फाइल तयार करा:
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” व्हॅल्यूमध्ये तुम्हाला पायरी क्र. ५ मध्ये तयार केलेले युझरनेम नमूद करणे आवश्यक आहे.
त्यानंतर तुम्हाला खालील आदेशासह डेमन कॉन्फिगरेशन अपडेट करावे लागेल:
systemctl daemon-reload
पाऊल 8
आपल्याला फक्त कॉन्फिगर केलेली 3 प्रॉक्सी लाँच करायची आहे, ती ऑटोस्टार्टमध्ये जोडायची आहे आणि फायरवॉलमध्ये पोर्ट उघडायचे आहेत.
ते ऑटोस्टार्टमध्ये जोडा, लाँच करा आणि स्थिती तपासा:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
स्थिती तपासल्यानंतर, आम्हाला माहिती दिसते की 3 प्रॉक्सी यशस्वीरित्या लाँच झाली आहे:
फक्त पोर्ट उघडणे बाकी आहे:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
आवश्यक असल्यास, सर्व्हर रीबूट करा. खालील आदेश वापरून पोर्ट उघडे आहेत की नाही हे तपासणे शक्य आहे:
firewall-cmd --list-all
काय असावे:
जसे आपण पाहू शकतो की, दोन्ही पोर्ट यशस्वीरित्या उघडले गेले आहेत आणि ते ऐकले जात आहेत. http कनेक्शन पहिल्या पोर्टवर आहे, तर सॉक्स दुसऱ्या पोर्टवर आहे.
कोणत्याही सोयीस्कर सेवेद्वारे कनेक्शन तपासा:
सर्वकाही कार्यरत आहे. आमच्या मते, लॉगिन/पासवर्ड अधिकृततेशिवाय, तसेच मानक पोर्ट्सच्या संचासह असुरक्षित कनेक्शन वापरण्याची आम्ही शिफारस करत नाही . कॉन्फिगरेशन फाइल सेट करताना, लॉगिन निर्दिष्ट करा आणि एक जटिल पासवर्ड तयार करा, तसेच पोर्ट्स गैर-मानक पोर्ट्समध्ये बदला . अपवादात्मक परिस्थितीत, आयपी ॲड्रेस अधिकृतता वापरणे शक्य आहे.
सामान्य समस्या
काहीतरी चूक झाली आणि प्रॉक्सी काम करत नाहीये? कदाचित 3प्रॉक्सी कॉन्फिगरेशन चुकीच्या पद्धतीने केले गेले असेल. युटिलिटी इन्स्टॉल आणि कॉन्फिगर करताना येणाऱ्या सर्वात सामान्य समस्या आणि त्यांचे उपाय पाहूया.
कनेक्शन नाही
अनेक वापरकर्त्यांसाठी सर्वात सामान्य समस्या म्हणजे कॉन्फिगरेशन फाइल्स योग्यरित्या कॉन्फिगर केल्या गेल्यावर कनेक्शनमध्ये प्रवेश न करणे. जर तुम्हाला खात्री असेल की सर्व सेटिंग्ज योग्यरित्या कॉन्फिगर केल्या गेल्या आहेत, तर होस्टिंग प्रदाता निवडलेल्या पोर्टवर मर्यादा घालत नाही आणि सर्व डेटा कार्यरत सेवा दर्शवितो, तर समस्या फायरवॉलमध्ये असू शकते, किंवा अधिक स्पष्टपणे, त्याचे चुकीचे कॉन्फिगरेशन असू शकते. उदाहरणार्थ, सिस्टमवर दोनपेक्षा जास्त प्रोग्राम स्थापित केले जाऊ शकतात जे एकमेकांशी संघर्ष करतील. समस्येचे निराकरण करण्यासाठी, एक विशिष्ट फायरवॉल वापरणे पुरेसे आहे. आम्ही तुम्हाला फक्त iptables किंवा firewall-cmd निवडण्याचा सल्ला देतो.
सेवा सुरू होत नाही.
सर्व आवश्यक कॉन्फिगरेशन फाइल्स सेट केल्यानंतरही सेवा सुरू होत नाही. असे तेव्हा घडते जेव्हा कॉन्फिगरेशनची एखादी पायरी चुकते, योग्य अधिकार दिलेले नसतात किंवा कॉन्फिगरेशन फाइल्समध्ये एखादी छोटी चूक झालेली असते. आम्ही तुम्हाला पुन्हा एकदा सूचनांचा टप्प्याटप्प्याने काळजीपूर्वक अभ्यास करण्याची शिफारस करतो, कदाचित तुमच्याकडून एखादी पायरी चुकली असेल. जर कशानेही मदत झाली नाही, तर OS पुन्हा इन्स्टॉल करणे आणि सुरुवातीपासून सर्व पायऱ्यांचे अनुसरण करणे हा एक चांगला उपाय ठरेल. आम्ही चाचणी कॉन्फिगरेशन म्हणून /cfg/3proxy.cfg.sample येथे असलेले सॅम्पल आणि फायरवॉल म्हणून प्री-इन्स्टॉल्ड firewall-cmd वापरण्याची शिफारस करतो.
लॉग
शेवटचा, पण तितकाच महत्त्वाचा मुद्दा फाइल स्टोरेजशी संबंधित आहे. 3proxy इंस्टॉलेशन दरम्यान अनेक mb घेते, परंतु वेळ निघून गेल्याने लॉगिंगद्वारेच आकार लक्षणीयरीत्या वाढवता येतो. वस्तुस्थिती अशी आहे की बरेच वापरकर्ते वेगळ्या फाइलमध्ये लॉग रेकॉर्डिंग सक्षम करतात, परंतु रोटेशन सेट करत नाहीत आणि असंबद्ध लॉग हटवत नाहीत. या समस्येचे निराकरण करण्यासाठी तीन पर्याय वापरले जाऊ शकतात:
- लॉगिंग सक्षम करा;
- वेळोवेळी असंबद्ध नोंदी हटवा;
- वरील कॉन्फिगरेशनमध्ये केल्याप्रमाणे रोटेशन सक्षम करा. उदाहरणार्थ, कॉन्फिगरेशन फाइलमध्ये "रोटेट ३०" म्हणजे ३प्रॉक्सी फक्त नवीनतम ३० फायली संग्रहित करेल.
निष्कर्ष
CentOS आणि ArchLinux ऑपरेटिंग सिस्टीमवर 3proxy स्थापित करणे आणि कॉन्फिगर करणे हे अगदी सोपे आहे, परंतु त्याच वेळी प्रभावी कार्य आहे. लेखात आवश्यक पॅकेजेस स्थापित करण्यासाठी, कॉन्फिगरेशन फाइल्स कॉन्फिगर करण्यासाठी आणि सेवा सुरू करण्यासाठी चरणांचे वर्णन केले आहे. मिळवलेले ज्ञान तुम्हाला कोणत्याही अडचणीशिवाय तुमचा प्रॉक्सी सर्व्हर स्वतः स्थापित आणि कॉन्फिगर करण्यास अनुमती देईल.