Rehber Pi-Hole Kurulumu | Modeme bağlı tüm cihazlardaki reklamları engellemek

Herkese selamlar.

Bu rehberimde Raspberry Pi ile Pi-Hole kurulumunu anlatacağım. Yeni başlayanlar için detaylı bir rehber olacak. Bende Raspberry Pi 2 var. 2.el olarak 100TL gibi bir fiyata aldım.


Pi-Hole kurmak için gereksinimler:
  • Raspberry Pi ya da diğer.
  • İnternet kablosu ya da Wi-Fi.
  • SD Kart.
  • Bir güç adaptörü.
Raspbian dışında diğer desteklenen işletim sistemleri:
  • Ubuntu 16.x / 18.x / 20.x ARM / x86_64
  • Debian 9 / 10 ARM / x86_64 / i386
  • Fedora 31 / 32 ARM / x86_64
  • CentOS 7 / 8 x86_64
Diğer Pi-Hole gereksinimleri:
  • En az 512MB RAM.
  • En az 2GB boş alan.
Pi-Hole: Kısaca, Raspberry Pi cihanızını, tüm ağınızda reklam engelleyen bir DNS sunucusuna çeviren bir yazılım. Google gibi, Cloudflare gibi bir DNS sunucusu hazırlayıp, o DNS sunucusunu modemdeki tüm cihazların kullanmasını sağlayarak bunu yapıyoruz. Bu yazılım, kurulumunu yapacağımız DNS'i kullanan tüm cihazlardaki DNS isteklerine bakar, eğer reklam ise engeller; değil ise diğer DNS sunucularına yönlendirir.​


Pi-Hole kurulumunu yapacağımız işletim sistemini SD karta yazmak:

Raspberry Pi Imager programını indiriyoruz. Raspberry Pi OS – Raspberry Pi
1piimager.png



İşletim sistemi seçin kısmından Raspberry Pi OS (32-bit) seçeneğini, "SD kart seçin" kısmından da SD kartımızı seçiyoruz. Daha sonrasında Ctrl + Shift + X kombinasyonunu kullanıyoruz.
2piimageradvancedoptions.png

  • Set hostname tikini işaretleyip, Pi'nizin isminizi seçebilirsiniz.
  • Enable SSH tikini işaretliyoruz. Eğer bir HDMI görüntüsü alabileceğiniz cihazınınız yoksa ve bilgisayarınız ile Raspberry Pi arasında iletişim kurmak istiyorsanız burası önemli. Daha sonra SSH bağlantısı kurarken gireceğimiz şifreyi seçiyoruz.
  • Eğer Raspberry Pi'ı kablo ile değil de Wi-Fi ile modeme bağlayacaksanız Configure wifi kısmından Wi-Fi bilgilerinizi ayarlamayı unutmayın.
  • Diğer ayarları da kullanım şeklinize ve isteğinize göre seçip, Save diyoruz.
Yaz dedikten sonra işletim sisteminin yazılmasını bekliyoruz.
3raspberrypi os writing.png



İşletim sistemi yazıldıktan sonra SD kartı Raspberry'e takıp, cihaza güç veriyoruz. Kablonuz varsa modeme bağlamayı unutmayın.


Raspberry açıldıktan sonra cihazın modem üzerinde hangi IP adresi aldığını bulmamız lazım. Bunu farklı yollarla yapabiliriz, Advanced IP Scanner programıyla, nmap ile vs. bulabiliriz. Ancak ben modem üzerinden bulacağım.​


Bunun için modem arayüzüne (192.168.1.1) giriyoruz. Buradan modeme bağlı cihazların bulunduğu listeyi açıyoruz. Bu listede Raspberry Pi cihazımı (isim kısmında gözüküyor) ve MAC adresini görebiliyoruz. MAC adresini kopyalıyoruz.
4raspberry pi modem.png



Raspbery Pi cihazımın sürekli olarak aynı IP adresine sahip olması için yine modem arayüzünden Raspberry cihazımı, MAC adresiyle bir IP adresine sabitliyorum. Hatırlaması kolay olacağı için ben 192.168.1.68 olarak ayarladım. Şimdi Raspberry Pi cihazım için IP adresi 192.168.1.68.
5raspberry pi mac-ip.png




Bilgisayar ile Raspberry Pi arasında bağlantı kurmak:

Bunun için bir programa ihtiyacımız var. Ben PuTTY kullanacağım. Buradan indirebilirsiniz: Download PuTTY: latest release (0.74)


PuTTY programını açtıktan sonra, Host Name kısmına, az önce Raspberry Pi için verdiğimiz IP adresini yazıyoruz. Port ve Connection type kısmını değiştirmiyoruz. Open tuşu ile de bağlantıyı kuruyoruz.
6raspberry pi putty.png



Çıkan uyarıya "Evet" diyelim.
7putty yes.png



