লিনাক্সে স্কুইড ক্যাশে এবং সিসকো রাউটার ব্যবহার করে কীভাবে ওয়েব ট্র্যাফিক নিয়ন্ত্রণ করা যায়


নেটওয়ার্কের একটি গুরুত্বপূর্ণ কাজ হ'ল স্টাফস ওয়েব সার্ফিং ট্রাফিকগুলি নিয়ন্ত্রণ এবং পরিচালনা করা, অনেকগুলি সমাধান রয়েছে যা এই সমস্যাটি পরিচালনা করতে পারে, সেরা সমাধানগুলির মধ্যে একটি হ'ল লিনাক্স মেশিনে স্কুইড ক্যাশে ব্যবহার করা। স্কুইড ওয়েব ট্র্যাফিকগুলি এক নেটওয়ার্ক থেকে অন্য নেটওয়ার্কে প্রবাহিত করতে পারে, সীমাবদ্ধ করতে এবং ক্যাশে করতে পারে উদাহরণস্বরূপ ল্যান থেকে ইন্টারনেটে।

স্কুইড মেশিনে ক্লায়েন্টের ওয়েব অনুরোধগুলিকে পুনঃনির্দেশ করার কয়েকটি উপায় রয়েছে, এই নিবন্ধে আমরা আপনাকে দেখাব যে কীভাবে ওয়েব ট্র্যাফিককে সিসকো রাউটার থেকে স্কুইড ক্যাশে মেশিনে ডাব্লু সি সি প্রোটোকল ব্যবহার করে পুনর্নির্দেশ করা যায় to

নীচের ছবিটি একটি মৌলিক দৃশ্যের উদাহরণ।

উপরের ছবিতে আপনি দেখতে পাচ্ছেন যে সমস্ত ক্লায়েন্টের ওয়েব ট্রাফিকগুলি প্রথমে সিসকো রাউটারে যায় (এটি তাদের ডিফল্ট গেটওয়ে), তারপরে রাউটারটি নিঃশব্দে স্কেচড মেশিনে প্যাকেটগুলি পুনঃনির্দেশিত করে, এখন স্কুইড এটির ভূমিকা পালন করতে পারে, মূল ভূমিকাগুলি ওয়েব সামগ্রীগুলি ক্যাশে করছে, সীমিত অ্যাক্সেস ভিত্তিক ডোমেন, সময়ের ব্যবধান, আইপি ঠিকানা, ফাইলের আকার ইত্যাদিতে

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

এই দৃশ্যে আমি CINTOS 6.5 কে আমার লিনাক্স সার্ভার হিসাবে এবং সিসকো 2691 কে আমার রাউটার সিস্টেম হিসাবে ব্যবহার করি।

Operating System: CENTOS 6.5
Application: Squid
Router: Cisco 2691

পদক্ষেপ 1: স্কুইড ক্যাশে ইনস্টল করা

স্কিনটি সেন্টস-এর ডিফল্ট সংগ্রহস্থলে উপলভ্য, আমরা প্রথমে এটি সুদৃশ্য yum কমান্ড ব্যবহার করে ইনস্টল করি এবং তারপরে সেগুলি শুরু করি এবং শেষ পর্যন্ত স্কুইড পরিষেবাটি স্বয়ংক্রিয়ভাবে শুরু করি।

# yum -y install squid
# service squid start
# chkconfig squid on

দ্বিতীয় ধাপ: স্কুইড ক্যাশে প্রস্তুত করা

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

আমি আরও বিশদ দিয়ে ব্যাখ্যা করতে পারি, যখন ট্রাফিকগুলি সেন্টোতে আসে তবে এটির উত্স এবং গন্তব্য ঠিকানা রয়েছে, উদাহরণস্বরূপ যখন কোনও ক্লায়েন্ট তার ব্রাউজারে www.example.com প্রবেশ করে একটি HTTP অনুরোধ প্যাকেট উত্পন্ন করে এবং এতে ক্লায়েন্ট মেশিনের উত্স আইপি ঠিকানা থাকে (192.168.1.20 এর মত) এবং উদাহরণ ডটকম সার্ভারের গন্তব্য আইপি ঠিকানা (যেমন ২.২.২.২)।

