CentOS 7/8 এ স্কুইড ব্যবহার করে কীভাবে একটি এইচটিটিপি প্রক্সি তৈরি করবেন


ওয়েব প্রক্সিগুলি বেশ কয়েকটি সময় ধরে রয়েছে এবং বিশ্বজুড়ে কয়েক মিলিয়ন ব্যবহারকারী এটি ব্যবহার করেছেন। তাদের বেশ কয়েকটি উদ্দেশ্য রয়েছে, সর্বাধিক জনপ্রিয় অনলাইনে নাম প্রকাশ না করা, তবে অন্যান্য উপায় রয়েছে যা আপনি ওয়েব প্রক্সিগুলির সুবিধা নিতে পারেন। এখানে কিছু ধারনা:

  • অনলাইন বেনামে
  • অনলাইন সুরক্ষা উন্নত করুন
  • লোডিংয়ের সময়গুলি উন্নত করুন
  • দূষিত ট্র্যাফিক অবরোধ করুন
  • আপনার অনলাইন ক্রিয়াকলাপ লগ করুন
  • আঞ্চলিক বিধিনিষেধকে রোধ করার জন্য
  • কিছু ক্ষেত্রে ব্যান্ডউইথের ব্যবহার হ্রাস করতে পারে

প্রক্সি সার্ভার হ'ল এমন একটি কম্পিউটার যা ক্লায়েন্ট এবং অন্যান্য সার্ভারগুলির মধ্যবর্তী হিসাবে ব্যবহৃত হয় যা থেকে ক্লায়েন্ট সংস্থানগুলির জন্য অনুরোধ করতে পারে। এর একটি সহজ উদাহরণ হ'ল যখন কোনও ক্লায়েন্ট অনলাইনে অনুরোধ করে (উদাহরণস্বরূপ কোনও ওয়েব পৃষ্ঠা খুলতে চান), তিনি প্রথমে প্রক্সি সার্ভারের সাথে সংযুক্ত হন।

প্রক্সি সার্ভার তার স্থানীয় ডিস্ক ক্যাশে চেক করে এবং সেখানে যদি ডেটা পাওয়া যায় তবে এটি ক্লায়েন্টকে ডেটা ফিরিয়ে দেবে, যদি ক্যাশে না করা হয় তবে প্রক্সি আইপি ঠিকানা ব্যবহার করে ক্লায়েন্টের পক্ষে অনুরোধ জানাবে (পৃথক পৃথক থেকে পৃথক) ক্লায়েন্ট) এবং তারপরে ক্লায়েন্টকে ডেটা ফেরত দিন। প্রক্সি সার্ভারটি নতুন ডেটা ক্যাশে দেওয়ার চেষ্টা করবে এবং এটি একই সার্ভারে করা ভবিষ্যতের অনুরোধগুলির জন্য ব্যবহার করবে।

স্কুইড এমন একটি ওয়েব প্রক্সি যা আমার বিস্তৃত সংস্থাগুলি ব্যবহার করে। এটি প্রায়শই ক্যাচিং প্রক্সি হিসাবে এবং প্রতিক্রিয়ার সময়ের উন্নতি করতে এবং ব্যান্ডউইথের ব্যবহার হ্রাস করতে ব্যবহৃত হয়।

এই নিবন্ধটির উদ্দেশ্যে, আমি একটি লিনোড সেন্টোস 7 ভিপিএসে স্কুইড ইনস্টল করব এবং এটি একটি HTTP প্রক্সি সার্ভার হিসাবে ব্যবহার করব।

CentOS 7/8 এ স্কুইড কীভাবে ইনস্টল করবেন

আমরা শুরু করার আগে, আপনার জানা উচিত যে স্কুইডের কোনও ন্যূনতম প্রয়োজনীয়তা নেই, তবে প্রক্সি সার্ভারের মাধ্যমে ইন্টারনেট ব্রাউজ করা ক্লায়েন্টদের উপর নির্ভর করে রu্যাম ব্যবহারের পরিমাণ পৃথক হতে পারে।

স্কুইডটি বেস সংগ্রহস্থলের অন্তর্ভুক্ত এবং সুতরাং ইনস্টলেশনটি সহজ এবং সোজা। তবে এটি ইনস্টল করার আগে নিশ্চিত হয়ে নিন যে আপনার প্যাকেজগুলি চালিয়ে গিয়েছে।

# yum -y update

স্কুইড ইনস্টল করে এগিয়ে যান, শুরু করুন এবং নিম্নলিখিত কমান্ডগুলি ব্যবহার করে এটি সিস্টেম স্টার্টআপে সক্ষম করুন।

# yum -y install squid
# systemctl start squid
# systemctl  enable squid

