মূল কন্টেন্টে যান

OpenWrt এবং guest WiFi: Purple-এর সাথে captive portal সেটআপ

একটি স্ট্যান্ডার্ড এক্সটার্নাল captive portal এবং RADIUS-এর মাধ্যমে OpenWrt ডিভাইসের সাথে Purple-এর ক্লাউড গেস্ট WiFi কীভাবে কাজ করে, এবং কীভাবে সাপোর্ট চেক করবেন ও ধাপগুলো খুঁজে পাবেন।

📖 2 মিনিট পাঠ📝 389 শব্দ📚 5 মূল সংজ্ঞা

এই গাইডটি শুনুন

পডকাস্ট ট্রান্সক্রিপ্ট দেখুন
[0:00 - 1:00] পরিচিতি ও প্রেক্ষাপট Purple টেকনিক্যাল ব্রিফিং-এ আপনাকে স্বাগত জানাই। আমি আপনার হোস্ট এবং পরবর্তী দশ মিনিটে আমরা Purple WiFi-এর সাথে OpenWrt কাস্টম ফার্মওয়্যার ইন্টিগ্রেশন বিস্তারিতভাবে বিশ্লেষণ করব। আপনি যদি হসপিটালিটি, রিটেইল বা পাবলিক সেক্টর পরিবেশে কাস্টম ফার্মওয়্যার স্থাপনকারী একজন আইটি ম্যানেজার, নেটওয়ার্ক আর্কিটেক্ট বা CTO হন, তাহলে এই ব্রিফিংটি আপনার জন্য। আমরা কোনো তাত্ত্বিক কথা না বলে সরাসরি CoovaChilli কনফিগার করা, 802.1X দিয়ে স্টাফ নেটওয়ার্ক সুরক্ষিত করা এবং Private Pre-Shared Keys ব্যবহার করে মাল্টি-টেন্যান্ট পরিবেশের সেগমেন্টেশন করার সঠিক উপায় আপনার সামনে তুলে ধরব। এটি কেন গুরুত্বপূর্ণ? কারণ OpenWrt-এর মতো কাস্টম ফার্মওয়্যার স্থাপন করা আপনাকে চমৎকার নমনীয়তা এবং হার্ডওয়্যার স্বাধীনতা দেয়। কিন্তু কোনো সুগঠিত, পরিচয়-ভিত্তিক অ্যাক্সেস কন্ট্রোল লেয়ার ছাড়া সেই নমনীয়তা একটি নিরাপত্তা ঝুঁকি হয়ে দাঁড়ায়। আপনাকে নিরাপদে ফার্স্ট-পার্টি ডেটা সংগ্রহ করতে হবে, GDPR কমপ্লায়েন্স নিশ্চিত করতে হবে এবং নির্ভরযোগ্যভাবে আপনার ট্রাফিক সেগমেন্ট করতে হবে। চলুন বিস্তারিত টেকনিক্যাল আলোচনা শুরু করা যাক। [1:00 - 6:00] বিস্তারিত টেকনিক্যাল আলোচনা OpenWrt ইন্টিগ্রেশনের মূল ভিত্তি হলো CoovaChilli। CoovaChilli হলো একটি ওপেন-সোর্স অ্যাক্সেস কন্ট্রোলার যা আন-অথেন্টিকেটেড ক্লায়েন্ট ট্রাফিক ইন্টারসেপ্ট করে এবং সেটিকে Purple Captive Portal-এ রিডাইরেক্ট করে। কোনো গেস্ট যখন আপনার ওপেন SSID-এ কানেক্ট করে, তখন CoovaChilli গেটকিপার হিসেবে কাজ করে। এটি tun0 ইন্টারফেসে চলমান নিজস্ব ইন্টারনাল DHCP সার্ভারের মাধ্যমে একটি IP অ্যাড্রেস অ্যাসাইন করে এবং ওয়াল্ড গার্ডেনে (walled garden) আপনার স্পষ্টভাবে অনুমতি দেওয়া ট্রাফিক ছাড়া অন্য সব ট্রাফিক ব্লক করে দেয়। গেস্ট যখন ব্রাউজ করার চেষ্টা করে, CoovaChilli তখন HTTP রিকোয়েস্ট ইন্টারসেপ্ট করে এবং Purple স্প্ল্যাশ পেজে রিডাইরেক্ট করে। এখানেই ওয়াল্ড গার্ডেন কনফিগারেশনটি অত্যন্ত গুরুত্বপূর্ণ। আপনার chilli.conf ফাইলে আপনাকে অবশ্যই HS_UAMDOMAINS প্যারামিটারটি ডিফাইন করতে হবে। এটি কমা দ্বারা বিভক্ত এমন ডোমেনের তালিকা যা গেস্টরা অথরাইজ করার আগে অ্যাক্সেস করতে পারে। আপনাকে অবশ্যই splash.purple.ai, api.purple.ai এবং পোর্টাল অ্যাসেট সরবরাহ করার জন্য ব্যবহৃত বিভিন্ন CDN ডোমেন এর অন্তর্ভুক্ত করতে হবে। আপনি কোনো ডোমেন বাদ দিলে পোর্টালটি লোড হতে ব্যর্থ হবে অথবা সোশ্যাল লগইন বাটনগুলো কাজ করবে না। বিষয়টি খুবই সাধারণ। গেস্ট একবার Purple পোর্টালে অথরাইজ করলে, Purple-এর ক্লাউড RADIUS সার্ভার UDP পোর্ট 1812-এ CoovaChilli-র কাছে একটি Access-Accept মেসেজ পাঠায়। এরপর CoovaChilli সেই MAC অ্যাড্রেসটি অথরাইজ করে, সেই সেশনের জন্য ফায়ারওয়াল রুল ওপেন করে এবং UDP পোর্ট 1813-এ অ্যাকাউন্টিং ডেটা পাঠানো শুরু করে। অ্যাকাউন্টিং ঐচ্ছিক নয়। এর মাধ্যমেই Purple আপনার অ্যানালিটিক্স ড্যাশবোর্ডের জন্য সেশনের সময়সীমা এবং ডেটা ব্যবহার ট্র্যাক করে। এবার স্টাফ WiFi-এর কথা বলা যাক। স্টাফদের জন্য আপনি CoovaChilli ব্যবহার করবেন না। স্টাফ নেটওয়ার্কের জন্য আপনি WPA2-Enterprise বা WPA3-Enterprise-সহ hostapd ব্যবহার করবেন। এটি স্ট্যান্ডার্ড 802.1X অথেন্টিকেশন। অ্যাক্সেস পয়েন্টটি অথেন্টিকেটর হিসেবে কাজ করে, যা আপনার RADIUS সার্ভারে EAP মেসেজগুলো ফরোয়ার্ড করে। কর্পোরেট ডিভাইসের জন্য আপনার EAP-TLS স্থাপন করা উচিত, যা পাসওয়ার্ডের পরিবর্তে ডিজিটাল সার্টিফিকেট ব্যবহার করে। এটি ক্রেডেনশিয়াল চুরি হওয়ার ঝুঁকি পুরোপুরি দূর করে। আপনি আপনার RADIUS সার্ভার নির্দেশ করার জন্য hostapd.conf কনফিগার করবেন এবং RADIUS সার্ভার সেই নির্দিষ্ট ইউজারের জন্য VLAN অ্যাসাইনমেন্ট নির্ধারণ করবে।এটি আমাদের আধুনিক OpenWrt ডেপ্লয়মেন্টের অন্যতম শক্তিশালী ফিচারে নিয়ে আসে: Private Pre-Shared Keys, বা PPSK। একটি মাল্টি-টেন্যান্ট পরিবেশে - যেমন একটি বিল্ড-টু-রেন্ট প্রপার্টি বা একটি কোওয়ার্কিং স্পেস - আপনি পঞ্চাশটি ভিন্ন SSID ব্রডকাস্ট করতে চাইবেন না। এটি আপনার এয়ারটাইম কার্যক্ষমতা নষ্ট করে। এর পরিবর্তে, আপনি একটি মাত্র SSID ব্রডকাস্ট করুন। যখন একটি ডিভাইস কানেক্ট হয়, hostapd তখন RADIUS সার্ভারে MAC অ্যাড্রেস পাঠায়। RADIUS সার্ভার Tunnel-Password অ্যাট্রিবিউট ব্যবহার করে সেই ডিভাইসের জন্য একটি নির্দিষ্ট পাসফ্রেজ এবং একটি নির্দিষ্ট VLAN ID সহ সাড়া দেয়। এর মানে হল শপ A-এর রিটেইল স্টাফ মেম্বার VLAN 10-এ চলে যাবেন, যখন মূল হলের ইভেন্ট অ্যাটেন্ডি VLAN 30-এ চলে যাবেন, অথচ সবাই একই SSID-এ কানেক্ট করছেন। এটি অত্যন্ত মার্জিত, এটি স্কেল করে এবং এটি এজে সর্বনিম্ন-সুবিধা অ্যাক্সেস প্রয়োগ করে। [6:00 - 8:00] ইমপ্লিমেন্টেশন সুপারিশ ও ত্রুটিসমূহ আসুন ইমপ্লিমেন্টেশন নিয়ে আলোচনা করি। Purple-এর সাথে OpenWrt ডেপ্লয় করার সময়, আপনার প্রথম ধাপ হল সর্বদা Purple পোর্টাল থেকে আপনার RADIUS ক্রেডেনশিয়াল সংগ্রহ করা। আপনার প্রাইমারি এবং সেকেন্ডারি RADIUS IP অ্যাড্রেস, শেয়ার্ড সিক্রেট এবং পোর্টাল URL প্রয়োজন হবে। আপনার OpenWrt কনফিগারেশনে, আপনি আপনার গেস্ট নেটওয়ার্ক ইন্টারফেস - সাধারণত eth1 বা wlan0 - নির্ধারণ করবেন এবং এর সাথে CoovaChilli বাইন্ড করবেন। নিশ্চিত করুন যে আপনার chilli.conf-এ থাকা HS_RADSECRET-টি Purple পোর্টালে থাকা তথ্যের সাথে হুবহু মিলে যায়। একটি মাত্র অক্ষরের অমিল হলেও সাইলেন্ট অথেন্টিকেশন ব্যর্থতা ঘটবে। সবচেয়ে বড় যে ত্রুটি আমরা দেখি তা হল প্রি-অথেন্টিকেশন DNS রেজোলিউশন। CoovaChilli DNS রিকোয়েস্ট ইন্টারসেপ্ট করে। যদি আপনার আপস্ট্রিম ফায়ারওয়াল OpenWrt রাউটারকে এক্সটার্নাল DNS রিসলভ করতে বাধা দেয়, তবে Captive Portal রিডাইরেক্ট ব্যর্থ হবে। নিশ্চিত করুন যে আপনার OpenWrt রাউটারের Google বা OpenDNS-এর মতো পাবলিক রিজলভারগুলিতে নিরবচ্ছিন্ন DNS অ্যাক্সেস রয়েছে। আরেকটি সাধারণ সমস্যা হল iOS এবং Android-এ বিল্ট-ইন Captive Portal ডিটেকশন মেকানিজম। অ্যাপল ডিভাইসগুলি ইন্টারনেট কানেক্টিভিটি চেক করার জন্য captive.apple.com-এ যোগাযোগ করে। আপনি যদি আপনার ওয়াল্ড গার্ডেনে captive.apple.com-কে হোয়াইটলিস্ট করেন, তবে ডিভাইসটি ভাববে যে তার ইন্টারনেট অ্যাক্সেস রয়েছে এবং এটি captive network assistant পপ-আপ করবে না। আপনি যদি স্বয়ংক্রিয় পপ-আপ চান, তবে অ্যাপলের ডোমেনগুলিকে ওয়াল্ড গার্ডেনের বাইরে রাখুন। [8:00 - 9:00] র‍্যাপিড-ফায়ার প্রশ্নোত্তর আসুন একটি র‍্যাপিড-ফায়ার প্রশ্নোত্তর পর্ব করা যাক। প্রশ্ন এক: আমি কি একই OpenWrt অ্যাক্সেস পয়েন্টে CoovaChilli এবং hostapd 802.1X চালাতে পারি? হ্যাঁ। আপনি আপনার গেস্ট SSID ইন্টারফেসে CoovaChilli বাইন্ড করবেন এবং আপনার স্টাফ SSID ইন্টারফেসে 802.1X সহ hostapd কনফিগার করবেন। এগুলো স্বাধীনভাবে কাজ করে। প্রশ্ন দুই: Purple কি OpenWrt-এর সাথে ডায়নামিক VLAN অ্যাসাইনমেন্ট সমর্থন করে? হ্যাঁ। Purple-এর RADIUS সার্ভারগুলি স্ট্যান্ডার্ড RADIUS অ্যাট্রিবিউট ফেরত দিতে পারে, যার মধ্যে রয়েছে Tunnel-Type, Tunnel-Medium-Type এবং Tunnel-Private-Group-ID, যা OpenWrt-কে নির্দেশ দেয় অথেন্টিকেটেড ইউজারকে একটি নির্দিষ্ট VLAN-এ নিয়ে যেতে।প্রশ্ন তিন: OpenWrt রাউটার যদি Purple RADIUS সার্ভারের সাথে সংযোগ হারায় তবে কী হবে? CoovaChilli নতুন সেশন যাচাই করতে ব্যর্থ হবে। বিদ্যমান অনুমোদিত সেশনগুলি তাদের সেশনের সময়সীমা শেষ না হওয়া পর্যন্ত সক্রিয় থাকবে। উচ্চ প্রাপ্যতা নিশ্চিত করতে সর্বদা সেকেন্ডারি Purple RADIUS সার্ভার কনফিগার করুন। [9:00 - 10:00] সারসংক্ষেপ এবং পরবর্তী পদক্ষেপ সংক্ষেপে বলতে গেলে: OpenWrt এন্টারপ্রাইজ WiFi-এর জন্য একটি শক্তিশালী, হার্ডওয়্যার-নিরপেক্ষ প্ল্যাটফর্ম প্রদান করে। গেস্ট অ্যাক্সেসের জন্য CoovaChilli এবং সুরক্ষিত কর্মী ও মাল্টি-টেন্যান্ট PPSK-এর জন্য hostapd সংহত করার মাধ্যমে, আপনি একটি আইডেন্টিটি-ভিত্তিক নেটওয়ার্ক তৈরি করছেন। Purple RADIUS পরিকাঠামোর জটিলতাকে সহজ করে তোলে, একটি ক্লাউড-পরিচালিত পোর্টাল প্রদান করে যা ফার্স্ট-পার্টি ডেটা সংগ্রহ করে এবং সম্মতি নিশ্চিত করে। আপনার পরবর্তী পদক্ষেপ হলো আপনার বর্তমান কাস্টম ফার্মওয়্যার ডিপ্লয়মেন্টগুলি অডিট করা। আপনার ওয়াল্ড গার্ডেনগুলি সম্পূর্ণরূপে পূর্ণ রয়েছে কিনা তা নিশ্চিত করুন, আপনার RADIUS অ্যাকাউন্টিংয়ের ব্যবধানগুলি যাচাই করুন এবং শেয়ার করা PSKs থেকে ডায়নামিক PPSK সেগমেন্টেশনে স্থানান্তরের পরিকল্পনা শুরু করুন। Purple টেকনিক্যাল ব্রিফিং শোনার জন্য আপনাকে ধন্যবাদ। Purple কীভাবে আপনার গেস্ট WiFi সুরক্ষিত ও মনেটাইজ করতে পারে সে সম্পর্কে আরও জানতে, purple.ai ভিজিট করুন। পরবর্তী সময় পর্যন্ত বিদায়।

