कैसे सेटअप करें " विद्रूप प्रॉक्सी " उबंटू और डेबियन पर सर्वर


स्क्विड एक सबसे लोकप्रिय कैशिंग है और फॉरवर्डिंग HTTP वेब प्रॉक्सी सर्वर ने वेब सर्वर से वेब पेजों को कैश करने, वेब सर्वर की गति को बेहतर बनाने, प्रतिक्रिया समय को कम करने और नेटवर्क बैंडविड्थ के उपयोग को कम करने के लिए कंपनियों की मेरी विस्तृत श्रृंखला का उपयोग किया है।

इस लेख में, हम बताएंगे कि Ubuntu और डेबियन वितरण पर एक स्क्विड प्रॉक्सी सर्वर कैसे स्थापित करें और इसे HTTP प्रॉक्सी सर्वर के रूप में उपयोग करें।

उबंटू पर स्क्वीड कैसे स्थापित करें

शुरू करने से पहले, आपको पता होना चाहिए कि स्क्वीड सर्वर की कोई आवश्यकता नहीं है, लेकिन रैम उपयोग की मात्रा प्रॉक्सी सर्वर के माध्यम से इंटरनेट ब्राउज़ करने वाले ग्राहकों के आधार पर भिन्न हो सकती है।

स्क्वीड पैकेज बेस उबंटू रिपॉजिटरी से इंस्टॉल करने के लिए उपलब्ध है, लेकिन इससे पहले कि रनिंग के लिए अपने पैकेज को अपडेट करना सुनिश्चित करें।

$ sudo apt update

एक बार जब आपके पैकेज अद्यतित हो जाते हैं, तो आप स्क्वीड को स्थापित करने और शुरू करने के लिए आगे बढ़ सकते हैं और निम्न आदेशों का उपयोग करके सिस्टम स्टार्टअप पर इसे सक्षम कर सकते हैं।

$ sudo apt -y install squid
$ sudo systemctl start squid
$ sudo systemctl enable squid

इस बिंदु पर आपका स्क्वीड वेब प्रॉक्सी पहले से ही चालू होना चाहिए और आप सेवा की स्थिति को सत्यापित कर सकते हैं।

$ sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; generated)
   Active: active (running) since Tue 2018-12-04 06:42:43 UTC; 14min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 4 (limit: 1717)
   CGroup: /system.slice/squid.service
           ├─2761 /usr/sbin/squid -YC -f /etc/squid/squid.conf
           ├─2766 (squid-1) -YC -f /etc/squid/squid.conf
           ├─2768 (logfile-daemon) /var/log/squid/access.log
           └─2772 (pinger)

Dec 04 06:42:43 tecmint systemd[1]: Starting LSB: Squid HTTP Proxy version 3.x...
Dec 04 06:42:43 tecmint squid[2708]:  * Starting Squid HTTP Proxy squid
Dec 04 06:42:43 tecmint squid[2708]:    ...done.
Dec 04 06:42:43 tecmint systemd[1]: Started LSB: Squid HTTP Proxy version 3.x.
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: will start 1 kids
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: (squid-1) process 2766 started

निम्नलिखित कुछ महत्वपूर्ण स्क्वीड फ़ाइल स्थान हैं जिनके बारे में आपको पता होना चाहिए:

  • Squid configuration file: /etc/squid/squid.conf
  • Squid Access log: /var/log/squid/access.log
  • Squid Cache log: /var/log/squid/cache.log

डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल में कुछ कॉन्फ़िगरेशन निर्देश होते हैं जिन्हें स्क्वीड के व्यवहार को प्रभावित करने के लिए कॉन्फ़िगर करने की आवश्यकता होती है।

अब Vi संपादक का उपयोग करके संपादन के लिए इस फ़ाइल को खोलें और नीचे दिखाए अनुसार परिवर्तन करें।

$ sudo vim /etc/squid/squid.conf

अब, आप निम्नलिखित पंक्तियों के बारे में खोज कर सकते हैं और उन्हें अनुरोध के अनुसार बदल सकते हैं, विए संपादक में, आप उन पंक्तियों के बारे में खोज कर सकते हैं 'ESC' और "/ टाइप करके।" "विशिष्ट लाइनों को देखने के लिए लिखने की कुंजी।

  • http_port : This is the default port for the HTTP proxy server, by default it is 3128, you may change it to any other port that you want, you may also add the “transparent” tag to the end of the line like http_port 8888 transparent to make Squid proxy act like a transparent proxy if you want.
  • http_access deny all : This line won’t let anybody to access the HTTP proxy server, that’s why you need to change it to http_access allow all to start using your Squid proxy server.
  • visible_hostname : This directive is used to set the specific hostname to a squid server. You can give any hostname to squid.