Login as kısmına pi yazıyoruz. Şifre kısmına ise işletim sistemi kısmında ayarlardığımız şifreyi giriyoruz. Merak etmeyin, burada şifreyi girerken yazdığınız karakterler gözükmez, klavyeniz yazmıyor değil.
8raspberry putty login.png



Bağlantıyı kurduktan sonra ilk önce Raspbian işletim sistemini ve yazılımları güncelleyelim. Sırasıyla şu komutları girip enterlayalım:

Kod:
sudo apt-get update
Kod:
sudo apt-get upgrade
Bu komutu girdikten sonra "Y" tuşuna basıp entarlamayı unutmayın. Bu komut biraz uzun sürebilir.



Pi-Hole kurulumu:

Çok basit bir komut var, bu komutu PuTTY üstünden giriyoruz:

Kod:
curl -sSL https://install.pi-hole.net | bash
9.png



Çıkan ilk 3 uyarıya Ok diyoruz.
10piholesetup1.png



Kullanmak istediğiniz DNS servisini seçin, ben Cloudflare seçiyorum. Daha sonra Ok deyip devam edelim.
11piholesetup2.png



Tab tuşuna basıp Ok diyoruz.
12piholesetup3.png



IPv6 kullanmadığım için üstüne gelip, "Space" tuşuna basıp deaktif ettim. Siz kendinize göre ayarlayabilirsiniz, daha sonra yine Tab tuşu ile Ok diyelim.
13piholesetup4.png



Yes diyelim.
14piholesetup5.png



Bu ve buradan sonra çıkacak uyarılara Tab tuşu ile Ok diyelim.
15piholesetup6.png



Burada kurulumun tamamlandığını söylüyor ve tarayıcı üzerinden Pi-Hole sayfasına giriş için şifremizi veriyor. Ok deyip devam ediyoruz.
16piholesetupcomplete.png

Bu şifreyi ben beğenmedim, şu komut ile değiştireceğim:

Kod:
sudo pihole -a -p ŞİFRENİZ ya da boş bırakırsanız şifre kalkar



Şu anda Pi-Hole kuruldu ve çalışıyor.

Pi-Hole ayarlarını değiştirmek, istatistikleri görmek, filtreleme listeleri eklemek, diğer bilgileri görmek ve diğer ayarları yapılandırmak için Web arayüzüne girmeliyiz. Bunun için, Raspberry Pi adresimiz için verdiğimiz IP adresini tarayıcıda yeni sekme açarak yazıyoruz, yanına da /admin ekleyip enterlıyoruz.

Ya da direkt http://pi.hole/admin yoluyla da ulaşabiliriz.

Buradan "Login" yoluna gidip, şifremizi giriyoruz.
17piholeweblogin.png



Karşımıza bu şekilde tüm bilgiler ve ayarlar çıkıyor:
18piholeweb.png


  • Group Management başlığı altındaki Adlists kısmından filtre ekleyebilirsiniz.
  • Blacklist kısmından istediğiniz siteleri ve IP adresleri kara listeye alıp, engelleyebilirsiniz.
  • Whitelist kısmından istediğiniz siteleri ve IP adresleri beyaz listeye alıp, engellenmemesini sağlayabilirsiniz.
  • Tools başlığı altındaki Network kısmından modeme bağlı cihazları görebilir, Pi-Hole kullanıp kullanmadıklarını kontrol edebilirsiniz.

Modeme bağlı tüm cihazlarda Pi-Hole kullanılmasını sağlamak:

Bunun mantığı kısaca Pi-Hole ile oluşturduğumuz DNS'i tüm cihazlarda kullanmaktır. Modem üzerinden bu ayarı yapabilirsiniz ya da tüm cihazlarda tek tek DNS'i değiştirebilirsiniz. Ben modem üzerinden yapacağım. Bu şekilde tek tek ayarlamama gerek kalmayacak ve bundan sonra modeme bağlanacak olan cihazlarda da otomatik olarak Pi-Hole kullanılacak.

Modem üzerinden DNS ayarını, Raspberry Pi'nin IP adresiolarak ayarlıyorum. DNS ayarı varsa DNS'i, yoksa DHCP ayarını kullanabilirsiniz
19piholednsmodem.png

***Daha sonra modemi yeniden başlatıp, Pi-Hole üzerinde Tools - Network kısmından tüm cihazların Pi-Hole kullanıp kullanmadığını kontrol edebilirsiniz.



Pi-Hole için daha fazla filtre:

Buradan kullanıcılar ve şirketler tarafından oluşturulan listeleri bulabilirsiniz:

Ya da buradan kayda değer olarak görülen filtreleri ekleyebilirsiniz, önerimdir:


Buradan önerdiğim filtrelere ulaşabilirsiniz:

Hepsini kopyalayıp yapıştırabilirsiniz, tek tek eklemenize gerek yok.