OpenWrt হলো একটি ওপেন-সোর্স ফার্মওয়্যার যা বিভিন্ন ধরণের রাউটার এবং অ্যাক্সেস পয়েন্টে চলে। Purple এর উপরে গেস্ট লেয়ারটি যুক্ত করে: আপনার ভিজিটররা যে captive portal দেখতে পান, সাইন-ইন জার্নি এবং আপনার সংগ্রহ করা ফার্স্ট-পার্টি ডেটা। এটি আপনার হার্ডওয়্যার বা ফার্মওয়্যার পরিবর্তন করে না।

OpenWrt কীভাবে Purple গেস্ট WiFi-এর সাথে কাজ করে

Purple একটি ক্লাউড ওভারলে এবং এটি হার্ডওয়্যার-অ্যাগনস্টিক। যদি আপনার ডিভাইসটি একটি এক্সটার্নাল captive portal এবং RADIUS সাপোর্ট করে, তবে এটি Purple-এর গেস্ট সাইন-ইন চালাতে পারে। দুটি স্ট্যান্ডার্ড মেকানিজম এই কাজটি করে।

  • এক্সটার্নাল ওয়েব অথেন্টিকেশন: ডিভাইসটি সরাসরি অ্যাক্সেস দেওয়ার পরিবর্তে একটি নতুন ডিভাইসকে আপনার Purple স্প্ল্যাশ পেজে রিডাইরেক্ট করে। ভিজিটর সাইন ইন করেন এবং পেজটি আবার ডিভাইসের কাছে নিয়ন্ত্রণ ফিরিয়ে দেয়।
  • RADIUS: ডিভাইসটি প্রতিটি সাইন-ইন চেক করে Purple-এর RADIUS সার্ভিসের বিপরীতে স্ট্যান্ডার্ড পোর্টে, অথেন্টিকেশনের জন্য 1812 এবং অ্যাকাউন্টিংয়ের জন্য 1813। অ্যাকাউন্টিং ডেটাই আপনার ভিজিটর অ্যানালিটিক্সকে সচল রাখে।

