- পাই-হোল রাস্পবেরি পাইতে ফিল্টারিং ডিএনএস সার্ভার হিসেবে কাজ করে নেটওয়ার্ক স্তরে বিজ্ঞাপন, ট্র্যাকার এবং ক্ষতিকারক ডোমেন ব্লক করে।
- ইনস্টলেশনের জন্য একটি আপডেটেড রাস্পবেরি পাই অপারেটিং সিস্টেম সহ একটি রাস্পবেরি পাই, একটি স্থিতিশীল ইন্টারনেট সংযোগ এবং একটি স্ট্যাটিক আইপি কনফিগারেশন প্রয়োজন।
- রাউটার বা DHCP কে রাস্পবেরি পাই এর IP ঠিকানা ব্যবহার করার জন্য কনফিগার করা, DNS হিসেবে, সমস্ত ডিভাইসকে পৃথক কনফিগারেশন ছাড়াই Pi-হোলের মধ্য দিয়ে যেতে দেয়।
- অতিরিক্ত ব্ল্যাকলিস্ট, পরিবারের জন্য 1.1.1.1 এর মতো সুরক্ষিত DNS এবং ক্লাউডফ্লেয়ারের মাধ্যমে DNS-ওভার-HTTPS ব্যবহার করে ফিল্টারিং আরও শক্তিশালী করা যেতে পারে।

