Pi hole – DNS сервер, блокирующий более 100 000 рекламных доменов. Сайт проекта Pi hole pi-hole.net, wiki страница на GitHub. Pi hole блокирует рекламу во всей вашей сети на любых устройствах не зависимо от оборудования или операционной системы, причем, ни какого программного обеспечения на рабочих станциях для этого не требуется.

Pi hole может быть установлен и работать на микрокомпьютере Orange Pi под управлением операционной системы Linux DietPi.

Установка:

root@DietPi:~# dietpi-software

Далее:

DietPi-Software | IP: 192.168.1.24 | Device: OPi PC2 (aarch64)                  
                                                                                
──────────────────────────┤ DietPi-Software ├───────────────────────────────────

     Help!                Links to online guides, docs and information
     DietPi-Config        Feature-rich configuration tool for your device
                          ─── Select Software ─────────────────────────
     Software Optimized   Select DietPi optimized software for installation
     Software Additional  Select additional Linux software for installation
     SSH Server           : Dropbear
     File Server          : None
     Log System           : DietPi-Ramlog #1
     Webserver Preference : Lighttpd
     User Data Location   : SD/EMMC | /mnt/dietpi_userdata
                          ─── Install or Remove Software ──────────────
     Uninstall            Select installed software for removal
     Install              Go << Start installation for selected software


                  <Ok>                               <Exit>

────────────────────────────────────────────────────────────────────────────────

Затем пометьте строку «Pi-hole: block adverts for any device on your network»

DietPi-Software | IP: 192.168.1.24 | Device: OPi PC2 (aarch64)                  
 ┌───────────────────────┤ DietPi Software Selection ├────────────────────────┐ 
 │ Please use the spacebar to select the software you wish to install.        │ 
 │ Software details: http://dietpi.com/software                               │ 
 │                                                                            │ 
 │    [ ] 92   CertBot: free, ssl cert install allowing https://          ↑   │ 
 │    [ ] 125  Tomcat8: apache tomcat server                              ▒   │ 
 │    [ ]      ────Pi-hole─────────────────────────────────────────────── ▒   │ 
 │    [*] 93   Pi-hole: block adverts for any device on your network      ▒   │ 
 │    [ ]      ────File Servers────────────────────────────────────────── ▒   │ 
 │    [ ] 94   ProFTP: lightweight ftp server                             ▒   │ 
 │    [ ] 95   vsFTPD: alternative ftp server                             ▒   │ 
 │    [ ] 96   Samba: feature-rich file server                            ▒   │ 
 │    [ ] 109  NFS: network file system server                            ▒   │ 
 │    [ ]      ────VPN Servers─────────────────────────────────────────── ▒   │ 
 │    [ ] 97   OpenVPN: vpn server                                        ▒   │ 
 │    [ ] 117  PiVPN: openvpn installer & management tool                 ▒   │ 
 │    [ ]      ────Advanced Networking─────────────────────────────────── ▮   │ 
 │    [ ] 98   HaProxy: high performance tcp/http load balancer           ↓   │ 
 │                                                                            │ 
 │                    <Ok>                        <Cancel>                    │ 
 │                                                                            │ 
 └────────────────────────────────────────────────────────────────────────────┘ 

Для работы DNS сервера Pi hole желательно иметь статический IP адрес, Pi hole предложит Вам сделать соответствующие настройки:

DietPi-Software | IP: 192.168.1.24 | Device: OPi PC2 (aarch64)                  
                                                                           
     ┌────────────────┤  Pi-hole - Setup Static IP Now? ├─────────────────┐     
     │                                                                    │     
     │ A static IP address is essential for Pi-hole installations.        │     
     │ DietPi-Config can be used to quickly setup your static IP address. │     
     │                                                                    │     
     │ If you have already setup your static IP, please ignore this       │     
     │ message.                                                           │     
     │                                                                    │     
     │ Would you like to setup your static IP address now?                │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                <Yes>                      <No>                     │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     

DietPi-Software | IP: 192.168.1.24 | Device: OPi PC2 (aarch64)                  
                                                                                
     ┌───────────────────┤  Pi-hole - Setup Static IP ├───────────────────┐     
     │                                                                    │     
     │ DietPi-Config will now be launched. Simply select your Ethernet or │     
     │ Wifi connection from the menu to access the IP address settings.   │     
     │                                                                    │     
     │ The "copy current address to STATIC" menu option can be used to    │     
     │ quickly setup your static IP. Please ensure you change the mode    │     
     │ "DHCP" to "STATIC".                                                │     
     │                                                                    │     
     │ When you are done, select "Apply, Save Changes", then exit         │     
     │ DietPi-Config to resume setup.                                     │     
     │                                                                    │     
     │                               <Ok>                                 │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     