এই মুহুর্তে, আপনার স্কুইড ওয়েব প্রক্সিটি ইতিমধ্যে চলমান হওয়া উচিত এবং আপনি পরিষেবাটির স্থিতিটি যাচাই করতে পারবেন।

# systemctl status squid
 squid.service - Squid caching proxy
   Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2018-09-20 10:07:23 UTC; 5min ago
 Main PID: 2005 (squid)
   CGroup: /system.slice/squid.service
           ├─2005 /usr/sbin/squid -f /etc/squid/squid.conf
           ├─2007 (squid-1) -f /etc/squid/squid.conf
           └─2008 (logfile-daemon) /var/log/squid/access.log

Sep 20 10:07:23 tecmint systemd[1]: Starting Squid caching proxy...
Sep 20 10:07:23 tecmint squid[2005]: Squid Parent: will start 1 kids
Sep 20 10:07:23 tecmint squid[2005]: Squid Parent: (squid-1) process 2007 started
Sep 20 10:07:23 tecmint systemd[1]: Started Squid caching proxy.

এখানে কয়েকটি গুরুত্বপূর্ণ ফাইল অবস্থান সম্পর্কে আপনার সচেতন হওয়া উচিত:

  • স্কুইড কনফিগারেশন ফাইল: /etc/squid/squid.conf
  • স্কুইড অ্যাক্সেস লগ: /var/log/squid/access.log
  • স্কুইড ক্যাশে লগ: /var/log/squid/cache.log

একটি সর্বনিম্ন squid.conf কনফিগারেশন ফাইল (এটিতে কোনও মন্তব্য ছাড়াই) দেখতে এমন দেখাচ্ছে:

acl localnet src 10.0.0.0/8	# RFC1918 possible internal network
acl localnet src 172.16.0.0/12	# RFC1918 possible internal network
acl localnet src 192.168.0.0/16	# RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80		# http
acl Safe_ports port 21		# ftp
acl Safe_ports port 443		# https
acl Safe_ports port 70		# gopher
acl Safe_ports port 210		# wais
acl Safe_ports port 1025-65535	# unregistered ports
acl Safe_ports port 280		# http-mgmt
acl Safe_ports port 488		# gss-http
acl Safe_ports port 591		# filemaker
acl Safe_ports port 777		# multiling http
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 /var/spool/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

স্কুইডকে একটি HTTP প্রক্সি হিসাবে কনফিগার করছে

এখানে, আমরা আপনাকে প্রমাণ করব যে কীভাবে প্রমাণীকরণের জন্য ক্লায়েন্টের আইপি ঠিকানা ব্যবহার করে স্কুইডকে একটি HTTP প্রক্সি হিসাবে কনফিগার করতে হয়।

আপনি যদি নতুন নতুন প্রক্সি সার্ভারের মাধ্যমে আইপি ঠিকানাটি ওয়েবে অ্যাক্সেস করতে চান তবে কনফিগারেশন ফাইলে আপনাকে একটি নতুন এসিএল (অ্যাক্সেস নিয়ন্ত্রণের তালিকা) লাইন যুক্ত করতে হবে।

# vim /etc/squid/squid.conf

আপনার যে লাইনটি যুক্ত করা উচিত তা হ'ল:

acl localnet src XX.XX.XX.XX

যেখানে XX.XX.XX.XX হল আসল ক্লায়েন্টের আইপি ঠিকানা যা আপনি যুক্ত করতে চান। লাইনটি ফাইলের শুরুতে যুক্ত করা উচিত যেখানে ACL গুলি সংজ্ঞায়িত করা হয়। এসিএলের পাশে একটি মন্তব্য যুক্ত করা ভাল অভ্যাস যা এই আইপি ঠিকানাটি কে ব্যবহার করে তা বর্ণনা করবে।

এটি লক্ষ করা গুরুত্বপূর্ণ যে স্কুইডটি যদি আপনার স্থানীয় নেটওয়ার্কের বাইরে থাকে তবে আপনার ক্লায়েন্টের সর্বজনীন আইপি ঠিকানা যুক্ত করা উচিত।

আপনাকে স্কুইড পুনরায় চালু করতে হবে যাতে নতুন পরিবর্তনগুলি কার্যকর করতে পারে।

# systemctl  restart squid

আপনি যেমন কনফিগারেশন ফাইলটিতে দেখে থাকতে পারেন, কেবলমাত্র কয়েকটি নির্দিষ্ট বন্দর সংযোগের জন্য অনুমোদিত। আপনি কনফিগারেশন ফাইল সম্পাদনা করে আরও যোগ করতে পারেন।

acl Safe_ports port XXX