একটি ওয়াল্ড গার্ডেন (walled garden), যা কোনো ডিভাইস সাইন ইন করার আগে অ্যাক্সেস করতে পারে এমন অ্যাড্রেসের একটি ছোট অ্যালাউ-লিস্ট, স্প্ল্যাশ পেজ লোড হতে এবং যেকোনো পেমেন্ট বা সোশ্যাল-লগইন ধাপগুলো সম্পূর্ণ করতে সাহায্য করে।

এটাই পুরো মডেল: আপনার হার্ডওয়্যার প্যাকেটগুলো স্থানান্তর করে, Purple সাইন-ইন এবং ডেটার মালিকানা পরিচালনা করে। যেহেতু এটি স্ট্যান্ডার্ড ওয়েব অথেন্টিকেশন এবং RADIUS-এ চলে, তাই এটি Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme এবং Fortinet জুড়ে একইভাবে কাজ করে। Purple ডিজাইনগতভাবেই হার্ডওয়্যার-অ্যাগনস্টিক।

আপনার যা প্রয়োজন

  • একটি OpenWrt ডিভাইস যা একটি এক্সটার্নাল captive portal এবং RADIUS সাপোর্ট করে।
  • আপনার স্প্ল্যাশ পেজ এবং সাইন-ইন জার্নি সেটআপ সহ একটি Purple ভেন্যু।
  • আপনার Purple ড্যাশবোর্ড থেকে প্রাপ্ত আপনার Purple RADIUS ডিটেইলস এবং ওয়াল্ড গার্ডেন (walled garden) অ্যাড্রেস।

