اضافة قواعد لحجب جميع أنواع الإعلانات و المواقع الاباحية Pi-Hole

بعد ان وصلنا إلى مرحلة تثبيت pi-hole بعدة طرق في المقال الماضي الآن سنعده ليعمل في الشبكة و تقوية قاعدة البيانات إلى حوالي 8 ملايين موقع

الإعداد

  1. الطريقة الأولى

بعد تنصيب PI-HOLE يجب أن تقوم بتثبيت IP ADDRESS الخاص بالسيرفر إما عبر الراوتر بأخذ
MAC ADDRESS و الذَّهاب إلى إعدادات DHCP SERVER وتثبيته ويلزمك مع هدا أن تعده لتوزيع DNS SERVER وذلك بوضعه كسيرفر رَقْم 1 في ترتيب السرفرات الإعدادات يختلف موقعها حسب الراوتر الذي تمتلك هدا أن كنت ستعتمد على الراوتر في توزيع IPs كمثال :

  1. الطريقة الثانية

يستحسن أن تقوم بتثبيت IP عن طريق التوزيعة نفسها و جعل PI-HOLE يوزع IPs. طريقة فعل هذا تختلف حسب التوزيعة فل نستعرض بعض التوزيعات :

  • ubuntu - netplan

اكتشاف بِطاقة الشبكة نفذ الأمر:

ip a

يقوم الأمر بطباعة قائمة بجميع واجهات الشبكة المتاحة. في هذا المثال، إسم الواجهة هو ens3 عندي :

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:6b:0f:06:35 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 scope global docker0
valid_lft forever preferred_lft forever
3: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:72:ab:11:50:04 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.4/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever

يثم تخزين ملفات تكوين Netplan في الدليل etc/netplan/ من المحتمل أن تجد ملفًا واحدًا أو أكثر من ملفات YAML في هذا الدليل. قد يختلف اسم الملف من إعداد إلى آخر. عادةً ما يثم تسمية المِلَف إما 01-netcfg.yaml أو 50-cloud-init.yaml أو اسم_الكارت.yaml ، ولكن في نظامك قد يكون الأمر مختلفًا.

عدل المِلَف من المثال التالي :

sudo nano /etc/netplan/ens3.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: yes

النتيجة يجب أن تكون مشابهة لهذا :

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      addresses:
        - 192.168.1.253/24
      gateway4: 192.168.1.1
      nameservers:
          #addresses: [IP SERVER DNS]
          addresses: [192.168.1.253]

بعد التعديل احفظ الإعداد ونفذ الأمر التالي لتطبيق الإعدادات :

sudo netplan apply

وتأكد بالأمر التالي :

ip addr show dev ens3
3: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:72:ab:11:50:04 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.253/24 brd 192.168.1.255 scope global dynamic ens3
       valid_lft 3575sec preferred_lft 3575sec
    inet6 fe80::5054:ff:feb0:f500/64 scope link 
       valid_lft forever preferred_lft forever

  • Debian 10 or 11

أما بالنسبة لدبيان فبعد معرفة اسم بطاقة الشبكة بالأمر ip a :

فيجب تعديل المِلَف التالي:

sudo nano /etc/network/interfaces

يجب إزالة السطرين التاليين:

allow-hotplug enp0s5
iface enp0s5 inet dhcp

واستبدالهما ليصبح المِلَف بهذا الشكل.

# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
auto enp0s5
iface enp0s5  inet static
 address 192.168.1.253
 netmask 255.255.255.0
 gateway 192.168.1.1
 dns-domain menara.home
 dns-nameservers 192.168.1.253

وبعد ذلك تعيد تشغيل الخدمة بالأمر التالي :

sudo systemctl restart networking.service

وتأكد بالأمر التالي يجب أن ترى Active: active و status=0/SUCCESS

sudo systemctl status networking.service
● networking.service - Raise network interfaces
   Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2022-08-02 23:10:00 IST; 1min 38s ago
     Docs: man:interfaces(5)
  Process: 1104 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=0/SUCCESS)
 Main PID: 1104 (code=exited, status=0/SUCCESS)

  • …fedora - redhat - centos

اما بالنسبة لتوزيعات الردهاتية افضل الامر nmtui
فقط نصب الأمر nmtui إن لم يكن متوفر وقم بإعداد الشبكة
نفذ الأمر :

sudo nmtui 

اختر edit a connection

ثم اختر الشبكة التي ستعدل عليها

ثم غير من automatic إلى manual

ثم قم بالتعديل و اخرج

