WireGuard এর VPN-এ প্যাকেট সংরক্ষণের জন্য dnsmasq দিয়ে একটি AdBlock DNS তৈরি করা হয়েছে

6 min

language: ja bn en es hi pt ru zh-cn zh-tw

নমস্কার, আমি একজন অযোগ্য ব্যক্তি।

আমি বর্তমানে 1.5Mbps লাইনে আছি, কিন্তু বিজ্ঞাপন থাকলে লোডিং একবারে শুরু হয় এবং অপ্রয়োজনীয় প্যাকেট তৈরি হয়, তাই আমি এটি বন্ধ করতে চাই।
যদিও এটি 1.5Mbps আনলিমিটেড, তবে 3 দিনে 10GB সীমা আছে বলে মনে হচ্ছে, এবং যখন যোগাযোগ 200kbps হয়ে গিয়েছিল তখন এটি নরক ছিল, তাই আমি দুঃখিত, কিন্তু আমি আমার নিজের পরিবেশে একটি বিজ্ঞাপন-ব্লকিং DNS সেট আপ করব যা VPN এর মাধ্যমে ক্যোয়ারী করবে।

dnsmasq ইনস্টল করুন

আমার WireGuard সার্ভারটি FreeBSD পরিবেশে রয়েছে, তাই আমি pkg ব্যবহার করব।

$ pkg search dnsmasq
dnsmasq-2.90_2,1               Lightweight DNS forwarder, DHCP, and TFTP server
$ pkg install dnsmasq
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 7 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        dnsmasq: 2.90_4,1
        gettext-runtime: 0.23
        gmp: 6.3.0
        indexinfo: 0.3.1
        libidn2: 2.3.7
        libunistring: 1.2
        nettle: 3.10.1

Number of packages to be installed: 7

The process will require 15 MiB more space.
3 MiB to be downloaded.

Proceed with this action? [y/N]: y
[1/7] Fetching indexinfo-0.3.1.pkg: 100%    6 KiB   5.9kB/s    00:01    
[2/7] Fetching libidn2-2.3.7.pkg: 100%  155 KiB 158.7kB/s    00:01    
[3/7] Fetching dnsmasq-2.90_4,1.pkg: 100%  390 KiB 398.9kB/s    00:01    
[4/7] Fetching nettle-3.10.1.pkg: 100%    2 MiB   1.6MB/s    00:01    
[5/7] Fetching libunistring-1.2.pkg: 100%  683 KiB 699.4kB/s    00:01    
[6/7] Fetching gmp-6.3.0.pkg: 100%  498 KiB 510.4kB/s    00:01    
[7/7] Fetching gettext-runtime-0.23.pkg: 100%  235 KiB 241.2kB/s    00:01    
Checking integrity... done (0 conflicting)
[1/7] Installing indexinfo-0.3.1...
[1/7] Extracting indexinfo-0.3.1: 100%
[2/7] Installing libunistring-1.2...
[2/7] Extracting libunistring-1.2: 100%
[3/7] Installing gmp-6.3.0...
[3/7] Extracting gmp-6.3.0: 100%
[4/7] Installing libidn2-2.3.7...
[4/7] Extracting libidn2-2.3.7: 100%
[5/7] Installing nettle-3.10.1...
[5/7] Extracting nettle-3.10.1: 100%
[6/7] Installing gettext-runtime-0.23...
[6/7] Extracting gettext-runtime-0.23: 100%
[7/7] Installing dnsmasq-2.90_4,1...
[7/7] Extracting dnsmasq-2.90_4,1: 100%
=====
Message from dnsmasq-2.90_4,1:

--
To enable dnsmasq, edit /usr/local/etc/dnsmasq.conf and
set dnsmasq_enable="YES" in /etc/rc.conf[.local]

Further options and actions are documented inside
/usr/local/etc/rc.d/dnsmasq

SECURITY RECOMMENDATION
~~~~~~~~~~~~~~~~~~~~~~~
It is recommended to enable the wpad-related options
at the end of the configuration file (you may need to
copy them from the example file to yours) to fix
CERT Vulnerability VU#598349.

$ echo 'dnsmasq_enable="YES" ' >> /etc/rc.local

প্রয়োগ করার জন্য কনফিগারেশন ফাইল পাথ হিসাবে, নিম্নলিখিতটি /usr/local/etc/dnsmasq.conf এ যোগ করুন।

conf-dir=/usr/local/etc/dnsmasq.d

ফোল্ডার তৈরি করুন

mkdir /usr/local/etc/dnsmasq.d
cd /usr/local/etc/dnsmasq.d

এখন, adblock করার জন্য তালিকাটি চালু করুন।

curl -o /usr/local/etc/dnsmasq.d/adblock.conf https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts

উপরেরটি dnsmasq পড়তে পারে না, তাই আমি এটি ফরম্যাট করব।

cat adblock.conf | awk '/^0.0.0.0/ {print "address=/"$2"/0.0.0.0"}' > tmp
rm adblock.conf 
mv tmp adblock.conf

কনফিগারেশন ফাইল পরীক্ষা করুন

সর্বনিম্ন সেটিংসে এটি এমন হয়েছে।

# cat dnsmasq.conf | grep -v '^#' | grep [A-z]
no-resolv
server=1.1.1.1
interface=wg0
listen-address=10.0.0.1
log-queries
conf-dir=/usr/local/etc/dnsmasq.d

শুরু করুন

এটি চালু হবে।

# service dnsmasq start
Starting dnsmasq.

WireGuard ক্লায়েন্ট সাইড

ক্লায়েন্ট-সাইড DNS সার্ভারকে dnsmasq এর ListenIP হিসাবে সেট করুন। অতএব, এই ক্ষেত্রে, এটি 10.0.0.1 হবে।

পরীক্ষা করুন

adblock.conf এ তালিকাভুক্ত ডোমেনগুলির জন্য, এই ক্ষেত্রে, যেহেতু ক্লায়েন্ট সাইড একটি স্মার্টফোন, স্মার্টফোন দিয়ে সংযোগ করে দেখা যায় যে অ্যাক্সেস সফলভাবে ব্লক করা হয়েছে।

এর মাধ্যমে, প্রয়োজন অনুযায়ী বিজ্ঞাপন বিতরণকারী ডোমেনগুলি যোগ করে ব্লক করা সম্ভব হয়েছে।

সাবডোমেন সহ dnsmasq নির্দিষ্ট করা

নিচের মতো ডোমেনের আগে . যোগ করে সাবডোমেন সহ একটি ডোমেন হিসাবে নির্দিষ্ট করা সম্ভব।

address=/.test.com/0.0.0.0

আমার স্মার্টফোনের 1.5Mbps লাইনের জন্য, শুধুমাত্র বিজ্ঞাপন বিতরণ করা বেশ গুরুতর, তাই এটি চালু করা কি ভালো ছিল?
আবার দেখা হবে। শুভকামনা।

Related Posts