Purple-এর সাথে এটি সেট আপ করুন

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

Purple সমর্থিত হার্ডওয়্যার

এই পেজটি ব্যাখ্যা করে যে কীভাবে পার্টসগুলো একসাথে খাপ খায়, যাতে আপনি বুঝতে পারেন প্রতিটি ধাপ কী কাজ করছে।

আপনি যা পাবেন

একবার গেস্টরা Purple-এর মাধ্যমে সাইন ইন করলে, প্রতিটি ভিজিট ভেরিফাইড, সচেতন পছন্দের অপ্ট-ইন ফার্স্ট-পার্টি ডেটাতে পরিণত হয়: কে ভিজিট করেছে, কত ঘন ঘন এবং কীভাবে তাদের অনুমতি নিয়ে তাদের কাছে পৌঁছানো যায়। এটিই হলো এমন WiFi যা মানুষকে সংযুক্ত করে এবং এমন WiFi যা আপনার নিজস্ব একটি মার্কেটিং অডিয়েন্স তৈরি করে - এর মধ্যকার পার্থক্য। Purple হলো GDPR-aligned এবং ISO 27001 সার্টিফাইড, যার রয়েছে ৮০,০০০-এরও বেশি লাইভ ভেন্যু জুড়ে ৯৯.৯৯৯% আপটাইম।

