Skocz do zawartości
PL
Szukaj na Pecetowiczu
  • Utwórz konto

🍓 Pi-hole - Ochrona w całej sieci


Rekomendowane odpowiedzi

Cześć! Ostatnio bawiłem się RaspberryPi i postawiłem sobie na malince Pi-Hole. Mativve podsunął mi pomysł abym podzielił się tym jak to zrobić, stąd ten poradnik 😄

Czym jest Pi-hole?

Pi-hole to aplikacja na Linuxa blokująca reklamy i śledzenie. Może działać też jako serwer DHCP

Co jest potrzebne do instalacji Pi-hole?

Do instalacji Pi-hole potrzebne jest samo urządzenie na którym będzie zainstalowana ta aplikacja.

Najlepiej do tego użyć RaspberryPi Zero W (można je zakupić Raspberry Pi Zero W 512MB RAM - WiFi + BT 4.1 - Sklep dla robotykw), ale równie dobrze można użyć inną wersję malinki lub jakiś komputer/laptop. Lecz trzeba pamiętać o tym że to urządzenie będzie najprawdopodobniej chodzić 24/7.

Do RaspberryPi będzie też potrzebny jakiś dysk, dlatego potrzebna jest karta microSD, na przykład o przestrzeni 8GB. Na niej zainstalowany będzie system oraz sama aplikacja.

Do instalacji systemu najlepiej użyć balenaEtcher - Flash OS images to SD cards & USB drives. Jest to darmowy program do flashowania systemu.

System jaki jest potrzebny do uruchomienia Pi-hole to RaspberryPi OS Lite. Można go pobrać tu: https://www.raspberrypi.org/software/operating-systems

W moim przypadku, cały zestaw (malinka + karta microSD) kosztował ok. 140 zł:

Jak zainstalować Pi-hole?

UWAGA! W tym poradniku będę się posługiwać programami oraz urządzeniami które wymieniłem wyżej.

W przypadku np. innego programu do flashowania systemu kroki mogą wyglądać inaczej

KROK 1 - Pobranie systemu i zflashowanie go na karcie pamięci

W pierwszej kolejności musimy pobrać system oraz program do flashowania (linki wyżej). Po pobraniu systemu i programu otwieramy balenaEtcher. Wybieramy plik .iso naszego systemu klikając Flash from file. Następnie wybieramy urządzenie, czyli kartę microSD klikając Select target. Ostatnim krokiem w tym programie jest kliknięcie Flash!

ArZUBhE.gif

KROK 2 - Włączenie SSH oraz podłączenie do sieci Wi-Fi

Gdy już zflashowaliśmy nasz system na kartę pamięci, należy uruchomić SSH na naszej malince, oraz podłączyć ją do Wi-Fi (w przypadku gdy posiadamy RaspberryPi bez portu Ethernet, ale z modułem Wi-Fi). W tym celu przechodzimy do Komputer > Nasz dysk który wsadzimy do RaspberryPi. Prawdopodobnie pojawi się komunikat o tym że należy zformatować dysk. Należy go zignorować.

Aby uruchomić SSH należy utworzyć nowy plik tekstowy, ale zmienić jego nazwę na ssh (bez rozszerzenia pliku!). Ma to wyglądać w ten sposób:

sDUN2ZR.gif

Następnie aby podłączyć RaspberryPi do Wi-Fi tworzymy nowy plik tekstowy i zmieniamy jego nazwę na wpa_supplicant.conf. Następnie otwieramy ten plik w edytorze tekstu, np. w Notaniku i wklejamy do niego następujący kod:

country=PL
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
	ssid="SiecWiFi"
	psk="BardzoMocneHasloDoWifi"
	key_mgmt=WPA-PSK
}

Tam gdzie SiecWiFi wpisujemy SSID (nazwę) swojego Wi-Fi, oraz tam gdzie BardzoMocneHasloDoWifi wpisujemy swoje hasło do Wi-Fi. Ma to wyglądać w ten sposób:

rm2Cc8K.gif

Po wykonaniu powyższych kroków nasza malinka będzie miała włączone już SSH oraz będzie się łączyć do Wi-Fi

KROK 3 - Pierwsze uruchomienie i konfiguracja