DietPi-Config                                                                   
                                                                                
       ┌────────────┤ DietPi - Network Options: Adapters ├─────────────┐        
       │                                                               │        
       │  Ethernet     : Available | Enabled | Connected               │        
       │  Wifi         : Not Found | Disabled | Disconnected           │        
       │  IPv6         : Enabled                                       │        
       │  Internet     : Please run Internet Test                      │        
       │  Proxy        : Disabled                                      │        
       │                                                               │        
       │           Ethernet Change Wired Network Settings             │        
       │           WiFi     Change Wireless Network Settings           │        
       │           IPv6     Toggle IPv6 Support                        │        
       │           Test     Run the Internet Connection Test           │        
       │           Proxy    Configure proxy settings                   │        
       │                                                               │        
       │                                                               │        
       │                                                               │        
       │                <Ok>                    <Exit>                 │        
       │                                                               │        
       └───────────────────────────────────────────────────────────────┘
DietPi-Config                                                                   
                                                                                
       ┌─────────────┤ DietPi - Ethernet Network Options ├─────────────┐        
       │   Current Details:                                            │        
       │  - Mode    = DHCP                                             │        
       │  - Ip      = 192.168.1.24                                     │        
       │  - Mask    = 255.255.255.0                                    │        
       │  - Gateway = 192.168.1.1                                      │        
       │  - DNS     = 8.8.8.8                                          │        
       │                                                               │        
       │         Change Mode DHCP                                     │        
       │         Disable     Disable Ethernet adapter                  │        
       │         Apply       Save Changes (Restart Networking)         │        
       │                                                               │        
       │                                                               │        
       │                <Ok>                    <Exit>                 │        
       │                                                               │        
       └───────────────────────────────────────────────────────────────┘ 
DietPi-Config                                                                   
       ┌─────────────┤ DietPi - Ethernet Network Options ├─────────────┐        
       │   Current Details:                                            │        
       │  - Mode    = DHCP                                             │        
       │  - Ip      = 192.168.1.24                                     │        
       │  - Mask    = 255.255.255.0                                    │        
       │  - Gateway = 192.168.1.1                                      │        
       │  - DNS     = 8.8.8.8                                          │        
       │                                                               │        
       │        Change Mode    STATIC                                 │        
       │        Copy           Copy Current address to Static          │        
       │        Static Ip      192.168.0.100                           │        
       │        Static Mask    255.255.255.0                           │        
       │        Static Gateway 192.168.0.1                             │        
       │        Static DNS     8.8.8.8 8.8.4.4                         │        
       │        Disable        Disable Ethernet adapter                │        
       │        Apply          Save Changes (Restart Networking)       │        
       │                                                               │        
       │                                                               │        
       │                <Ok>                    <Exit>                 │        
       │                                                               │        
       └───────────────────────────────────────────────────────────────┘
DietPi-Config                                                                   
       ┌─────────────┤ DietPi - Ethernet Network Options ├─────────────┐        
       │   Current Details:                                            │        
       │  - Mode    = DHCP                                             │        
       │  - Ip      = 192.168.1.24                                     │        
       │  - Mask    = 255.255.255.0                                    │        
       │  - Gateway = 192.168.1.1                                      │        
       │  - DNS     = 8.8.8.8                                          │        
       │                                                               │        
       │        Change Mode    STATIC                                  │        
       │        Copy           Copy Current address to Static          │        
       │        Static Ip      192.168.0.100                           │        
       │        Static Mask    255.255.255.0                           │        
       │        Static Gateway 192.168.0.1                             │        
       │        Static DNS     8.8.8.8 8.8.4.4                         │        
       │        Disable        Disable Ethernet adapter                │        
       │        Apply          Save Changes (Restart Networking)      │        
       │                                                               │        
       │                                                               │        
       │                <Ok>                    <Exit>                 │        
       │                                                               │        
       └───────────────────────────────────────────────────────────────┘
DietPi-Config                                                                   
                                                                               
          ┌──────────┤ DietPi - Ethernet Network Options ├───────────┐          
          │                                                          │          
          │ Do you wish to apply settings and reconnect network now? │          
          │                                                          │          
          │                                                          │          
          │ (NOTICE) All Ethernet connections will be dropped!       │          
          │                                                          │          
          │                                                          │          
          │                                                          │          
          │               <Ok>                   <Back>              │          
          │                                                          │          
          └──────────────────────────────────────────────────────────┘          