उपरोक्त परिवर्तन करने के बाद, आप कमांड का उपयोग करके स्क्वीड प्रॉक्सी सर्वर को पुनः आरंभ कर सकते हैं।

$ sudo systemctl restart squid

उबंटू पर HTTP प्रॉक्सी के रूप में स्क्वीड कॉन्फ़िगर करना

इस स्क्वीड कॉन्फ़िगरेशन अनुभाग में, हम आपको बताएंगे कि प्रमाणीकरण के लिए केवल क्लाइंट आईपी पते का उपयोग करके स्क्वीड को HTTP प्रॉक्सी के रूप में कैसे कॉन्फ़िगर किया जाए।

यदि आप अपने नए प्रॉक्सी सर्वर के माध्यम से इंटरनेट तक केवल एक आईपी पते की अनुमति देना चाहते हैं, तो आपको कॉन्फ़िगरेशन फ़ाइल में नए acl ( पहुंच नियंत्रण सूची ) को परिभाषित करना होगा।

$ sudo vim /etc/squid/squid.conf

acl नियम जो आपको जोड़ना चाहिए वह है:

acl localnet src XX.XX.XX.XX

जहाँ XX.XX.XX.XX ग्राहक मशीन का IP पता है। यह acl ACL के अनुभाग की शुरुआत में जोड़ा जाना चाहिए जैसा कि निम्नलिखित स्क्रीनशॉट में दिखाया गया है।

ACL के बगल में एक टिप्पणी को परिभाषित करने के लिए हमेशा एक अच्छा अभ्यास है, जो वर्णन करेगा कि इस आईपी पते का उपयोग कौन करता है, उदाहरण के लिए।

acl localnet src 192.168.0.102  # Boss IP address

नए बदलावों को प्रभावी बनाने के लिए आपको स्क्वीड सेवा को फिर से शुरू करना होगा।

$ sudo systemctl restart squid

डिफ़ॉल्ट रूप से, स्क्वीड कॉन्फ़िगरेशन में केवल कुछ पोर्ट की अनुमति है, यदि आप अधिक जोड़ना चाहते हैं तो उन्हें कॉन्फ़िगरेशन फ़ाइल में दिखाए गए अनुसार परिभाषित करें।

acl Safe_ports port XXX

जहां XXX पोर्ट नंबर है जिसे आप अनुमति देना चाहते हैं। फिर से acl के बगल में एक टिप्पणी को परिभाषित करने के लिए यह एक अच्छा अभ्यास है जो वर्णन करेगा कि पोर्ट का क्या उपयोग होने जा रहा है।

परिवर्तनों को प्रभावी करने के लिए, आपको एक बार फिर स्क्वीड को फिर से शुरू करना होगा।

$ sudo systemctl restart squid

उपयोगकर्ताओं को प्रॉक्सी का उपयोग करने से पहले प्रमाणित करने की अनुमति देने के लिए, आपको कॉन्फ़िगरेशन फ़ाइल में मूल http प्रमाणीकरण को सक्षम करने की आवश्यकता है, लेकिन इससे पहले आपको निम्न आदेश का उपयोग करके apache2-utils पैकेज स्थापित करना होगा।

$ sudo apt install apache2-utils

अब "पासवार्ड" नामक एक फ़ाइल बनाएं जो बाद में प्रमाणीकरण के लिए उपयोगकर्ता नाम संग्रहित करेगा। स्क्वीड उपयोगकर्ता के साथ चलता है "प्रॉक्सी" इसलिए फ़ाइल को उस उपयोगकर्ता के स्वामित्व में होना चाहिए।

$ sudo touch /etc/squid/passwd
$ sudo chown proxy: /etc/squid/passwd
$ ls -l /etc/squid/passwd

अब हम "tecmint" नामक एक नया उपयोगकर्ता बनाएंगे और इसका पासवर्ड सेट करेंगे।

$ sudo htpasswd /etc/squid/passwd tecmint

New password: 
Re-type new password: 
Adding password for user tecmint

अब बुनियादी http प्रमाणीकरण सक्षम करने के लिए कॉन्फ़िगरेशन फ़ाइल खोलें।

$ sudo vim /etc/squid/squid.conf