Gdy zflashujemy system, uruchomimy SSH i podłączymy RaspberryPi do Wi-Fi wkładamy kartę microSD do malinki. Potem podłączamy do zasilania i czekamy kilka sekund. Aby podłączyć się do malinki i zacząć konfigurację musimy pamiętać o tym że malinka i nasz komputer muszą być w jednej sieci.

Do połączenia z malinką można użyć Download PuTTY - a free SSH and telnet client for Windows lub CMD. Ja użyję CMD - jest mi po prostu wygodniej.

Otwieramy CMD i wpisujemy:

ssh pi@raspberrypi.local

Jeżeli pojawi się ostrzeżenie o treści typu The authenticity of host 'raspberrypi.local' can't be established. wpisujemy yes. Po tym wpisujemy hasło do Raspberrypi. Domyślne dane logowania (jeśli nie były zmieniane) to:

Login: pi

Hasło: raspberry

Po zalogowaniu przeprowadzamy konfigurację pod siebie za pomocą komendy:

sudo raspi-config

4.thumb.png.e5f9c7b6c8c72c9021ae7479026ab508.png

Następnie aktualizujemy system następującymi komendami:

sudo apt-get update -y
sudo apt-get upgrade -y

KROK 4 - Instalacja Pi-hole

Po skończonej konfiguracji systemu możemy przystąpić do instalacji aplikacji Pi-hole. W tym celu używamy komendę:

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

i postępujemy zgodnie z instrukcjami podanymi w instalatorze.

5.thumb.png.044c50b4350dbe08c5415e44e215449c.png

Gdy instalator pobierze i zainstaluje wszystkie potrzebne składniki rozpocznie się konfiguracja aplikacji.

6.thumb.png.58f41b7a6db860b9fb24b547420170fa.png

(klikamy <Ok>)

Pojawi się wybranie dostawcy DNS'ów. Osobiście polecam wybrać CloudFlare, ale można wybrać Google, OpenDNS, Level3, Norton, Comodo, DNSWatch, Quad9 i inne.

7.thumb.png.16b93a1a06947d72d667c2d5cb237cbb.png

Gdy wybierzemy dostawcę DNS'ów pojawi się ekran konfiguracji statycznego adresu IP dla malinki

8.thumb.png.bbe13c59ced24438986e4f82847ebe5a.png

(klikamy <Yes>)

Po wykonaniu tych rzeczy pojawi się ekran z hasłem do panelu oraz adresem IP do malinki

9.thumb.png.d4dae69f9560ae5d13457a68f3404724.png

KROK 5 - Sprawdzenie działania aplikacji

Po skończonej instalacji Pi-hole przechodzimy na adres który został podany po zakończeniu instalacji (screen wyżej). Logujemy się i dostosowujemy panel administracyjny pod siebie.

10.thumb.png.7b6fc4d6ca1b6c452a6d6156b503b71c.png

Gdy wszystko działa możemy przystąpić do ustawienia adresów DNS w routerze aby wskazywały na RaspberryPi. Dzięki temu urządzenia automatycznie będą pobierać adres DNS z DHCP i nie będzie trzeba wpisywać tego ręcznie.

KROK 6 - Konfiguracja routera

UWAGA! Wasza konfiguracja routera może się różnić

W tym celu przechodzimy na stronę routera. W moim przypadku jest to 192.168.1.1. Następnie ustawienia serwera DHCP. W polu Adresu DNS wpisuję adres IP RaspberryPi (ten sam przez który logowaliśmy się do panelu). U mnie jest to 192.168.1.177

pBShfGA.gif

Jako że ja mam modem Plusa podłączony do routera to w Pi-hole muszę ustawić jeszcze aby wskazywało na modem. W tym celu przechodzę do Settings > DNS i w polu Custom 1 (IPv4) ustawiam adres IP mojego modemu. W moim przypadku jest to 192.168.0.1. Po wpisaniu adresu klikamy Save

12.png.53bb8905a1c6b4b7c7047d4ad3903f45.png

KROK 6 - Odświeżenie ustawień sieci na urządzeniach

Po ustawieniu adresu DNS aby urządzenia pobierały nowy adres DNS należy odświeżyć ustawienia sieci.