মূল সংজ্ঞাসমূহ

ক্লাউড ওভারলে

Purple আপনার বিদ্যমান হার্ডওয়্যারের উপরে কাজ করে। কিটটি WiFi চালাতে থাকে; Purple কোনো কিছু প্রতিস্থাপন না করেই গেস্ট সাইন-ইন এবং ডেটা পরিচালনা করে।

হার্ডওয়্যার-অ্যাগনস্টিক

Purple কোনো একটি নির্দিষ্ট ভেন্ডরের সাথে আবদ্ধ না থেকে যেকোনো অ্যাক্সেস পয়েন্ট বা কন্ট্রোলারের সাথে কাজ করে যা একটি এক্সটার্নাল captive portal এবং RADIUS সাপোর্ট করে।

এক্সটার্নাল ওয়েব অথেন্টিকেশন

একটি স্ট্যান্ডার্ড যেখানে অ্যাক্সেস পয়েন্টটি নিজেই অ্যাক্সেস দেওয়ার পরিবর্তে একটি নতুন ডিভাইসকে সাইন ইন করার জন্য একটি এক্সটার্নাল স্প্ল্যাশ পেজে রিডাইরেক্ট করে। Purple সেই স্প্ল্যাশ পেজটি হোস্ট করে।

RADIUS