RegEx için önerim:
Kod:
^ad([sxv]?[0-9]*|system)[_.-]([^.[:space:]]+\.){1,}|[_.-]ad([sxv]?[0-9]*|system)[_.-]
^(.+[_.-])?adse?rv(er?|ice)?s?[0-9]*[_.-]
^(.+[_.-])?telemetry[_.-]
^adim(age|g)s?[0-9]*[_.-]
^adtrack(er|ing)?[0-9]*[_.-]
^advert(s|is(ing|ements?))?[0-9]*[_.-]
^aff(iliat(es?|ion))?[_.-]
^analytics?[_.-]
^banners?[_.-]
^beacons?[0-9]*[_.-]
^count(ers?)?[0-9]*[_.-]
^mads\.
^pixels?[-.]
^stat(s|istics)?[0-9]*[_.-]
^https?://([A-Za-z0-9.-]*\.)?clicks\.beap\.bc\.yahoo\.com/
^https?://([A-Za-z0-9.-]*\.)?secure\.footprint\.net/
^https?://([A-Za-z0-9.-]*\.)?match\.com/
^https?://([A-Za-z0-9.-]*\.)?clicks\.beap\.bc\.yahoo(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?sitescout(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?appnexus(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?evidon(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?mediamath(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?scorecardresearch(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?doubleclick(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?flashtalking(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?turn(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?mathtag(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?googlesyndication(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?s\.yimg\.com/cv/ae/us/audience/
^https?://([A-Za-z0-9.-]*\.)?clicks\.beap/
^https?://([A-Za-z0-9.-]*\.)?.doubleclick(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?yieldmanager(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?w55c(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?adnxs(\.\w{2}\.\w{2}|\.\w{2,4})/
^https?://([A-Za-z0-9.-]*\.)?advertising\.com/
^https?://([A-Za-z0-9.-]*\.)?evidon\.com/
^https?://([A-Za-z0-9.-]*\.)?scorecardresearch\.com/
^https?://([A-Za-z0-9.-]*\.)?flashtalking\.com/
^https?://([A-Za-z0-9.-]*\.)?turn\.com/
^https?://([A-Za-z0-9.-]*\.)?mathtag\.com/
^https?://([A-Za-z0-9.-]*\.)?surveylink/
^https?://([A-Za-z0-9.-]*\.)?info\.yahoo\.com/
^https?://([A-Za-z0-9.-]*\.)?ads\.yahoo\.com/
^https?://([A-Za-z0-9.-]*\.)?global\.ard\.yahoo\.com/

Whitelist için önerim:

Kara listeye vereceğiniz önem kadar, beyaz listeye vereceğiniz önem de mühimdir. Çünkü listeler resmi olmayabiliyor ve bazı sitelerin bozulmasına sebebiyet verebiliyor. Beyaz listeler bu tür durumların önüne geçmek için var.

Filtre ekledikten sonra, Settings kısmından Restart system seçeneği ile veya pihole -g ile filtreleri aktifleştirmeniz gerekiyor.
 
Son düzenleme:
Elinize sağlık, güzel rehber. Uzun zamandır aklımda olan fakat bir türlü nasip olmayan bu proje. Reklam engelleyiciye gerek kalmıyor ve tarayıcı verimi bu sayede artıyor. Deneyeceklere şimdiden kolay gelsin :)
 
Elinize sağlık, güzel rehber. Uzun zamandır aklımda olan fakat bir türlü nasip olmayan bu proje. Reklam engelleyiciye gerek kalmıyor ve tarayıcı verimi bu sayede artıyor. Deneyeceklere şimdiden kolay gelsin :)
Maalesef reklam engelleyiciye gerek kalıyor :) DNS bazında reklam engellemek tüm reklamları engelleyemeyebiliyor.


Ancak, yine de çok işlevli bir iş. Basit bir hesap yaparsak:

Benim Pi-Hole, tüm modemdeki paketlerin %30'unu engellemiş. Yani 10GB'lık bir veri alışverişi olduysa, 3GB'ı reklammış. Ve bunlar engellenmiş.

Screenshot_2.png

// Ayrıca, inceleyebilirsiniz:

 
Son düzenleme:
AdGuard Home birçok yönden Pi-Hole'den üstün. Tercih meselesi ama neden Pi-hole kullanıyorsunuz?
Aslında çok fazla farkları yok. Karşılaştırma yapmak "gıdım" farklarla mümkün.

- En belirgin farklardan biri DoH ve DoT. Adguard Home bu özellikleri barındırmasıyla kesinlikle öne çıkıyor. Ancak Pi-Hole için de bu mümkün, bunu da şurada anlattım:


- Pi-Hole, Adguard Home'dan daha performanslı, daha hızlı.
- Pi-Hole topluluğu-desteği daha ulaşılabilir, daha gelişmiş.
 
Son düzenleme:

Geri
Yukarı