DietPi-Config                                                                   
       ┌─────────────┤ DietPi - Ethernet Network Options ├─────────────┐        
       │   Current Details:                                            │        
       │  - Mode    = STATIC                                           │        
       │  - Ip      = 192.168.1.24                                     │        
       │  - Mask    = 255.255.255.0                                    │        
       │  - Gateway = 192.168.1.1                                      │        
       │  - DNS     = 8.8.8.8                                          │        
       │                                                               │        
       │        Change Mode    STATIC                                  │        
       │        Copy           Copy Current address to Static          │        
       │        Static Ip      192.168.0.100                           │        
       │        Static Mask    255.255.255.0                           │        
       │        Static Gateway 192.168.0.1                             │        
       │        Static DNS     8.8.8.8 8.8.4.4                         │        
       │        Disable        Disable Ethernet adapter                │        
       │        Apply          Save Changes (Restart Networking)       │        
       │                                                               │        
       │                                                               │        
       │                <Ok>                    <Exit>                 │        
       │                                                               │        
       └───────────────────────────────────────────────────────────────┘
DietPi-Config                                                                   

               ┌───────────┤  Exit DietPi-Config?  ├────────────┐               
               │                                                │               
               │  Exit DietPi-Config?                           │               
               │                                                │               
               │                                                │               
               │                                                │               
               │                                                │               
               │           <Ok>               <Back>            │               
               │                                                │               
               └────────────────────────────────────────────────┘ 

Сетевые интерфейсы сконфигурированы, переходим к установке Pi hole – блокировщик рекламы и не желательных сайтов.

DietPi-Software | IP: 192.168.1.24 | Device: OPi PC2 (aarch64)                  
                                                                                
──────────────────────────┤ DietPi-Software ├───────────────────────────────────

     Help!                Links to online guides, docs and information
     DietPi-Config        Feature-rich configuration tool for your device
                          ─── Select Software ─────────────────────────
     Software Optimized   Select DietPi optimized software for installation
     Software Additional  Select additional Linux software for installation
     SSH Server           : Dropbear
     File Server          : None
     Log System           : DietPi-Ramlog #1
     Webserver Preference : Lighttpd
     User Data Location   : SD/EMMC | /mnt/dietpi_userdata
                          ─── Install or Remove Software ──────────────
     Uninstall            Select installed software for removal
     Install              Go << Start installation for selected software


                  <Ok>                               <Exit>

────────────────────────────────────────────────────────────────────────────────

DietPi-Software | IP: 192.168.1.24 | Device: OPi PC2 (aarch64)                  
                                                                                
     ┌──────────────────┤ DietPi - Start Installation? ├──────────────────┐     
     │                                                                    │     
     │ DietPi is now ready to install your software choices:              │     
     │  - Pi-hole: block adverts for any device on your network           │     
     │                                                                    │     
     │ Software details, usernames, passwords etc:                        │     
     │  - http://dietpi.com/software                                      │     
     │                                                                    │     
     │ Would you like to begin?                                           │     
     │                                                                    │     
     │                                                                    │     
     │                  <Ok>                      <Back>                  │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘ 

В процессе установки Pi hole Вам будет предложено ответить на несколько простых вопросов. Ваши ответы будут записаны в файл конфигурации Pi Hole.

Welcome                                                                         
                                                                                
     ┌──────────────────┤ Pi-hole automated installer ├───────────────────┐     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │ This installer will transform your device into a network-wide ad   │     
     │ blocker!                                                           │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                               <Ok>                                 │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     
                                                                              

Plea                                                                            
                                                                                
     ┌──────────────────────┤ Free and open source ├──────────────────────┐     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │ The Pi-hole is free, but powered by your donations:                │     
     │ http://pi-hole.net/donate                                          │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                               <Ok>                                 │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     
                                                                                                             

Initiating network interface                                                    
                                                                                
     ┌────────────────────────┤ Static IP Needed ├────────────────────────┐     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │ The Pi-hole is a SERVER so it needs a STATIC IP ADDRESS to         │     
     │ function properly.                                                 │     
     │                                                                    │     
     │ In the next section, you can choose to use your current network    │     
     │ settings (DHCP) or to manually edit them.                          │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                               <Ok>                                 │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     

                                                                                
     ┌────────────────────────────────────────────────────────────────────┐     
     │ Select Upstream DNS Provider. To use your own, select Custom.      │     
     │                                                                    │     
     │                             Google     ↑                          │     
     │                             OpenDNS     ▮                          │     
     │                             Level3      ▒                          │     
     │                             Norton      ▒                          │     
     │                             Comodo      ▒                          │     
     │                             DNSWatch    ↓                          │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                 <Ok>                     <Cancel>                  │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     
        

     ┌────────────────────────────────────────────────────────────────────┐     
     │ Select Protocols (press space to select)                           │     
     │                                                                    │     
     │    [*] IPv4  Block ads over IPv4                                   │     
     │    [*] IPv6  Block ads over IPv6                                   │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                 <Ok>                     <Cancel>                  │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     
                                                                                  