সুতরাং, সেন্টোস দ্বারা প্রাপ্ত প্যাকেটটি এটি একটি ভুল প্যাকেট হিসাবে সনাক্ত করে কারণ নিরাপত্তাজনিত কারণে সেন্টোস আইপি ঠিকানা প্যাকেটের গন্তব্য ঠিকানা হিসাবে নয়, তবে আমরা স্কোয়াড থেকে স্বচ্ছ মোডে কাজ করতে চাই। আমরা প্যাকেট ফরোয়ার্ডিং দমন সক্ষম করে সেন্টোসকে এই পরিস্থিতিটি বলি।

এরপরে স্কোয়াড মেশিন দ্বারা অ্যাক্সেসযোগ্য প্যাকেটগুলি গ্রহণযোগ্য পেনকেটগুলি স্কুইড মেশিনের একই সাবনেটে আইপি ঠিকানা নেই এমন প্যাকেটগুলি গ্রহণ করার জন্য সেন্টোসগুলিকে রিভার্স পাথ ফিল্টারিং অক্ষম করা উচিত।

# nano /etc/sysctl.conf
net.ipv4.ip_forward = 1 #set to 1 for enable the packet forwarding feature
net.ipv4.conf.default.rp_filter = 0 # set to 0 for disable the reverse path filter behavior

পরবর্তী আমাদের সেন্টোস মেশিনে একটি জিআরই ইন্টারফেস তৈরি করা দরকার, কিসের জন্য ?? আমি আরও ব্যাখ্যা করতে পারি, ডাব্লুসিসিপি প্রোটোকল একটি জিআরই টানেলের মাধ্যমে কাজ করে, এর অর্থ রাউটার এবং স্কুইডের মধ্যে ভাষাটি জিআরই, সুতরাং সেন্টোদের ডি-এনক্যাপসুলেট জিআরই প্যাকেটের জন্য একটি জিআরই ইন্টারফেস থাকা দরকার।

আমাদের জিআরই ইন্টারফেসের জন্য “/ etc/sysconfig/নেটওয়ার্ক-স্ক্রিপ্ট/ifcfg-gre0” পাথের কনফিগারেশন ফাইল তৈরি করা উচিত।

Ifcfg-gre0 কনফিগারেশন ফাইলে কোডগুলির নীচে প্রবেশ করুন।

DEVICE=gre0
BOOTPROTO=static
IPADDR=10.0.0.2         #unused ip address in your network
NETMASK=255.255.255.252
ONBOOT=yes
IPV6INIT=no

একটি জিআরই ইন্টারফেস তৈরির পরে আমাদের নেটওয়ার্ক পরিষেবা পুনরায় চালু করতে হবে।

# service network restart

পদক্ষেপ 3: স্কুইড ক্যাশে কনফিগার করা

রাউটার থেকে ডাব্লুসিসিপি প্যাকেট গ্রহণ করে স্কুইডকে আমাদের বলতে হবে। /Etc/squid/squid.conf ফাইলে কোডগুলির নীচে প্রবেশ করুন।

http_port 3128 intercept                 # Define SQUID listening port
wccp2_router 192.168.1.254          #ip address of the router
wccp2_forwarding_method gre
wccp2_return_method gre
wccp2_service standard 0

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

# service squid restart

স্কোয়াড প্যাকেটের জন্য 3128 পোর্টে শুনুন, তবে আমাদের প্যাকেটের গন্তব্য পোর্ট সংখ্যা 80, সুতরাং গন্তব্য পোর্টটি 80 থেকে 3128 এর জন্য পরিবর্তনের জন্য আমাদের সেন্টোস ইন্টিগ্রেটেড ফায়ারওয়ালের (যার নাম আইপটেবল) নেট একটি নিয়ম তৈরি করা দরকার।