যেখানে XXX হ'ল আসল বন্দর যেখানে আপনি লোড করতে চান। আবার এটির পাশে একটি মন্তব্য দেওয়া ভাল ধারণা যা বন্দরটি কী ব্যবহার করতে চলেছে তা বর্ণনা করবে।

পরিবর্তনগুলি কার্যকর হওয়ার জন্য, আপনাকে আরও একবার স্কুইড পুনরায় আরম্ভ করতে হবে।

# systemctl  restart squid

প্রক্সি ব্যবহারের আগে আপনার ব্যবহারকারীরা সম্ভবত প্রমাণীকরণ করতে চান। এই উদ্দেশ্যে, আপনি বেসিক HTTP প্রমাণীকরণ সক্ষম করতে পারেন। এটি কনফিগার করা সহজ এবং দ্রুত।

প্রথমত, আপনাকে httpd- সরঞ্জামগুলি ইনস্টল করা দরকার।

# yum -y install httpd-tools

এখন আসুন একটি ফাইল তৈরি করুন যা পরে প্রমাণীকরণের জন্য ব্যবহারকারীর নাম সংরক্ষণ করবে। স্কুইড ব্যবহারকারী "স্কুইড" দিয়ে চলে তাই ফাইলটি সেই ব্যবহারকারীর মালিকানাধীন উচিত।

# touch /etc/squid/passwd
# chown squid: /etc/squid/passwd

এখন আমরা "প্রক্সিচিয়েন্ট" নামে একটি নতুন ব্যবহারকারী তৈরি করব এবং এর পাসওয়ার্ড সেটআপ করব।

# htpasswd /etc/squid/passwd proxyclient

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

এখন প্রমাণীকরণটি কনফিগার করতে কনফিগারেশন ফাইলটি খুলুন।

# vim /etc/squid/squid.conf

পোর্টগুলির পরে এসিএলগুলি নিম্নলিখিত লাইনগুলি যুক্ত করে:

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

ফাইলটি সংরক্ষণ করুন এবং স্কুইড পুনরায় চালু করুন যাতে নতুন পরিবর্তনগুলি কার্যকর করতে পারে:

# systemctl restart squid

অবশেষে, আমরা একটি শেষ এসিএল তৈরি করব যা আমাদের অযাচিত ওয়েবসাইটগুলি ব্লক করতে সহায়তা করবে। প্রথমে এমন ফাইল তৈরি করুন যা কালো তালিকাভুক্ত সাইটগুলি সঞ্চয় করবে।

# touch /etc/squid/blacklisted_sites.acl

আপনি ব্লক করতে চান এমন কিছু ডোমেন যুক্ত করতে পারেন। উদাহরণ স্বরূপ:

.badsite1.com
.badsite2.com

ক্রমবর্ধমান বিন্দু স্কোয়াডকে www.badsite1, সাবসাইট.বাদসাইট.কম, ইত্যাদি সহ sites সাইটে সমস্ত রেফারেন্স ব্লক করতে বলে tells

এখন স্কুইডের কনফিগারেশন ফাইলটি খুলুন।

# vim /etc/squid/squid.conf

পোর্টগুলির এসিএলগুলি নিম্নলিখিত দুটি লাইন যুক্ত করার পরে:

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

এখন ফাইলটি সংরক্ষণ করুন এবং স্কুইড পুনরায় চালু করুন:

# systemctl restart squid

একবার সবকিছু ঠিকঠাকভাবে কনফিগার হয়ে গেলে, এখন আপনি আপনার স্কুইড এইচটিটিপি প্রক্সি ব্যবহার করতে আপনার স্থানীয় ক্লায়েন্ট ব্রাউজার বা অপারেটিং সিস্টেমের নেটওয়ার্ক সেটিংস কনফিগার করতে পারেন।

এই টিউটোরিয়ালে, আপনি নিজের স্কুইড এইচটিটিপি প্রক্সি সার্ভারটি ইনস্টল, সুরক্ষিত এবং কনফিগার করতে শিখলেন। আপনার সবেমাত্র পাওয়া তথ্যের সাথে, আপনি এখন স্কুইডের মাধ্যমে আগত এবং বহির্গামী ট্র্যাফিকের জন্য কিছু বেসিক ফিল্টারিং যুক্ত করতে পারেন।

আপনি যদি অতিরিক্ত মাইল যেতে চান, এমনকি বিঘ্ন রোধ করতে কাজের সময় কিছু ওয়েবসাইট ব্লক করতে স্কুইড কনফিগার করতে পারেন। আপনার যদি কোনও প্রশ্ন বা মন্তব্য থাকে তবে দয়া করে সেগুলি নীচের মন্তব্য বিভাগে পোস্ট করুন।