या लेखात आपण ArchLinux/CentOS ऑपरेटिंग सिस्टमद्वारे समर्थित समर्पित सर्व्हरवर 3proxy कॉन्फिगरेशन दाखवू. 3proxy हे सर्वात संबंधित आणि कार्यात्मक साधनांपैकी एक आहे. ते विविध प्रकारच्या प्रोटोकॉलना समर्थन देते: HTTP, HTTPS, FTP, SOCKS आणि इतर. हे तुम्हाला काही मिनिटांत तुमचा स्वतःचा प्रॉक्सी सर्व्हर सेट करण्यास मदत करेल.
लेखात युटिलिटी इंस्टॉलेशन आणि त्याच्या पुढील कॉन्फिगरेशनबद्दल चरण-दर-चरण मार्गदर्शन आहे. अधिकृत स्रोताकडून इंस्टॉलेशन, कॉन्फिगरेशन फाइल्स सेट करणे, नॉन-स्टँडर्ड पोर्ट उघडणे यासारख्या समस्यांचा विचार केला जातो, तसेच सामान्य त्रुटींचे वर्णन केले जाते आणि त्या सोडवण्यासाठी व्यावहारिक शिफारसी दिल्या जातात. लाँच करण्यापूर्वी, तुम्ही ऑर्डर करणे आवश्यक आहे VPS or समर्पित सर्व्हर CentOS किंवा ArchLinux ऑपरेटिंग सिस्टमद्वारे समर्थित. उदाहरणातील सर्व क्रिया CentOS7 ऑपरेटिंग सिस्टमद्वारे समर्थित एका समर्पित सर्व्हरवर केल्या जातील ज्यावर एक समर्पित स्थिर सार्वजनिक IP पत्ता असेल.
स्थापना
पाऊल 1
3प्रॉक्सी थेट स्त्रोतांकडून स्थापित केले जाते. जीसीसी कंपायलर म्हणून वापरले जाईल. आपण सर्व्हरशी रूट (सुपरयुजर) म्हणून कनेक्ट करतो आणि कंपायलर स्थापित करतो.
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
कॅटलॉगसह काम करण्यासाठी आम्ही एक वापरकर्ता तयार करतो. या प्रकरणात वापरकर्तानाव आहे ३ प्रॉक्सीयुजर:
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.नमुना
उदाहरण म्हणून, आपण २ प्रकारच्या कॉन्फिगरेशनचा विचार करू: लॉगिंगसह आणि त्याशिवाय. प्रत्येक ओळीसोबत टिप्पण्या असतील (त्या “#” चिन्हाने चिन्हांकित केल्या असतील).
हे रेडीमेड कॉन्फिगरेशनचे उदाहरण आहे. लॉगिंग न करता:
# 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 निवडण्याचा सल्ला देतो.
सेवा सुरू होत नाही.
सर्व आवश्यक कॉन्फिगरेशन फाइल्स सेट केल्यानंतरही सेवा सुरू होत नाही. जेव्हा कॉन्फिगरेशन पायरी चुकते, योग्य अधिकार दिले जात नाहीत किंवा कॉन्फिगरेशन फाइल्समध्ये एक किरकोळ त्रुटी येते तेव्हा असे होते. आम्ही शिफारस करतो की तुम्ही चरण-दर-चरण सूचनांचा काळजीपूर्वक अभ्यास करा, कदाचित तुम्ही एक पायरी चुकवली असेल. जर काहीही मदत करत नसेल, तर ओएस पुन्हा स्थापित करणे आणि सुरुवातीपासून सर्व पायऱ्या फॉलो करणे चांगले राहील. आम्ही शिफारस करतो की नमुना /cfg/3proxy.cfg.sample वर स्थित, चाचणी कॉन्फिगरेशन म्हणून, आणि पूर्व-स्थापित firewall-cmd फायरवॉल म्हणून.
लॉग
शेवटचा, पण तितकाच महत्त्वाचा मुद्दा फाइल स्टोरेजशी संबंधित आहे. 3proxy इंस्टॉलेशन दरम्यान अनेक mb घेते, परंतु वेळ निघून गेल्याने लॉगिंगद्वारेच आकार लक्षणीयरीत्या वाढवता येतो. वस्तुस्थिती अशी आहे की बरेच वापरकर्ते वेगळ्या फाइलमध्ये लॉग रेकॉर्डिंग सक्षम करतात, परंतु रोटेशन सेट करत नाहीत आणि असंबद्ध लॉग हटवत नाहीत. या समस्येचे निराकरण करण्यासाठी तीन पर्याय वापरले जाऊ शकतात:
- लॉगिंग सक्षम करा;
- वेळोवेळी असंबद्ध नोंदी हटवा;
- वरील कॉन्फिगरेशनमध्ये केल्याप्रमाणे रोटेशन सक्षम करा. उदाहरणार्थ, कॉन्फिगरेशन फाइलमध्ये "रोटेट ३०" म्हणजे ३प्रॉक्सी फक्त नवीनतम ३० फायली संग्रहित करेल.
निष्कर्ष
CentOS आणि ArchLinux ऑपरेटिंग सिस्टीमवर 3proxy स्थापित करणे आणि कॉन्फिगर करणे हे अगदी सोपे आहे, परंतु त्याच वेळी प्रभावी कार्य आहे. लेखात आवश्यक पॅकेजेस स्थापित करण्यासाठी, कॉन्फिगरेशन फाइल्स कॉन्फिगर करण्यासाठी आणि सेवा सुरू करण्यासाठी चरणांचे वर्णन केले आहे. मिळवलेले ज्ञान तुम्हाला कोणत्याही अडचणीशिवाय तुमचा प्रॉक्सी सर्व्हर स्वतः स्थापित आणि कॉन्फिगर करण्यास अनुमती देईल.