আপনার ড্রয়ারে যদি একটি রাস্পবেরি পাই অব্যবহৃত অবস্থায় পড়ে থাকে, তবে পাই-হোল (Pi-hole) ব্যবহার করে সেটিকে আপনার পুরো নেটওয়ার্কের জন্য একটি অ্যাড ব্লকারে পরিণত করা সম্ভবত এটিকে নতুন জীবন দেওয়ার অন্যতম সেরা উপায়। মাত্র কয়েক ঘণ্টার মধ্যেই আপনি প্রতিটি ব্রাউজারে এক্সটেনশন ইনস্টল না করেই আপনার সমস্ত ডিভাইসে বিজ্ঞাপন, ট্র্যাকার এবং ক্ষতিকর ডোমেইনের জন্য একটি ফিল্টার চালু করে ফেলতে পারবেন।
বিরক্তিকর ব্যানার থেকে আপনাকে বাঁচানোর পাশাপাশি, পাই-হোল খুব জনপ্রিয় হয়েছে কারণ এটি ডিএনএস (DNS) পর্যায়ে আপনার গোপনীয়তা রক্ষা করতে সাহায্য করে , এবং বিভিন্ন কোম্পানিকে আপনার ব্রাউজিং ডেটা সংগ্রহ করা থেকে বিরত রাখে। চলুন, একটি রাস্পবেরি পাই-তে কীভাবে পাই-হোল ব্যবহার করতে হয়, তা ধাপে ধাপে বিস্তারিতভাবে দেখে নেওয়া যাক: এর পূর্বশর্ত ও ইনস্টলেশন থেকে শুরু করে অতিরিক্ত ব্ল্যাকলিস্ট বা ডিএনএস-ওভার-এইচটিটিপিএস (DNS-over-HTTPS)-এর মতো উন্নত কনফিগারেশন পর্যন্ত।
পাই-হোল কী এবং কেন এটি রাস্পবেরি পাইতে ইনস্টল করা মূল্যবান?
পাই-হোল মূলত একটি ডিএনএস সার্ভার, যা ইন্টারনেটে পৌঁছানোর আগে অনুরোধগুলোকে ফিল্টার করে । যখন আপনার নেটওয়ার্কের কোনো ডিভাইস কোনো বিজ্ঞাপন লোড করতে বা কোনো ট্র্যাকিং সার্ভারের সাথে যোগাযোগ করতে চায়, তখন ডিএনএস অনুরোধটি পাই-হোলের মধ্যে দিয়ে যায়। পাই-হোল তার ব্লক-লিস্ট পরীক্ষা করে এবং ডোমেইনটি ব্লক করা থাকলে, একটি অস্তিত্বহীন বা স্থানীয় ঠিকানা দিয়ে সাড়া দেয়, ফলে বিজ্ঞাপনটি কখনোই কোনো কন্টেন্ট ডাউনলোড করে না।
এই সলিউশনটি কয়েকটি ফ্রি সফটওয়্যার টুল নিয়ে গঠিত যা একসাথে কাজ করে: একটি লাইটওয়েট DNS/DHCP সার্ভার (পূর্বে dnsmasq নামে পরিচিত, যা এখন FTL-এর সাথে একীভূত), lighttpd-এর মতো একটি ওয়েব সার্ভার, অ্যাডমিনিস্ট্রেশন ইন্টারফেসের জন্য PHP, এবং একটি AdminLTE-ভিত্তিক প্যানেল যা আপনাকে ব্রাউজার থেকেই পরিসংখ্যান দেখতে ও সেটিংস পরিচালনা করতে দেয়।
রাস্পবেরি পাই-তে এটি ইনস্টল করা খুবই যুক্তিযুক্ত, কারণ এটি একটি কম শক্তি খরচকারী, শব্দহীন এবং সর্বদা চালু থাকা ডিভাইস। এমনকি ৫১২ মেগাবাইট র্যামের একটি পুরোনো রাস্পবেরি পাই-ও একটি সাধারণ হোম নেটওয়ার্কের ডিএনএস অনুরোধগুলো সামলানোর জন্য যথেষ্টরও বেশি, তাই আপনার বাড়িতে আগে থেকেই থাকা হার্ডওয়্যার ব্যবহার করার এটি একটি চমৎকার উপায় ।
পাই-হোল খারাপ খ্যাতিসম্পন্ন ডোমেইনগুলোর (বিজ্ঞাপন, ম্যালওয়্যার , ফিশিং, স্প্যাম, ট্র্যাকিং, ইত্যাদি) ব্ল্যাকলিস্টের উপর নির্ভর করে এবং ফিল্টারিং আরও নিখুঁত করার জন্য আপনাকে অতিরিক্ত থার্ড-পার্টি তালিকা যোগ করার সুযোগ দেয় । এছাড়াও, এটিকে ফিল্টার করা ডিএনএস পরিষেবাগুলোর (যেমন ফ্যামিলিস-এর জন্য 1.1.1.1) অথবা ডিএনএস-ওভার-এইচটিটিপিএস-এর সাথে যুক্ত করা যায়, যাতে কোয়েরিগুলো প্রোভাইডার পর্যন্ত সম্পূর্ণ এনক্রিপ্টেড থাকে।
রাস্পবেরি পাইতে পাই-হোল ব্যবহারের পূর্বশর্ত
কমান্ড টাইপ করা শুরু করার আগে , একটি মসৃণ ইনস্টলেশন এবং স্থিতিশীল সিস্টেম নিশ্চিত করার জন্য কিছু প্রাথমিক হার্ডওয়্যার ও নেটওয়ার্কের প্রয়োজনীয়তা পূরণ হয়েছে কিনা তা যাচাই করে নেওয়া ভালো ।
সর্বপ্রথম আপনার যা প্রয়োজন হবে তা হলো কমপক্ষে ৫১২ মেগাবাইট র্যামসহ একটি রাস্পবেরি পাই । কার্যত যেকোনো বর্তমান মডেল (রাস্পবেরি পাই ২ থেকে শুরু করে, যার মধ্যে পাই ৩, ৩বি+, ৪ ইত্যাদি অন্তর্ভুক্ত) কোনো সমস্যা ছাড়াই কাজ করবে। এমনকি পুরোনো মডেলগুলোও কোনো রকম বেগ ছাড়াই পাই-হোল চালাতে পারে, যতক্ষণ না আপনি সেগুলোকে অন্য কোনো ভারী কাজ করতে বলেন।
স্টোরেজের জন্য , কমপক্ষে ২ জিবি খালি জায়গা সহ একটি এসডি কার্ডই যথেষ্ট , যদিও বাস্তবে ৮, ১৬ বা ৩২ জিবির কার্ডই বেশি প্রচলিত। পাই-হোলের স্টোরেজ ব্যবহার খুবই কম: আপনি যদি কোয়েরির দীর্ঘ ইতিহাস রাখেন, তবে লগগুলোই সবচেয়ে বেশি জায়গা নেয় , কিন্তু ঘরোয়া ব্যবহারের জন্য আপনার কোনো সমস্যা হবে না।
আপনার রাস্পবেরি পাই-এর জন্য একটি স্থিতিশীল ইন্টারনেট সংযোগ প্রয়োজন, যা ওয়াই-ফাই অথবা ইথারনেট কেবলের মাধ্যমে হতে পারে । যদি আপনার কাছে বিকল্প থাকে, তবে সংযোগে বাধা এড়ানোর জন্য তারযুক্ত সংযোগ ব্যবহার করার পরামর্শ দেওয়া হয়, বিশেষ করে যদি পাই-হোল একটি ডিএইচসিপি সার্ভার হিসেবেও কাজ করে এবং আপনি এটিকে আপনার নেটওয়ার্কের "মস্তিষ্ক" হিসেবে ব্যবহার করতে চান।
আপনার রাউটারের অ্যাডমিনিস্ট্রেশন প্যানেলে অ্যাক্সেস থাকাটাও খুব জরুরি । নেটওয়ার্ক ডিএনএস হিসেবে আপনার রাস্পবেরি পাই-এর আইপি অ্যাড্রেস নির্দিষ্ট করতে, অথবা পাই-হোল যদি সেই সার্ভিসটিও পরিচালনা করে তবে রাউটারের ডিএইচসিপি সার্ভার নিষ্ক্রিয় করতে আপনাকে সেটিংসে প্রবেশ করতে হবে। আপনি যদি এটিতে কীভাবে প্রবেশ করতে হয় তা না জানেন, তবে আপনার রাউটারের ম্যানুয়াল বা নিচের স্টিকারটি দেখুন, যেখানে সাধারণত ডিফল্ট আইপি অ্যাড্রেস এবং লগইন ক্রেডেনশিয়াল দেওয়া থাকে।
রাস্পবেরি পাই এবং এর অপারেটিং সিস্টেম প্রস্তুত করা হচ্ছে
Pi-hole মসৃণভাবে কাজ করার জন্য, Raspberry Pi OS (Raspbian)- এর একটি পরিষ্কার এবং হালনাগাদ ইনস্টলেশন দিয়ে শুরু করার পরামর্শ দেওয়া হয় । আপনি যদি এটিকে শুধুমাত্র সার্ভার হিসেবে ব্যবহার করতে চান, তাহলে এর লাইট সংস্করণটি (গ্রাফিক্যাল পরিবেশ ছাড়া) বেছে নিতে পারেন, যা রিসোর্স সাশ্রয় করে এবং সিস্টেমকে হালকা করে তোলে।
অনেক ক্ষেত্রে, সবচেয়ে দ্রুত উপায় হলো অফিসিয়াল রাস্পবেরি পাই ইমেজার টুল ব্যবহার করা, যা উইন্ডোজ , ম্যাকওএস এবং লিনাক্সের জন্য উপলব্ধ । এটি আপনাকে খুব নির্দেশিত উপায়ে পাই মডেল, অপারেটিং সিস্টেম এবং ইনস্টলেশন মাধ্যম (এসডি কার্ড বা এক্সটার্নাল ইউএসবি ড্রাইভ) নির্বাচন করার সুযোগ দেয়।
আপনার কাছে যদি আগে থেকেই রাস্পবিয়ানের পুরোনো সংস্করণ (যেমন, ডেবিয়ান জেসি-ভিত্তিক) সহ একটি পুরোনো রাস্পবেরি পাই থাকে, তাহলে আপগ্রেড করার জন্য আপনাকে রিপোজিটরিগুলোকে লিগ্যাসি রিপোজিটরিতে পরিবর্তন করতে হতে পারে। এর জন্য আপনাকে `/etc/apt/sources.list` ফাইলটি এডিট করে `deb http://legacy.raspbian.org/raspbian/ jessie main contrib`-এর মতো এন্ট্রি যোগ করতে হবে এবং তারপর `sudo apt-get update && sudo apt-get upgrade` কমান্ড দিয়ে একটি সম্পূর্ণ আপগ্রেড চালিয়ে ডিভাইসটি রিবুট করতে হবে।
Raspberry Pi 3B-এর মতো কিছু নির্দিষ্ট মডেলে, পারফরম্যান্সের কারণে অথবা হাতের কাছে থাকা ড্রাইভটির কারণে মাইক্রোএসডি কার্ডের পরিবর্তে একটি এক্সটার্নাল ইউএসবি ড্রাইভ থেকে বুট করার প্রবণতা দেখা যায়। এইসব ক্ষেত্রে, আপনি /boot/config.txt ফাইলটি এডিট করে program_usb_boot_mode=1 লাইনটি যোগ করে, কম্পিউটার রিস্টার্ট করে এবং vcgencmd otp_dump | grep 17: কমান্ডের মাধ্যমে অপশনটি সঠিকভাবে চালু হয়েছে কিনা তা যাচাই করে ইউএসবি বুট মোড কনফিগার করতে পারেন।
নির্বাচিত ড্রাইভ থেকে সিস্টেমটি চালু করার পর, Pi-hole ইনস্টল করার আগে আপনার কাছে সমস্ত সর্বশেষ নিরাপত্তা প্যাচ এবং প্যাকেজ রয়েছে তা নিশ্চিত করতে `sudo apt-get update && sudo apt-get upgrade` এই ক্লাসিক কমান্ডগুলো ব্যবহার করে একটি সম্পূর্ণ সিস্টেম আপডেট করার পরামর্শ দেওয়া হয়।
দূরবর্তী অ্যাক্সেস, SSH, এবং প্রাথমিক সিস্টেম কনফিগারেশন
আপনার রাস্পবেরি পাই সুবিধাজনকভাবে পরিচালনা করার জন্য, SSH-এর মাধ্যমে রিমোট অ্যাক্সেস চালু করাই সবচেয়ে ভালো , যাতে এটিকে স্থায়ীভাবে মনিটর, কিবোর্ড এবং মাউসের সাথে সংযুক্ত রাখতে না হয়। এর ফলে আপনি আপনার প্রধান কম্পিউটার থেকে টার্মিনাল অথবা উইন্ডোজের জন্য PuTTY-এর মতো টুল ব্যবহার করে এটিকে পরিচালনা করতে পারবেন ।
রাস্পবেরি পাই ওএস থেকে, আপনি raspi-config টুল ব্যবহার করে SSH সার্ভারটি সক্রিয় করতে পারেন। Interfacing Options মেনুতে যান এবং SSH অপশনটি চালু করুন । সিস্টেমটি পরিষেবাটি চালু হয়েছে কিনা তা নিশ্চিত করবে, এবং তারপর থেকে আপনি পাই-এর আইপি অ্যাড্রেস ব্যবহার করে আপনার লোকাল নেটওয়ার্ক থেকে সংযোগ করতে পারবেন।
আপনার রাস্পবেরি পাইকে নেটওয়ার্কে কোন আইপি অ্যাড্রেস দেওয়া হয়েছে তা জানতে, আপনি পাই-এর টার্মিনালে `hostname -I` কমান্ডটি ব্যবহার করতে পারেন । এই আইপি অ্যাড্রেসটি লিখে রাখুন, কারণ SSH-এর মাধ্যমে সংযোগ করতে এবং পরে পাই-হোল ওয়েব ইন্টারফেস অ্যাক্সেস করতে আপনার এটি প্রয়োজন হবে।
আপনি যদি উইন্ডোজ ব্যবহার করেন, তবে সংযোগ করার একটি প্রচলিত উপায় হলো PuTTY-কে SSH ক্লায়েন্ট হিসেবে ব্যবহার করা , যেখানে রাস্পবেরি পাই-এর আইপি অ্যাড্রেস, পোর্ট ২২ এবং প্রথম বুটে কনফিগার করা ব্যবহারকারীর ক্রেডেনশিয়াল প্রবেশ করাতে হয়। লিনাক্স বা ম্যাকওএস থেকে, টার্মিনাল থেকে কেবল `ssh user@IP_address` কমান্ডটি চালান।
কিছু প্রাথমিক নিরাপত্তা ব্যবস্থা নিতে ভুলবেন না, যেমন রাস্পবেরি পাই-তে লগ ইন করার জন্য ব্যবহৃত ইউজারের ডিফল্ট পাসওয়ার্ড পরিবর্তন করা এবং, যদি আপনি আরও সুনির্দিষ্ট হতে চান, তাহলে অপ্রয়োজনীয় সার্ভিসগুলো সীমিত করা অথবা রিসোর্স সাশ্রয়ের জন্য গ্রাফিক্যাল এনভায়রনমেন্টের পরিবর্তে ডিফল্টভাবে সিস্টেমটিকে কনসোল মোডে বুট করানো।
রাস্পবেরি পাইতে পাই-হোল ইনস্টল করুন
রাস্পবেরি পাই আপডেট করা হয়ে গেলে, SSH-এর মাধ্যমে অ্যাক্সেসযোগ্য এবং ইন্টারনেটের সাথে সংযুক্ত হয়ে গেলে, এবার পাই-হোল (Pi-hole) ইনস্টল করার পালা । এর জন্য কয়েকটি পদ্ধতি রয়েছে: একটি এক-লাইনের স্বয়ংক্রিয় ইনস্টলার অথবা গিটহাব (GitHub) থেকে কোড ডাউনলোড করে ম্যানুয়াল পদ্ধতিতে ইনস্টল করার প্রক্রিয়া।
সবচেয়ে জনপ্রিয় এবং দ্রুততম উপায় হলো এক-লাইনের স্বয়ংক্রিয় ইনস্টলারটি ব্যবহার করা । প্রথমে, `sudo apt-get install curl` কমান্ডটি চালিয়ে নিশ্চিত হয়ে নিন যে আপনার সিস্টেমে `curl` ইনস্টল করা আছে। যাচাই হয়ে গেলে, আপনি নিম্নলিখিত কমান্ডের মাধ্যমে ইনস্টলেশনটি শুরু করতে পারেন:
curl -sSL https://install.pi-hole.net | bash
এই কমান্ডটি অফিসিয়াল ইনস্টলেশন স্ক্রিপ্টটি ডাউনলোড করে এবং চালায় , যা আপনাকে একটি ইন্টারেক্টিভ উইজার্ডের মাধ্যমে মূল সেটিংসগুলো কনফিগার করতে নির্দেশনা দেয়: আপার ডিএনএস প্রোভাইডার, ব্লকব্লিস্ট, প্রাইভেসি মোড, স্ট্যাটিক আইপি, ইত্যাদি। এটি খুবই সুবিধাজনক, কিন্তু মনে রাখবেন যে এর জন্য সরাসরি একটি রিমোট স্ক্রিপ্ট চালাতে হয় , যা কিছু অ্যাডমিনিস্ট্রেটর নিরাপত্তাজনিত কারণে পছন্দ করেন না।
আপনি যদি আরও বেশি নিয়ন্ত্রণ চান, তাহলে গিটহাব (GitHub) থেকে প্রজেক্টটি ডাউনলোড করে একটি আধা-ম্যানুয়াল ইনস্টলেশন বেছে নিতে পারেন । এটি করার জন্য, `sudo apt install git` কমান্ড দিয়ে গিট (Git) ইনস্টল করুন এবং তারপর `git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole` কমান্ড দিয়ে রিপোজিটরিটি ক্লোন করুন। ক্লোন হয়ে গেলে, `Pi-hole/automated install/` ফোল্ডারে যান এবং `sudo bash ./basic-install.sh` কমান্ডটি চালান। এটি একই ইনস্টলারটি চালু করবে, তবে এক্ষেত্রে কোডটি আপনার লোকাল সিস্টেমে সংরক্ষিত থাকবে।
ইনস্টলেশন স্ক্রিপ্টটি ডিপেন্ডেন্সি এবং প্রয়োজনীয় প্যাকেজ (যেমন lighttpd, PHP, FTL ইত্যাদি) পরীক্ষা করা, প্রয়োজনে সেগুলো ডাউনলোড করা এবং সার্ভিসগুলো কনফিগার করার কাজ করবে। এই প্রক্রিয়ার সময়, এটি আপনাকে একটি আপস্ট্রিম ডিএনএস প্রোভাইডার (যেমন Google, Cloudflare, Quad9 বা অন্য কোনোটি) বেছে নিতে বলবে, যেটি হবে সেই সার্ভার যেখানে Pi-hole আনব্লক করা ডোমেইনগুলো থেকে আসা কোয়েরিগুলো ফরওয়ার্ড করবে।
সেটআপ উইজার্ড চলাকালীন, রাস্পবেরি পাই-এর একটি স্ট্যাটিক আইপি অ্যাড্রেস থাকবে কিনা, তাও আপনাকে নির্ধারণ করতে হবে । পাই-হোল-এর জন্য সর্বদা একই অভ্যন্তরীণ আইপি অ্যাড্রেস বজায় রাখা অত্যন্ত গুরুত্বপূর্ণ, কারণ আপনার সমস্ত ডিভাইস এবং/অথবা রাউটার সেই অ্যাড্রেসে ডিএনএস অনুরোধ পাঠানোর জন্য কনফিগার করা থাকবে। আপনি ইনস্টলারের মধ্যেই আইপি অ্যাড্রেসটি নির্ধারণ করতে পারেন অথবা আপনার রাউটারের ডিএইচসিপি সার্ভারের মাধ্যমে এটি সংরক্ষণ করতে পারেন।
ইনস্টলেশনের শেষে, উইজার্ডটি ওয়েব ইন্টারফেসের ঠিকানা এবং অ্যাডমিনিস্ট্রেটর পাসওয়ার্ড স্পষ্টভাবে প্রদর্শন করবে । এই তথ্যটি লিখে রাখা খুবই গুরুত্বপূর্ণ, কারণ পরবর্তীতে প্যানেলে প্রবেশ করতে এবং পরিবর্তন করার জন্য আপনার এটি প্রয়োজন হবে। তবে, আপনি `pihole -a -p` কমান্ডটি ব্যবহার করে যেকোনো সময় পাসওয়ার্ড পরিবর্তন করতে পারবেন।
সাধারণ ইনস্টলেশন ত্রুটির (FTL, DNS, ইত্যাদি) সমস্যা সমাধান করা
বেশিরভাগ ক্ষেত্রে, ইনস্টলেশন কোনো সমস্যা ছাড়াই সম্পন্ন হয়, কিন্তু আপনি “Error unable to get latest release location from GitHub – FTL Engine not installed” এর মতো বার্তা দেখতে পারেন । এর মানে সাধারণত এই যে, ইনস্টলেশনের সময় একটি কার্যকর DNS সার্ভার হারিয়ে গেছে, যার ফলে Pi-hole FTL কম্পোনেন্টটি ডাউনলোড করতে পারছে না।
এর সাধারণ কারণ হলো /etc/resolv.conf ফাইলে বৈধ DNS সার্ভার শেষ হয়ে যাওয়া অথবা Pi-hole চালু না থাকা অবস্থায় ফাইলটি 127.0.0.1-কে নির্দেশ করা। এর সমাধান করতে, `sudo nano /etc/resolv.conf` কমান্ড দিয়ে ফাইলটি সম্পাদনা করুন এবং `nameserver 8.8.8.8`-এর মতো একটি লাইন যোগ করুন, অথবা বিকল্পভাবে, আপনি সাময়িকভাবে কোন পাবলিক DNS সার্ভারটি ব্যবহার করতে পছন্দ করেন তার উপর নির্ভর করে 1.1.1.1 বা 9.9.9.9 যোগ করতে পারেন।
যদি দেখেন আপনার resolv.conf ফাইলে আগে থেকেই nameserver 127.0.0.1 রয়েছে , তবে এটিকে উল্লেখিত পাবলিক DNS সার্ভারগুলোর মধ্যে যেকোনো একটি দিয়ে প্রতিস্থাপন করুন। nano কী-কম্বিনেশন (ফাইলে লেখার জন্য Ctrl+O এবং বের হওয়ার জন্য Ctrl+X) অথবা আপনার পছন্দের অন্য কোনো এডিটর, যেমন vim, ব্যবহার করে পরিবর্তনগুলো সেভ করুন। এরপর Pi-hole ইনস্টলেশন কমান্ডটি আবার চালান, যাতে এটি সফলভাবে FTL এবং অন্যান্য কম্পোনেন্টগুলো ডাউনলোড করতে পারে।
আরেকটি গুরুত্বপূর্ণ বিষয় হলো রাস্পবেরি পাই-এর ইন্টারনেট সংযোগ এবং সঠিক টাইম জোন নিশ্চিত করা । ভুল টাইম জোন অথবা সিস্টেমের সময়ের সাথে প্রকৃত সময়ের বড় ধরনের অমিলের কারণে রিমোট সার্ভারে TLS চেক ব্যর্থ হতে পারে। তাই, ইনস্টলেশন শুরু করার আগে টাইম জোন ঠিক করে নেওয়া এবং সঠিক সময় যাচাই করে নেওয়া বাঞ্ছনীয়।
একবার FTL এবং DNS সংক্রান্ত যেকোনো সমস্যা সমাধান হয়ে গেলে, আপনি উইজার্ডটি শেষ করে স্বাভাবিকভাবে ওয়েব অ্যাডমিনিস্ট্রেশন কনসোলে প্রবেশ করতে পারবেন, যেখানে ড্যাশবোর্ডে আপনি রিয়েল টাইমে পরীক্ষা করে দেখতে পারবেন যে DNS কোয়েরি এবং ব্লকগুলো লগ করা হচ্ছে কিনা।
পাই-হোল ইনস্টল করার পর প্রথম পদক্ষেপ: ওয়েব অ্যাক্সেস এবং পাসওয়ার্ড
Pi-hole ইনস্টল হয়ে গেলে, পরবর্তী যৌক্তিক পদক্ষেপ হলো ওয়েব অ্যাডমিনিস্ট্রেশন ইন্টারফেসে প্রবেশ করে সবকিছু সঠিকভাবে কাজ করছে কিনা তা যাচাই করা এবং আপনার পছন্দ অনুযায়ী সেটিংস পরিবর্তন করা। ডিফল্টরূপে, কনসোলটি http://YOUR_PI_IP/admin ইউআরএল-এ অবস্থিত, যেখানে YOUR_PI_IP-এর জায়গায় আপনার রাস্পবেরি পাই-এর লোকাল অ্যাড্রেসটি বসাতে হবে।
প্রথমবার লগ ইন করার সময়, ইনস্টলারটি শেষে যে পাসওয়ার্ডটি দেখিয়েছিল, সেটি আপনার কাছে চাওয়া হবে । যদি আপনি এটি লিখে না রাখেন বা সহজে মনে রাখার মতো (কিন্তু সুরক্ষিত) কোনো পাসওয়ার্ডে পরিবর্তন করতে চান, তাহলে আপনি Pi-এর টার্মিনাল থেকে `pihole -a -p` কমান্ডটি চালিয়ে একটি নতুন পাসওয়ার্ড সেট করতে পারবেন।
ভেতরে প্রবেশ করলে, মূল প্যানেলটি মোট অনুরোধ, ব্লক করা ডোমেইন, ব্লকের শতাংশ এবং যে ক্লায়েন্টগুলো সবচেয়ে বেশিবার ডিএনএস-এ কোয়েরি করে, সেগুলোর অত্যন্ত সুস্পষ্ট পরিসংখ্যান প্রদর্শন করে। কয়েক সেকেন্ডের মধ্যেই এটি যাচাই করার একটি ভালো উপায় যে, রাস্পবেরি পাই অনুরোধে সাড়া দিচ্ছে এবং ফিল্টারিং সক্রিয় আছে।
সাইড মেনুতে আপনি ব্লক লিস্ট, হোয়াইটলিস্ট, ডিএনএস সেটিংস, ডিএইচসিপি, আপডেট এবং আরও অনেক অপশন ম্যানেজ করার জন্য সেকশন পাবেন। পরামর্শ দেওয়া হচ্ছে যে, প্রথমে কোনো গুরুত্বপূর্ণ কিছু পরিবর্তন না করে সিস্টেমটিকে সাধারণভাবে দেখে নিন এবং নিশ্চিত করুন যে উইজার্ডের পর কনফিগার করা সিস্টেমটি ডিফল্ট লিস্টগুলোর সাথে আগে থেকেই সঠিকভাবে কাজ করছে।
ড্যাশবোর্ড থেকে আপনি সাময়িকভাবে পাই-হোল চালু বা বন্ধ করতে পারেন, যেমন, যদি আপনার কোনো নির্দিষ্ট ওয়েবসাইট পরীক্ষা করার প্রয়োজন হয় যা আপনার মতে ভুলভাবে ব্লক করা হচ্ছে । এই পজ ফাংশনটি আপনার ডিভাইসগুলোর ডিএনএস সেটিংস সম্পূর্ণভাবে ওভাররাইট না করেই ফলস পজিটিভ সমাধান করার জন্য খুবই কার্যকর।
নেটওয়ার্কটি এমনভাবে কনফিগার করুন যাতে সমস্ত ডিভাইস পাই-হোল ব্যবহার করে
পাই-হোলকে কার্যকর করতে হলে, শুধু রাস্পবেরি পাই-তে এটি চালু রাখলেই চলবে না; আপনার নেটওয়ার্কের সমস্ত ডিভাইসকে অবশ্যই তাদের ডিএনএস অনুরোধ পাই-হোলের আইপি অ্যাড্রেসে পাঠাতে হবে । এটি করার দুটি প্রধান উপায় আছে: রাউটারের মাধ্যমে (ডিএইচসিপি ব্যবহার করে) অথবা প্রতিটি ডিভাইসে ম্যানুয়ালি ডিএনএস কনফিগার করে।
সবচেয়ে সহজ উপায় হলো আপনার রাউটারের অ্যাডমিনিস্ট্রেশন প্যানেলে প্রবেশ করে DHCP দ্বারা নির্ধারিত প্রাইমারি DNS সার্ভারটি পরিবর্তন করা। সাধারণত, একটি LAN বা DHCP সেকশনে আপনি "Primary DNS Server" এবং "Secondary DNS Server"-এর মতো ফিল্ড দেখতে পাবেন। প্রথম ফিল্ডে, আপনার Pi-hole চালিত Raspberry Pi-এর IP অ্যাড্রেসটি লিখতে হবে। কিছু রাউটার আপনাকে সেকেন্ডারি DNS ফিল্ডটি খালি রাখতে বা একটি এক্সটার্নাল ব্যাকআপ DNS সার্ভার কনফিগার করার সুযোগও দেয়, যদিও আপনি যদি পরেরটি করেন, তবে কিছু কোয়েরি ফিল্টারটি বাইপাস করে যেতে পারে।
Asus-এর মতো ব্র্যান্ডের রাউটারগুলিতে, এই সেটিংটি সাধারণত LAN সেটিংসের মধ্যে থাকা DHCP সার্ভার ট্যাবে পাওয়া যায় । এই মানটি পরিবর্তন করে এবং পরিবর্তনগুলি সংরক্ষণ করলে, ভবিষ্যতে যে ডিভাইসগুলি IP লিজ নবায়ন করবে বা নতুন লিজ নেবে, সেগুলি Pi-hole-কে তাদের ডিফল্ট DNS রিজলভার হিসেবে ব্যবহার করা শুরু করবে।
যদি কোনো কারণে আপনি রাউটারের ডিএনএস সেটিংস পরিবর্তন করতে না পারেন (উদাহরণস্বরূপ, আইএসপি-প্রদত্ত অত্যন্ত সীমাবদ্ধ ডিভাইসের ক্ষেত্রে), তাহলে আপনি প্রতিটি ডিভাইসে ম্যানুয়ালি ডিএনএস কনফিগার করতে পারেন। আপনার কম্পিউটার, মোবাইল ফোন, গেম কনসোল, স্মার্ট টিভি ইত্যাদির নেটওয়ার্ক সেটিংসে , আপনি রাস্পবেরি পাই-এর আইপি অ্যাড্রেসকে প্রাইমারি ডিএনএস সার্ভার হিসেবে নির্দিষ্ট করে দিতে পারেন। এতে কিছুটা বেশি খাটুনি হয়, কিন্তু এটি নিশ্চিত করে যে নির্দিষ্ট ডিভাইসটিই ফিল্টারিংয়ের সুবিধা পাবে।
আরেকটি বিকল্প হলো নেটওয়ার্কের জন্য পাই-হোলকে প্রাথমিক ডিএইচসিপি সার্ভার হিসেবে কাজ করতে দেওয়া । এক্ষেত্রে, আপনাকে রাউটারের ডিএইচসিপি সার্ভিসটি নিষ্ক্রিয় করে "সেটিংস -> ডিএইচসিপি" থেকে পাই-হোলের ডিএইচসিপি সার্ভিসটি সক্রিয় করতে হবে। এরপর থেকে, পাই-হোল সংযুক্ত ডিভাইসগুলোকে আইপি এবং ডিএনএস বরাদ্দ করবে। এটি একটি খুবই পরিচ্ছন্ন সমাধান, কিন্তু দ্বন্দ্ব এড়ানোর জন্য নেটওয়ার্কে শুধুমাত্র একটি ডিএইচসিপি সার্ভার আছে কিনা তা নিশ্চিত করতে হয়।
সেটিংস পরিবর্তন করার পর, আপনার ডিভাইসগুলোকে তাদের নেটওয়ার্ক লিজ নবায়ন করতে বাধ্য করা ভালো (এর জন্য ওয়াই-ফাই বন্ধ করে আবার চালু করুন, ক্যাবল খুলে আবার লাগান, অথবা ডিভাইসটি রিস্টার্ট করুন), যাতে তারা নতুন DNS প্যারামিটারগুলো গ্রহণ করে Pi-hole-এর মাধ্যমে সংযোগ স্থাপন শুরু করতে পারে।
রক্ষণাবেক্ষণ, আপডেট এবং নিরাপত্তা সমন্বয়
আপনার নেটওয়ার্কে একবার পাই-হোল ব্যবহার শুরু হলে, এর উন্নতি এবং নিরাপত্তা প্যাচগুলোর সুবিধা পেতে সিস্টেমটিকে হালনাগাদ রাখা জরুরি । পাই-হোলের মধ্যেই কোর, ওয়েব এবং এফটিএল—এই তিনটিকেই আপডেট করার জন্য একটি খুব সহজ কমান্ড রয়েছে: `pihole -up`।
যদি আপনি অবিলম্বে ইনস্টল না করে শুধু আপডেট চেক করতে চান , তাহলে আপনি `--check-only` প্যারামিটার সহ একই কমান্ডটি ব্যবহার করতে পারেন। এটি আপনার বর্তমান ইনস্টলেশনকে প্রভাবিত না করেই আপনাকে দেখাবে যে বিভিন্ন উপাদানের নতুন সংস্করণ উপলব্ধ আছে কিনা।
প্রক্রিয়াটি স্বয়ংক্রিয় করতে, কিছু ব্যবহারকারী রুট ক্রনট্যাবে একটি এন্ট্রি যোগ করতে পছন্দ করেন এবং সপ্তাহে একবার এমন সময়ে `pihole -up` কমান্ডটি চালান যখন নেটওয়ার্ক খুব কম ব্যবহৃত হয়, যেমন সোমবার ভোর ৫টায়। এইভাবে, কমান্ডটি ম্যানুয়ালি চালানোর কথা মনে রাখার প্রয়োজন ছাড়াই উন্নতিগুলো স্বয়ংক্রিয়ভাবে প্রয়োগ হয়ে যায়।
মনে রাখবেন যে, পাই-হোল (Pi-hole) ছাড়াও, সময়ে সময়ে প্রচলিত `sudo apt-get update && sudo apt-get upgrade` কমান্ড ব্যবহার করে রাস্পবেরি পাই ওএস (Raspberry Pi OS) এবং সিস্টেমের বাকি প্যাকেজগুলো আপডেট রাখাও একটি ভালো কাজ । এতে অপারেটিং সিস্টেমের নিজস্ব নিরাপত্তা ঝুঁকি কমে যায়।
নিরাপত্তার দৃষ্টিকোণ থেকে, পাই-হোল ওয়েব ইন্টারফেসের পাসওয়ার্ড এবং রাস্পবেরি পাই লগইন পাসওয়ার্ড পরিবর্তন করার পাশাপাশি, আপনি ওয়েব প্যানেলের অ্যাক্সেস শুধুমাত্র লোকাল নেটওয়ার্কে সীমাবদ্ধ রাখা এবং এটিকে ইন্টারনেটে উন্মুক্ত করা থেকে বিরত থাকার কথা বিবেচনা করতে পারেন। আপনার নেটওয়ার্কের বাইরে থেকে রিমোট অ্যাডমিনিস্ট্রেশনের প্রয়োজন হলে, ওয়েব কনসোল পোর্ট খোলার চেয়ে ভিপিএন (VPN) বা এসএসএইচ (SSH) টানেল ব্যবহার করাই সর্বদা শ্রেয় ।
অতিরিক্ত কালো তালিকা এবং ফিল্টারিং ফাইন-টিউনিং
পাই-হোলের ডিফল্ট ব্লক লিস্টগুলো বিজ্ঞাপন এবং ট্র্যাকিংয়ের বিরুদ্ধে ইতিমধ্যেই বেশ ভালো মানের সুরক্ষা প্রদান করে , কিন্তু অনেক ব্যবহারকারী বিশেষায়িত এক্সটার্নাল লিস্ট যোগ করে আরও এক ধাপ এগিয়ে যেতে চান। এর মাধ্যমে তারা শুধু বিজ্ঞাপনই নয়, বরং ম্যালওয়্যার, ফিশিং, র্যানসমওয়্যার বা স্প্যাম সম্পর্কিত ডোমেইনগুলোও ব্লক করতে পারেন।
তালিকার একটি জনপ্রিয় উৎস হলো দ্য ব্লক লিস্ট প্রজেক্ট , যা বিজ্ঞাপন, ম্যালওয়্যার, ফিশিং, স্প্যাম, ট্র্যাকিং এবং আরও অনেক কিছুর মতো ক্ষেত্র অনুসারে শ্রেণীবদ্ধ ডোমেইনের সংগ্রহ সরবরাহ করে। প্রতিটি তালিকা একটি ইউআরএল (URL) হিসাবে দেওয়া হয়, যা আপনি পাই-হোলের (Pi-hole) সেটিংসে কপি ও পেস্ট করে ডাউনলোড করতে এবং ব্লক করার উৎস হিসাবে ব্যবহার করতে পারেন।
অতিরিক্ত তালিকা যোগ করতে, পাই-হোল ওয়েব ইন্টারফেসে “সেটিংস -> ব্লক তালিকা” -তে যান এবং আপনি যে তালিকাগুলি অন্তর্ভুক্ত করতে চান সেগুলির URL সংশ্লিষ্ট ফিল্ডে প্রবেশ করান। পরিবর্তনগুলি সংরক্ষণ করার পরে, আপনি প্যানেল থেকেই তালিকা আপডেটটি জোরপূর্বক করতে পারেন অথবা টার্মিনালে `pihole -g` কমান্ড ব্যবহার করে ব্লক করা ডোমেনের ডেটাবেসটি পুনরায় তৈরি করতে পারেন।
যথেচ্ছভাবে তালিকা যোগ করে বাড়াবাড়ি না করাই ভালো, কারণ অতিরিক্ত উৎস আপনার রাস্পবেরি পাই-এর উপর চাপ বাড়াতে পারে এবং আরও বেশি ভুল ফলাফল তৈরি করতে পারে। বিচক্ষণ পন্থা হলো কয়েকটি ভালোভাবে রক্ষণাবেক্ষণ করা তালিকা দিয়ে শুরু করা এবং যদি দেখেন যে সেগুলি অপর্যাপ্ত, তবে আপনার ব্রাউজিং অভিজ্ঞতার উপর এর প্রভাব পর্যবেক্ষণ করার পাশাপাশি ধীরে ধীরে তালিকাগুলো প্রসারিত করা।
যেকোনো সময়, আপনি স্থানীয় হোয়াইটলিস্ট এবং ব্ল্যাকলিস্ট বিভাগ ব্যবহার করে প্রত্যাশিতভাবে কাজ করছে না এমন নির্দিষ্ট ডোমেইনগুলোকে অনুমতি দিতে বা ব্লক করতে পারেন। উদাহরণস্বরূপ, যদি কোনো প্রয়োজনীয় ডোমেইন কোনো তালিকায় থাকার কারণে একটি অ্যাপ্লিকেশন কাজ করা বন্ধ করে দেয়, তবে সেটিকে আনব্লক করতে প্যানেল থেকে হোয়াইটলিস্টে যুক্ত করুন।
ফিল্টার করা DNS এবং DNS-ওভার-HTTPS এর সাথে Pi-হোল একত্রিত করা
পাই-হোলের ব্ল্যাকলিস্ট ফিল্টারিংয়ের পাশাপাশি, আপনি এমন আপস্ট্রিম ডিএনএস পরিষেবা কনফিগার করে নিরাপত্তা আরও জোরদার করতে পারেন, যেগুলোতে নিজস্ব ফিল্টারিংও অন্তর্ভুক্ত থাকে । এর একটি সুপরিচিত উদাহরণ হলো ক্লাউডফ্লেয়ারের "1.1.1.1 for Families", যা ম্যালওয়্যার অথবা প্রাপ্তবয়স্কদের জন্য তৈরি কন্টেন্টের সাথে যুক্ত ম্যালওয়্যার ব্লক করার জন্য বিভিন্ন সংস্করণ সরবরাহ করে।
Pi-hole ইন্টারফেসের “সেটিংস -> ডিএনএস” বিভাগে, আপনি ম্যানুয়ালি বিভিন্ন ফ্যামিলির জন্য ক্লাউডফ্লেয়ারের ডিএনএস সার্ভার নির্দিষ্ট করে দিতে পারেন । উদাহরণস্বরূপ, ম্যালওয়্যার ব্লক করার জন্য 1.1.1.2 এবং 1.0.0.2-এর মতো অ্যাড্রেস (এবং তাদের IPv6 সমতুল্য) ব্যবহার করা হয়। আপনি যদি অ্যাডাল্ট কন্টেন্ট ফিল্টারিংও যোগ করতে চান, তাহলে অ্যাড্রেসগুলো হবে 1.1.1.3 এবং 1.0.0.3, সাথে তাদের IPv6 ভ্যারিয়েন্টগুলো।
এটি দ্বৈত সুরক্ষা প্রদান করে: প্রথমত, পাই-হোল পরীক্ষা করে দেখে যে ডোমেইনটি তার স্থানীয় ব্লক তালিকায় আছে কি না; যদি এটি এই ফিল্টারটি অতিক্রম করে, তবে কোয়েরিটি ক্লাউডফ্লেয়ারের নিজস্ব নিরাপত্তা নীতিসহ তার ডিএনএস- এ পাঠিয়ে দেওয়া হয় । বাড়ি বা ছোট অফিসের পরিবেশের জন্য এটি একটি শক্তিশালী সমন্বয়।
নেটওয়ার্কের মাধ্যমে ডিএনএস কোয়েরিগুলো প্লেইন টেক্সটে প্রেরিত হওয়া নিয়েও যদি আপনি চিন্তিত হন, তবে আপনি আরও এক ধাপ এগিয়ে ক্লাউডফ্লেয়ারের 'cloudflared' টুল ব্যবহার করে ডিএনএস-ওভার-এইচটিটিপিএস (DoH) কনফিগার করতে পারেন । এই ইউটিলিটিটি একটি ডিএনএস প্রক্সি হিসেবে কাজ করে: এটি একটি লোকাল অ্যাড্রেসে কোয়েরি গ্রহণ করে এবং ক্লাউডফ্লেয়ারের সার্ভারে পাঠানোর জন্য সেগুলোকে এইচটিটিপিএস-এ এনক্যাপসুলেট করে।
এই প্রক্রিয়ার মধ্যে রয়েছে ক্লাউডফ্লেয়ার্ড বাইনারি ডাউনলোড করা (উদাহরণস্বরূপ, লিনাক্স এআরএম-এর জন্য স্টেবল প্যাকেজ), সেটি এক্সট্র্যাক্ট করা, /usr/local/bin-এ কপি করা এবং এটিকে এক্সিকিউট করার অনুমতি দেওয়া। এরপর, /etc/cloudflared/config.yml-এ একটি কনফিগারেশন ফাইল তৈরি করা হয়, যেখানে proxy-dns-কে true সেট করা হয়, একটি লোকাল পোর্ট (উদাহরণস্বরূপ, ৫০৫৩) নির্দিষ্ট করা হয় এবং আপস্ট্রিম ডিএনএস সার্ভারগুলোকে HTTPS-এ সেট করা হয়, যেমন https://1.1.1.1/dns-query এবং https://1.0.0.1/dns-query।
একবার কনফিগার হয়ে গেলে, systemd-এর জন্য cloudflared পরিষেবাটি `cloudflared service install` দিয়ে ইনস্টল করা হয়, `systemctl start cloudflared` দিয়ে শুরু হয় এবং এটি "সক্রিয় (চলমান)" কিনা তা নিশ্চিত করার জন্য `systemctl status cloudflared` দিয়ে এর স্থিতি পরীক্ষা করা হয়। সেই মুহূর্ত থেকে, প্রক্সিটি localhost:5053-এ শোনে।
চূড়ান্ত ধাপটি হলো পাই-হোলের ডিএনএস সেটিংসে ফিরে গিয়ে আপস্ট্রিম ডিএনএস অ্যাড্রেসটি 127.0.0.1#5053-এ সেট করা । এইভাবে, পাই-হোল দ্বারা পরিচালিত সমস্ত কোয়েরি আপনার রাস্পবেরি পাই থেকে ক্লাউডফ্লেয়ার পর্যন্ত একটি HTTPS টানেলের মাধ্যমে এনক্রিপ্টেড অবস্থায় যাবে, যা পথিমধ্যে তৃতীয় পক্ষের দ্বারা সেগুলোকে আটকানো বা পরিবর্তন করা থেকে রক্ষা করবে।
এই পরিষেবাগুলি দ্বারা প্রদত্ত টেস্ট ডোমেন (যেমন malware.testcategory.com বা phishing.testcategory.com) ব্যবহার করে সিস্টেমটি পরীক্ষা করার মাধ্যমে আপনি দ্রুত যাচাই করতে পারবেন যে অতিরিক্ত ফিল্টারিং এবং DoH টানেলটি সঠিকভাবে কাজ করছে কিনা।
এই সমস্ত ধাপ সম্পন্ন করার পর, আপনার রাস্পবেরি পাই আপনার নেটওয়ার্কের জন্য গোপনীয়তা এবং বিজ্ঞাপন ব্লক করার একটি সত্যিকারের কেন্দ্রে রূপান্তরিত হবে, যেখানে থাকবে পাই-হোল, বিশেষায়িত তালিকা এবং, আপনার ইচ্ছানুযায়ী, এনক্রিপ্টেড ডিএনএস ও উন্নত ফিল্টারিং পরিষেবা। এরপর, আপনার প্রয়োজন অনুযায়ী তালিকা এবং সেটিংসগুলো সূক্ষ্মভাবে সমন্বয় করা এবং মাঝে মাঝে ড্যাশবোর্ড দেখে নেওয়া ছাড়া আর কিছুই করার থাকবে না যে আপনার সমস্ত ডিভাইসে বিজ্ঞাপন এবং ট্র্যাকিং কতটা কমে আসছে।
সাধারণভাবে বাইট এবং প্রযুক্তির বিশ্ব সম্পর্কে উত্সাহী লেখক। আমি লেখার মাধ্যমে আমার জ্ঞান ভাগ করে নিতে পছন্দ করি, এবং আমি এই ব্লগে এটিই করব, আপনাকে গ্যাজেট, সফ্টওয়্যার, হার্ডওয়্যার, প্রযুক্তিগত প্রবণতা এবং আরও অনেক কিছু সম্পর্কে সবচেয়ে আকর্ষণীয় জিনিস দেখাব৷ আমার লক্ষ্য হল আপনাকে একটি সহজ এবং বিনোদনমূলক উপায়ে ডিজিটাল বিশ্বে নেভিগেট করতে সাহায্য করা।