بعدا ن قمنا بتثبيت IP يمكنك إما ان تعتمد على DHCP SERVER الخاص PI-HOLE من Settings ثم DHCP و تفعيله عبر DHCP server enabled لكن تأكد من تعطيل DHCP server الخاص بالراوتر لتفادي المشاكل وعدل Range حسب نطاق الشبكة ( subnet ) الخاص بك ثم اضغط Save

يمكنك أن تعدل DNS Server الذي تعتمد لتحسين الأداء من مجموعة Upstream DNS Servers واستعمال مِيزة Use DNSSEC للحماية بعد الانتهاء من الإعداد اضغط Save

بعد الإعداد سنذهب إلى adlist في قسم group management ستظهر لك هاته الواجهة

بعد ذلك سنحتاج firebog هذا الموقع الذي به قواعد الملايين من المواقع المجهزة للحجب مقسمة حسب المجال

  • Suspicious Lists أي القوائم المشبوهة

  • Advertising Lists أي قوائم الإعلانات

  • Tracking & Telemetry Lists أي قوائم التتبع والقياس عن بعد

  • Malicious Lists أي القوائم الخبيثة

  • Other Lists أي قوائم أخرى وبها قوائم المواقع الإباحية

قم بنسخ الرابط من القائمة التي تريد حجبها ضعه في address وضع تعليقا في مكانه عن الرابط كي يسهل الرجوع له ثم اضغط Add

ثم بعد أن تنهي اذهب إلى قائمة tools ثم إلى updates gravity ثم اضغط update لتحديث قاعدة البيانات

لإدخال كافة القواعد بسرعة توجد هاته الطريقة يمكنك استعمالها

لكن أول يجب تنصيب sqlite3 في توزيعتك

لإضافة القواعد المهمة من الموقع firebog نفذ بالأمر التالي:

sudo wget -qO - https://v.firebog.net/hosts/lists.php?type=tick |xargs -I {} sudo sqlite3 /etc/pihole/gravity.db "INSERT INTO adlist (Address) VALUES ('{}');"

لتحديت قاعدة البيانات نفذ الأمر التالي:

pihole -g

لإزالة كافة القواعد نفذ الأمر التالي لكن كن حذرا ستحذف جميع القواعد

sudo sqlite3 /etc/pihole/gravity.db "DELETE FROM adlist"

إن واجهتك مشكلات أو مواقع لا تعمل افحص في أي قاعدة توجد من قائمة tools ثم إلى search adlists تم إبحث عن الموقع سترى ضمن أي قاعدة يتواجد. يمكنك من القائمة التي أضفنا منها القواعد إلغاء تفعيلها أو إزالتها

هنا قاعدة بيانات جهزتها سلفًا لمن أراد استعمالها

قاعدة البيانات بها ما يقارب 7.3 مليون موقع

[pi-hole-23bf43a02ebf-teleporter_2022-07-08_15-54-30-7M.tar.gz (‏17.6 ‏ك.ب)](https://github.com/hmidani-abdelilah/pi-hole-db/raw/main/pi-hole-23bf43a02ebf-teleporter_2022-07-08_15-54-30-7M.tar.gz)

قاعدة البيانات بها ما يقارب 4 ملايين موقع

https://github.com/hmidani-abdelilah/pi-hole-db/blob/main/pi-hole-64c83ad89b57-teleporter_2022-07-08_15-39-04-4M.tar.gz

لمن أراد استعمالها اذهب إلى settings ثم إلى teleporter تم browse اختر الملف تم أزل
client & group & audit log & static dhcp & localdns & local cname تم اضغط restore

  • التجربة قبل استعمال السيرفر :

  • التجربة بعد استعمال السيرفر :

3 إعجابات

يفضل ذكر الطرق الرسومية.
فهي اسهل بكثير.
جنوم و كدي وكل الواجهات تدعم تخصيص خوادم DNS من داخل اعدادات الشبكة.

إعجاب واحد (1)

نعم فكرت في ذلك لكن كما تعلم يجب ان يعمل كخادم واغلب الخوادم من دون واجة رسومية لتفوير حماية اكبر وموارد اكبر …
لهذا قمت بشرحه عن طريق الاعدادات عبر الطرفية لكن لا باس بظافتها كطريقة ٣

قصدت قسم تغيير اعدادات الأجهزة لتستخدم Pi-hole بدلا من خادم المودم الافتراضي.
كان بإمكانك ذكر أيضا خيار ان تجعل Pi-hole هو خادم DHCP في الشبكة.

قد ذكرته ايضا في المقال

قد ذكرته في هذه الفقرة

إعجاب واحد (1)