पोर्ट के बाद ACL निम्नलिखित पंक्तियाँ जोड़ते हैं:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users

फ़ाइल सहेजें और स्क्वीड को फिर से शुरू करें ताकि नए परिवर्तन प्रभावी हो सकें:

$ sudo systemctl restart squid

अवांछित वेबसाइटों तक पहुंच को अवरुद्ध करने के लिए, पहले " ब्लैकलिस्टेड_साइट्स .acl " नामक एक फ़ाइल बनाएं, जो इसमें ब्लैकलिस्ट की गई साइटों को संग्रहीत करेगा।

$ sudo touch /etc/squid/blacklisted_sites.acl

अब उन वेबसाइटों को जोड़ें जिन्हें आप एक्सेस ब्लॉक करना चाहते हैं, उदाहरण के लिए।

.badsite1.com
.badsite2.com

आगे बढ़ने वाली डॉट उस साइट के सभी संदर्भों को ब्लॉक करने के लिए स्क्विड को सूचित करती है जिसमें www.badsite1 , subsite.badsite1.com आदि शामिल हैं।

अब स्क्वीड की कॉन्फ़िगरेशन फ़ाइल खोलें।

$ sudo vim /etc/squid/squid.conf

उपरोक्त ACL के बाद बस निम्नलिखित दो लाइनें जोड़ें:

acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl"
http_access deny bad_urls

अब फाइल को सेव करें और स्क्वीड को रीस्टार्ट करें:

$ sudo systemctl restart squid

कीवर्ड की सूची को ब्लॉक करने के लिए, पहले " blockkeywords.lst " नामक एक फ़ाइल बनाएं, जो इसमें ब्लैकलिस्ट किए गए कीवर्ड संग्रहीत करेगा।

$ sudo touch /etc/squid/blockkeywords.lst

अब उन कीवर्ड को जोड़ें, जिन्हें आप एक्सेस ब्लॉक करना चाहते हैं, उदाहरण के लिए।

facebook
instagram
gmail

अब स्क्विड की कॉन्फ़िगरेशन फ़ाइल खोलें और निम्नलिखित नियम जोड़ें।

acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst"
http_access deny blockkeywordlist

अब फाइल को सेव करें और स्क्वीड को रीस्टार्ट करें:

$ sudo systemctl restart squid

एक बार सब कुछ सही तरीके से कॉन्फ़िगर हो जाने के बाद, अब आप अपने नए कॉन्फ़िगर स्क्वीड HTTP प्रॉक्सी का उपयोग करने के लिए अपने स्थानीय क्लाइंट वेब ब्राउज़र या ऑपरेटिंग सिस्टम की नेटवर्क सेटिंग्स को कॉन्फ़िगर कर सकते हैं।

स्क्वीड प्रॉक्सी का उपयोग करने के लिए क्लाइंट कॉन्फ़िगर करें

अब यह जांचने के लिए कि आपका प्रॉक्सी सर्वर काम कर रहा है या नहीं, आप फ़ायरफ़ॉक्स खोल सकते हैं और संपादित करें - > प्राथमिकताएं - > उन्नत - > नेटवर्क - > सेटिंग्स और " मैनुअल प्रॉक्सी कॉन्फ़िगरेशन " का चयन करें और अपने प्रॉक्सी सर्वर आईपी पते और पोर्ट को सभी कनेक्शन के लिए उपयोग करने के लिए दर्ज करें जैसा कि यह निम्नानुसार है।

एक बार जब आप सभी आवश्यक प्रॉक्सी विवरण भर देते हैं, तो आप अपने स्क्वीड प्रॉक्सी सर्वर का उपयोग करके वेब पर सर्फ कर पाएंगे, आप किसी भी अन्य ब्राउज़र या प्रोग्राम में वही काम कर सकते हैं जो आप चाहते हैं।

यह सुनिश्चित करने के लिए कि आप अपने प्रॉक्सी सर्वर का उपयोग करके वेब पर सर्फिंग कर रहे हैं, आप http://www.ipaddresslocation.org/ पर जा सकते हैं, दाहिने शीर्ष कोने में आपको अपने सर्वर के समान IP पता देखना होगा आईपीपता।

अधिक अतिरिक्त कॉन्फ़िगरेशन सेटिंग्स के लिए, आप आधिकारिक स्क्वीड प्रलेखन की जांच कर सकते हैं। यदि आपके कोई प्रश्न या टिप्पणी हैं, तो कृपया उन्हें नीचे टिप्पणी अनुभाग में जोड़ें।