# iptables -t nat -A PREROUTING -i gre0 -p tcp --dport 80 -j REDIRECT --to-port 3128
# iptables -t nat -A POSTROUTING -j MASQUERADE

পদক্ষেপ 4: সিসকো রাউটার কনফিগারেশন

প্রথমে আমাদের সিসকো রাউটারে ডব্লিউসিসিপি সক্ষম করা উচিত।

R1(config)# ip wccp version 2
Then we must use an ACL for introducing SQUID cache machine to router
R1(config)# ip access-list standard SQUID-MACHINE
R1(config-std-nacl)# permit host 192.168.1.10

এরপরে আমরা দুটি ভিন্ন উদ্দেশ্যে অন্য অ্যাক্সেসের তালিকাটি সংজ্ঞায়িত করি প্রথমে আমাদের এসকিউইউড ট্রাফিকগুলি ডব্লিউসিসিপি প্রোটোকল দ্বারা পুনর্নির্দেশ করা (যদি আমরা একটি অসীম লুপের মধ্যে না পড়ে যাই!) দ্বিতীয়টি আমরা সংজ্ঞায়িত করি যে আমরা কোন ল্যান ট্রাফিকগুলি ডব্লিউসিসিপি এবং এসকিউইউডি দিয়ে যেতে চাই passing

R1(config)#ip access-list LAN-TRAFFICS
R1(config-ext-nacl)#deny ip host 192.168.1.10 any                            #Prevent SQUID to get in loop
R1(config-ext-nacl)#permit tcp 192.168.1.0 0.0.0.255 any equal www           #define LAN Traffics

আমাদের অ্যাক্সেস-তালিকা তৈরির পরে আমাদের রাউটারে ডাব্লুসিসিপি প্রোটোকলটি কনফিগার করতে হবে।

R1(config)# ip wccp web-cache redirect-list LAN-TRAFFIC group-list SQUID-MACHINE

প্রতিটি জিনিস চূড়ান্ত পদক্ষেপের জন্য প্রস্তুত, আমাদের অবশ্যই রাউটারকে জানাতে হবে যে কোন ইন্টারফেস/ইন্টারফেসে এটি অবশ্যই তাদের ডাব্লুসিসিপি কনফিগারেশন ব্যবহার করে ট্রাফিকগুলি পুনর্নির্দেশ করতে পারে।

R1(config)#interface fastEthernet 0/0
R1((config-if)# ip wccp web-cache redirect in

সারসংক্ষেপ

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

এই সমস্ত প্রক্রিয়া নিঃশব্দে ঘটেছিল এবং ক্লায়েন্টের পক্ষে কোনও অতিরিক্ত কনফিগারেশন নেই। সুতরাং আমরা LAN এ ওয়েব ট্রাফিকগুলিতে নিয়ন্ত্রণ এবং নীতি সেট করতে পারি। উদাহরণস্বরূপ, আমরা কেবলমাত্র সীমিত সময়ে ওয়েব সার্ফিং অ্যাক্সেস অর্জন করতে পারি, সর্বোচ্চ ডাউনলোডের আকার সীমাবদ্ধ করতে পারি, আমাদের কাস্টম ব্ল্যাকলিস্ট এবং শ্বেতলিস্টকে সংজ্ঞায়িত করতে পারি, ইন্টারনেট ক্রিয়াকলাপের ব্যবহারের সম্পূর্ণ প্রতিবেদন তৈরি করতে পারি ইত্যাদি ইত্যাদি

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

এই নিবন্ধটি সম্পর্কে আপনার যদি কোনও প্রশ্ন থাকে তবে নীচে মন্তব্য বাক্সের মাধ্যমে একটি উত্তর দিন।