Calibrating network interface                                                   
                                                                                
     ┌───────────────────────┤ Static IP Address ├────────────────────────┐     
     │                                                                    │     
     │ Do you want to use your current network settings as a static       │     
     │ address?                                                           │     
     │           IP address:    192.168.1.24/24                           │     
     │           Gateway:       192.168.1.1                               │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                  <Yes>                     <No>                    │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     
                                                                                 

IP information                                                                  
                                                                                
     ┌────────────────────────┤ FYI: IP Conflict ├────────────────────────┐     
     │                                                                    │     
     │ It is possible your router could still try to assign this IP to a  │     
     │ device, which would cause a conflict.  But in most cases the       │     
     │ router is smart enough to not do that.                             │     
     │ If you are worried, either manually set the address, or modify the │     
     │ DHCP reservation pool so it does not include the IP you want.      │     
     │ It is also possible to use a DHCP reservation, but if you are      │     
     │ going to do that, you might as well set a static address.          │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                               <Ok>                                 │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     
                                                                                
       
     ┌────────────────────────────────────────────────────────────────────┐     
     │ Do you wish to install the web admin interface?                    │     
     │                                                                    │     
     │    (*) On (Recommended)                                            │     
     │    ( ) Off                                                         │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                 <Ok>                     <Cancel>                  │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     
                                                                                
                                                                                
     ┌────────────────────────────────────────────────────────────────────┐     
     │ Do you want to log queries?                                        │     
     │  (Disabling will render graphs on the Admin page useless):         │     
     │                                                                    │     
     │    (*) On (Recommended)                                            │     
     │    ( ) Off                                                         │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                 <Ok>                     <Cancel>                  │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     
         

Make it so.                                                                     
                                                                                
     ┌─────────────────────┤ Installation Complete! ├─────────────────────┐     
     │                                                                    │     
     │ Configure your devices to use the Pi-hole as their DNS server      │     
     │ using:                                                             │     
     │                                                                    │     
     │ IPv4:        192.168.1.24                                          │     
     │ IPv6:        Not Configured                                        │     
     │                                                                    │     
     │ If you set a new IP address, you should restart the Pi.            │     
     │                                                                    │     
     │ The install log is in /etc/pihole.                                 │     
     │                                                                    │     
     │ View the web interface at http://pi.hole/admin or                  │     
     │ http://192.168.1.24/admin                                          │     
     │                                                                    │     
     │ Your Admin Webpage login password is O1KtE2ts                      │     
     │                                                                    │     
     │                               <Ok>                                 │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     
                                                                                
                                                                                                                                                       
   DietPi-Software | IP: 192.168.1.24 | Device: OPi PC2 (aarch64)                  
                                                                                
     ┌─────────────────────┤ PiHole: Web interface ├──────────────────────┐     
     │                                                                    │     
     │ DietPi has changed the PiHole web interface password to:           │     
     │ - dietpi                                                           │     
     │                                                                    │     
     │ Please use this password when logging into the web interface:      │     
     │  - http://ip/pihole                                                │     
     │                                                                    │     
     │ This password can be changed, please see pihole binary for info:   │     
     │  - pihole --help                                                   │     
     │                                                                    │     
     │                                                                    │     
     │                                                                    │     
     │                               <Ok>                                 │     
     │                                                                    │     
     └────────────────────────────────────────────────────────────────────┘     

В конце установки Pi hole ваш Orange Pi сервер будет перезагружен.

 DietPi-Software
─────────────────────────────────────────────────────
 Mode: Installation completed
 Please wait...


 The system will now reboot. 
 This completes the DietPi-Software installation.

 #               processing | D i e t  P i             #

После установки Pi hole готов к работе. На DHCP сервере (как правило на роутере) укажите в качестве первичного DNS, IP адрес Pi hole.

Pi hole настройка DNS на роутере

Теперь перезагрузите сетевые подключения на рабочих станциях. На рабочих станциях со статическим IP укажите в качестве первичного DNS, IP адрес Pi hole и перезагрузите сетевые службы.

Кроме DNS сервера, Pi hole устанавливает Lighttpd и веб интерфейс (на 80-м порту) для управления Pi hole. Наберите в адресной строке браузера IP адрес сервера Pi hole / admin, например 192.168.1.33/admin.

Pi hole админка