যে প্রোটোকলটি হার্ডওয়্যার প্রতিটি সাইন-ইন চেক করতে এবং Purple-এর সাথে সেশন ডেটা লগ করতে ব্যবহার করে, স্ট্যান্ডার্ড পোর্ট 1812 (অথেন্টিকেশন) এবং 1813 (অ্যাকাউন্টিং) এর মাধ্যমে।

ওয়াল্ড গার্ডেন (Walled garden)

একটি ডিভাইস সাইন ইন করার আগে যেসকল অ্যাড্রেসে পৌঁছাতে পারে তার একটি ছোট অ্যালাউ-লিস্ট, যাতে স্প্ল্যাশ পেজ এবং যেকোনো পেমেন্ট বা সোশ্যাল-লগইন ধাপগুলো লোড হতে পারে।

এই সিরিজে পড়া চালিয়ে যান

Ruckus Unleashed এবং গেস্ট WiFi: Purple এর সাথে captive portal সেটআপ

কীভাবে Ruckus Unleashed Purple গেস্ট WiFi এর সাথে কাজ করে: এক্সটার্নাল ওয়েব অথেনটিকেশন, RADIUS এবং একটি walled garden, যেখানে সঠিক কনফিগারেশনের জন্য Purple এর ধাপে ধাপে সেটআপ গাইডের লিঙ্ক দেওয়া রয়েছে।

গাইডটি পড়ুন →

HPE Aruba-এর জন্য Captive Portal: Purple গেস্ট WiFi-এর সাথে এটি সেট আপ করুন

Aruba Central বা Virtual Controller-এর মাধ্যমে একটি এক্সটার্নাল captive portal, RADIUS এবং একটি allowlist ব্যবহার করে Purple-এর সাথে HPE Aruba Instant অ্যাক্সেস পয়েন্টে গেস্ট captive portal সেট আপ করা।

গাইডটি পড়ুন →

Grandstream GWN এবং guest WiFi: Purple এর সাথে captive portal সেটআপ

Grandstream GWN অ্যাক্সেস পয়েন্ট কীভাবে Purple গেস্ট WiFi এর সাথে কাজ করে: একটি এক্সটার্নাল স্প্ল্যাশ পেজ, RADIUS এবং একটি walled garden, সাথে সঠিক কনফিগারেশনের জন্য Purple এর ধাপে ধাপে সেটআপ গাইডের লিঙ্ক।

গাইডটি পড়ুন →