Windows: Aby odświeżyć ustawienia sieci w Windowsie otwieramy CMD i wpisujemy następujące komendy:

ipconfig /release

ipconfig /renew

Aby sprawdzić czy adresy się przyjęły wpisujemy:

ipconfig /all

hcLYf1s.gif

Linux: Aby odświeżyć ustawienia sieci w Linuxie otwieramy Terminal i wpisujemy następujące komendy:

sudo dhclient -r

sudo dhclient

Android, iOS itp.: Na smartfonach wystarczy "zapomnieć" sieć Wi-Fi i połączyć się z nią ponownie

KROK 7 - Dodanie filtrów do Pi-hole

Aby dodać filtry reklam do Pi-hole przechodzimy do Group Management > Adlist. W polu Address możemy wpisać jeden lub kilka (oddzielone spacją) adresy URL z adresami do blokowania.

Oto lista moich adresów:

Spoiler
https://raw.githubusercontent.com/kboghdady/youTube_ads_4_pi-hole/master/youtubelist.txt
https://raw.githubusercontent.com/kboghdady/youTube_ads_4_pi-hole/master/crowed_list.txt
https://blocklistproject.github.io/Lists/youtube.txt
https://blocklistproject.github.io/Lists/facebook.txt
https://blocklistproject.github.io/Lists/porn.txt
https://blocklistproject.github.io/Lists/ads.txt
https://www.github.developerdan.com/hosts/lists/amp-hosts-extended.txt
https://www.sunshine.it/blacklist.txt
https://raw.githubusercontent.com/d43m0nhLInt3r/socialblocklists/master/Youtube/youtubeblocklist.txt
https://raw.githubusercontent.com/HenningVanRaumle/pihole-ytadblock/master/ytadblock.txt
https://raw.githubusercontent.com/PolishFiltersTeam/KADhosts/master/KADhosts_without_controversies.txt
https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Spam/hosts
https://v.firebog.net/hosts/static/w3kbl.txt
https://adaway.org/hosts.txt
https://v.firebog.net/hosts/AdguardDNS.txt
https://v.firebog.net/hosts/Admiral.txt
https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
https://v.firebog.net/hosts/Easylist.txt
https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext
https://raw.githubusercontent.com/FadeMind/hosts.extras/master/UncheckyAds/hosts
https://raw.githubusercontent.com/bigdargon/hostsVN/master/hosts
https://v.firebog.net/hosts/Easyprivacy.txt
https://v.firebog.net/hosts/Prigent-Ads.txt
https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-blocklist.txt
https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.2o7Net/hosts
https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt
https://hostfiles.frogeye.fr/firstparty-trackers-hosts.txt
https://raw.githubusercontent.com/DandelionSprout/adfilt/master/Alternate%20versions%20Anti-Malware%20List/AntiMalwareHosts.txt
https://osint.digitalside.it/Threat-Intel/lists/latestdomains.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_malvertising.txt
https://v.firebog.net/hosts/Prigent-Crypto.txt
https://mirror.cedia.org.ec/malwaredomains/immortal_domains.txt
https://www.malwaredomainlist.com/hostslist/hosts.txt
https://phishing.army/download/phishing_army_blocklist_extended.txt
https://bitbucket.org/ethanr/dns-blacklists/raw/8575c9f96e5b4a1308f2f12394abd86d0927a4a0/bad_lists/Mandiant_APT1_Report_Appendix_D.txt
https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-malware.txt
https://v.firebog.net/hosts/Shalla-mal.txt
https://raw.githubusercontent.com/Spam404/lists/master/main-blacklist.txt
https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Risk/hosts
https://urlhaus.abuse.ch/downloads/hostfile/
https://zerodot1.gitlab.io/CoinBlockerLists/hosts_browser
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/hostfile.txt
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/easylist_host.txt
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/easy_privacy_host.txt
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/gambling-hosts.txt
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/adguard_host.txt
https://raw.githubusercontent.com/ZeroDot1/CoinBlockerLists/master/hosts
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/Ad_filter_list_by_Disconnect.txt
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/Peter_Lowe_ADS.txt
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/adguard_crypto_host.txt
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/adguard_mobile_host.txt
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/ads-and-tracking-extended.txt
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/ads-and-tracking.txt
https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/adservers.txt

 

