क्या आप सीखना चाहते हैं कि उबंटू लिनक्स पर स्क्विड पारदर्शी प्रॉक्सी कैसे स्थापित करें? इस ट्यूटोरियल में, हम आपको उबंटू लिनक्स संस्करण 17 पर स्क्विड सॉफ़्टवेयर का उपयोग करके एक पारदर्शी प्रॉक्सी सर्वर को स्थापित और कॉन्फ़िगर करने के तरीके के बारे में दिखाएंगे।

हार्डवेयर सूची:

निम्नलिखित खंड इस उबंटू लिनक्स ट्यूटोरियल को बनाने के लिए इस्तेमाल किए गए उपकरणों की सूची प्रस्तुत करता है।

ऊपर सूचीबद्ध हार्डवेयर का हर टुकड़ा अमेज़ॅन वेबसाइट पर पाया जा सकता है।

Ubuntu Playlist:

इस पृष्ठ पर, हम उबंटू लिनक्स से संबंधित वीडियो की एक सूची तक त्वरित पहुंच प्रदान करते हैं।

नामित हमारे यूट्यूब चैनल की सदस्यता लेने के लिए मत भूलना FKIT.

स्क्विड ट्यूटोरियल:

इस पृष्ठ पर, स्क्विड में रणनीतिक परिवर्तनों की सूची

ट्यूटोरियल – उबंटू लिनक्स पर स्क्विड

लिनक्स कंसोल पर, सही टाइमज़ोन सेट करने के लिए निम्न आदेशों का उपयोग करें।

# dpkg-reconfigure tzdata

एनटीपीडेट पैकेज स्थापित करें और सही तिथि और समय तुरंत सेट करें।

# apt-get install ntpdate
# ntpdate pool.ntp.br

हमारे उदाहरण में, Ntpdate कमांड का उपयोग ब्राजील के सर्वर pool.ntp.br का उपयोग कर सही तिथि और समय निर्धारित करने के लिए किया गया था

आइए एनटीपी सेवा स्थापित करें।

# apt-get install ntp

एनटीपी वह सेवा है जो हमारे सर्वर को अद्यतन रखेगी।

अपने उबंटू लिनक्स पर कॉन्फ़िगर दिनांक और समय की जांच करने के लिए कमांड तिथि का उपयोग करें।

# date

अगर सिस्टम सही दिनांक और समय दिखाता है, तो इसका मतलब है कि आपने सभी चरणों का सही ढंग से पालन किया है।

आवश्यक संकुल को स्थापित करने के लिए निम्न आदेशों का प्रयोग करें।

# apt-get update
# apt-get install build-essential openssl libssl-dev

Squid पैकेज डाउनलोड, संकलित और स्थापित करें।

# mkdir /downloads
# cd /downloads
# wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.27.tar.gz
# tar -zxvf squid-3.5.27.tar.gz
# cd squid-3.5.27
# ./configure –with-default-user=proxy
# make
# make install

स्क्विड पैकेज द्वारा स्थापित मूल स्क्विड कॉन्फ़िगरेशन फ़ाइल यहां दी गई है।

# vi /usr/local/squid/etc/squid.conf

acl localnet src 10.0.0.0/8
acl localnet src 172.16.0.0/12
acl localnet src 192.168.0.0/16
acl localnet src fc00::/7
acl localnet src fe80::/10

acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all

http_port 3128

coredump_dir /usr/local/squid/var/cache/squid

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

हमारी कॉन्फ़िगरेशन के साथ नई फाइल यहां दी गई है।

बदले गए निर्देश बोल्ड में हाइलाइट किए गए थे।

# vi /usr/local/squid/etc/squid.conf

acl localnet src 192.168.0.0/24  # My internal Network

acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all

http_port 3128 intercept   # TRANSPARENT PROXY

coredump_dir /usr/local/squid/var/cache/squid
cache_dir ufs /usr/local/squid/var/cache/squid 1000 16 256  # 1GB as Cache

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

मेरी विन्यास सिर्फ बुनियादी है।

यह अत्यधिक अनुशंसा की जाती है कि आप अपनी कॉन्फ़िगरेशन को बेहतर बनाने के लिए इस कॉन्फ़िगरेशन फ़ाइल का अध्ययन करें।

आवश्यक कैश फ़ोल्डर्स बनाने के लिए निम्न आदेश का उपयोग करें।

# chown -R proxy:proxy /usr/local/squid -R
# /usr/local/squid/sbin/squid -z

स्क्विड सेवा शुरू करने के लिए निम्न आदेश का प्रयोग करें।

# /usr/local/squid/sbin/squid -d 10

अगर सब कुछ सही तरीके से काम करता है, तो आपको स्क्रीन पर निम्नलिखित संदेश देखना चाहिए:

Starting Squid Cache version 3.5.27 for x86_64-pc-linux-gnu…
Service Name: squid
Process ID 19569
Process Roles: worker
With 1024 file descriptors available
Initializing IP Cache…
DNS Socket created at [::], FD 6
DNS Socket created at 0.0.0.0, FD 8
Adding nameserver 172.31.0.2 from /etc/resolv.conf
Adding domain us-west-2.compute.internal from /etc/resolv.conf
Logfile: opening log daemon:/usr/local/squid/var/logs/access.log
Logfile Daemon: opening log /usr/local/squid/var/logs/access.log
Unlinkd pipe opened on FD 14
Store logging disabled
Swap maxSize 1024000 + 262144 KB, estimated 98934 objects
Target number of buckets: 4946
Using 8192 Store buckets
Max Mem size: 262144 KB
Max Swap size: 1024000 KB
Rebuilding storage in /usr/local/squid/var/cache/squid (no log)
Using Least Load store dir selection
Set Current Directory to /usr/local/squid/var/cache/squid
Finished loading MIME types and icons.
HTCP Disabled.
Squid plugin modules loaded: 0
Adaptation support is off.
Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 16 flags=9
Done scanning /usr/local/squid/var/cache/squid dir (0 entries)
Finished rebuilding storage from disk.
0 Entries scanned
0 Invalid entries.
0 With invalid flags.
0 Objects loaded.
0 Objects expired.
0 Objects cancelled.
0 Duplicate URLs purged.
0 Swapfile clashes avoided.
Took 0.04 seconds ( 0.00 objects/sec).
Beginning Validation Procedure
Completed Validation Procedure
Validated 0 Entries
store_swap_size = 0.00 KB
storeLateRelease: released 0 objects

आपका पारदर्शी प्रॉक्सी समाधान स्थापित है।

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

अपने स्क्विड प्रॉक्सी के टीसीपी पोर्ट 3128 में एक HTTP वेबसाइट तक पहुंचने की कोशिश कर रहे आंतरिक नेटवर्क से प्रत्येक पैकेट को रीडायरेक्ट करने के लिए निम्न आदेश का उपयोग करें।

# iptables -t nat -I PREROUTING -p tcp -s 192.168.0.0/24 –dport 80 -j REDIRECT –to-port 3128

स्थापना का परीक्षण करने के लिए, अपने आंतरिक नेटवर्क पर स्थित कंप्यूटर पर जाएं और अपना ब्राउज़र खोलें और HTTP वेबसाइट तक पहुंचने का प्रयास करें।