Powyższa lista adresów potrafi zablokować reklamy na Youtube, Spotify, Interia.pl, Onet, O2, WP oraz w grach mobilnych. Niestety blokuje strony Facebooka, ale można dodać je do Whitelisty przechodząc do Whitelist w panelu Pi-hole. Oto whitelista która przepusza do Facebooka itp.

Spoiler

PeACNf1.pngpxeAuaY.png

Tam gdzie (\.|^) została zaznaczona opcja Add domain as wildcard

Po dodaniu nowych filtrów w konsoli (gdy jesteśmy połączeni z RaspberryPI) używamy komendę która przeładuje wszystkie filtry

 pihole -g

Gdy ta komenda się wykona najlepiej jeszcze wyłączyć i włączyć malinkę. I to wszystko! Możemy cieszyć się naszym "adblockiem" 😄

Po wykonaniu wszystkich kroków mamy działającą aplikację która blokuje reklamy oraz śledzenie na stronach!

Dziękuję za przeczytanie i pozdrawiam 😄

Odnośnik do komentarza
Udostępnij na innych stronach

@ravenekse Super sprawa, dziękujemy za wrzutkę 😉

Cenowo to też nawet spoko wychodzi, nawet nie wiedziałem że to ma taki panelik etc. Chyba sobie coś takiego sprawię na gwiazdkę 😄

PS: Jeśli możesz to podeślij surowe linki w formie tekstu bo przez ustawienia forum (niezależne póki co ode mnie) się usuwają automatycznie!

Odnośnik do komentarza
Udostępnij na innych stronach

Poprawione 😄 I przepraszam za problem, ale coś tak przeczuwałem że usunie linki xD

Odnośnik do komentarza
Udostępnij na innych stronach

Zamiast raspberry pi zero W, można kupić raspberry pi zero + QTS1081B(na aliexpress za parę złociszy można to kupić) w wersji micro USB wtedy możemy uzyskać lepsze latency oraz oczywiście niższą cenę 😄

Odnośnik do komentarza
Udostępnij na innych stronach

@Matthew Nie czaję za bardzo jaki byłby schemat połączenia tego? Mógłbyś nakreślić? 😉

Odnośnik do komentarza
Udostępnij na innych stronach

@Mativve raczej chodzi o to że można byłoby kupić wersję malinki bez Wi-Fi, ale dokupić kartę sieciową na micro USB albo na zwykłe USB i przejściówkę z USB na micro USB. Przynajmniej ja tak to zrozumiałem xD

Bo generalnie RaspberryPi Zero ma porty od zasilania i takie do podłączenia myszki etc. właśnie w wersji micro USB. Ale można kupić przejściówkę, lub w zestawie AiO dostajemy wszystko co jest potrzebne na start, czyli: samą malinkę, zasilacz, przejściówkę USB na micro USB, przejściówkę z HDMI na micro HDMI, jakieś złącza, obudowę (jak dobrze kojarzę), taśmę do kamery

Odnośnik do komentarza
Udostępnij na innych stronach

@ravenekse Oki już wszystko wiem, dzięki za wyjaśnienie 😉

Odnośnik do komentarza
Udostępnij na innych stronach

9 godzin temu, Mativve napisał:

@Matthew Nie czaję za bardzo jaki byłby schemat połączenia tego? Mógłbyś nakreślić? 😉

Karta QTS1081B jest w dwóch wersjach: USB i MicroUSB, wersje na MicroUSB podłączamy do maliny na drugim porcie a do karty już bezpośrednio kabel RJ45.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 miesiące temu...

Tutaj poradnik jakby ktoś chciał postawić pi-hole na Qnapie:

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Mam PiHole w pracy i szczerze? Szału nie robi; często zdarza się że puści coś co powinno blokować......... także tutaj daje 7/10. Natomiast za UI daje 10/10.......

Odnośnik do komentarza
Udostępnij na innych stronach

Kontynuuj dyskusję

Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.

  • Dodaj nową pozycję...
  • Dodaj nową pozycję...