service:pihole
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
service:pihole [04.10.2024 10:11] – viacheslav | service:pihole [27.03.2025 21:59] (текущий) – [Docker] viacheslav | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Pi-hole ====== | ||
+ | The [[https:// | ||
+ | |||
+ | Once the installer has been run, you will need to configure your router to have DHCP clients use Pi-hole as their DNS server which ensures that all devices connecting to your network will have content blocked without any further intervention. | ||
+ | |||
+ | If your router does not support setting the DNS server, you can use Pi-hole' | ||
+ | |||
+ | As a last resort, you can always manually set each device to use Pi-hole as their DNS server. | ||
+ | |||
+ | Документация: | ||
+ | Docker image: https:// | ||
+ | Бложик: | ||
+ | <code bash> | ||
+ | # Обновить | ||
+ | pihole -up | ||
+ | </ | ||
+ | :!: В 6-й версии изменились названия переменных и т. д. [[https:// | ||
+ | ===== Установка ===== | ||
+ | ==== Docker ==== | ||
+ | https:// | ||
+ | |||
+ | Админка на порту 5001, DNS на 53. Чтобы DNS не конфликтовал с systemd-resolve на хосте, нужно на хосте | ||
+ | <code bash> | ||
+ | sudo sed -r -i.orig ' | ||
+ | sudo sh -c 'rm / | ||
+ | sudo systemctl restart systemd-resolved | ||
+ | </ | ||
+ | https:// | ||
+ | |||
+ | Если systemd-resolve был выключен, | ||
+ | <code yaml> | ||
+ | ports: | ||
+ | - 192.168.1.15: | ||
+ | - 192.168.1.15: | ||
+ | </ | ||
+ | https:// | ||
+ | |||
+ | <code yaml> | ||
+ | pihole: | ||
+ | image: pihole/ | ||
+ | container_name: | ||
+ | restart: unless-stopped | ||
+ | environment: | ||
+ | TZ: ' | ||
+ | FTLCONF_webserver_api_password: | ||
+ | FTLCONF_webserver_port: | ||
+ | FTLCONF_dns_upstreams: | ||
+ | ; | ||
+ | 11; | ||
+ | FTLCONF_dns_dnssec: | ||
+ | FTLCONF_dns_listeningMode: | ||
+ | ports: | ||
+ | - 192.168.1.15: | ||
+ | - 192.168.1.15: | ||
+ | - 5001:5001 | ||
+ | volumes: | ||
+ | - ' | ||
+ | - ' | ||
+ | </ | ||
+ | |||
+ | ==== Локально ==== | ||
+ | Методом № 2 | ||
+ | <code bash> | ||
+ | # One-Step Automated Install | ||
+ | # Those who want to get started quickly and conveniently may install Pi-hole using the following command: | ||
+ | curl -sSL https:// | ||
+ | # Alternative Install Methods | ||
+ | # Piping to bash is controversial, | ||
+ | # Therefore, we provide these alternative installation methods which allow code review before installation: | ||
+ | # Method 1: Clone our repository and run | ||
+ | git clone --depth 1 https:// | ||
+ | cd " | ||
+ | sudo bash basic-install.sh | ||
+ | # Method 2: Manually download the installer and run | ||
+ | wget -O basic-install.sh https:// | ||
+ | sudo bash basic-install.sh | ||
+ | </ | ||
+ | |||
+ | ===== Выяснить, | ||
+ | <code bash> | ||
+ | root@orangepione: | ||
+ | Exact match found in exact whitelist | ||
+ | | ||
+ | Exact matches for vk.com found in: | ||
+ | - https:// | ||
+ | - https:// | ||
+ | - https:// | ||
+ | - https:// | ||
+ | </ | ||
+ | |||
+ | ===== Ошибки, | ||
+ | ==== Контейнер не стартует после перезагрузки хоста ==== | ||
+ | Проблема возникает, | ||
+ | <code yaml> | ||
+ | ports: | ||
+ | - 192.168.1.15: | ||
+ | - 192.168.1.15: | ||
+ | </ | ||
+ | Дело в том, что сеть не успевает полностью подняться до запуска контейнера и его запуск обламывается. Для решения можно использовать следующий костыль: | ||
+ | |||
+ | <code bash> | ||
+ | # Сделать override-файл для докер-демона, | ||
+ | systemctl edit docker | ||
+ | |||
+ | [Service] | ||
+ | # wait for the network to be up | ||
+ | ExecStartPre=/ | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | # Скрипт | ||
+ | cat << EOF > / | ||
+ | #!/bin/bash | ||
+ | ipServerAddress=" | ||
+ | cycleLength=1 # The length of a wait cycle in seconds | ||
+ | timeout=15 | ||
+ | |||
+ | elapsedTime=0 | ||
+ | ping -c 1 \$ipServerAddress > /dev/null 2>&1 | ||
+ | while [ \$? -ne 0 ]; do | ||
+ | if [ " | ||
+ | # Timeout | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | elapsedTime=\$((elapsedTime + cycleLength)) | ||
+ | sleep \$cycleLength | ||
+ | ping -c 1 \$ipServerAddress > /dev/null 2>&1 | ||
+ | done | ||
+ | EOF | ||
+ | |||
+ | # Сделать скрипт запускаемым | ||
+ | chmod ug+x / | ||
+ | </ | ||
+ | https:// | ||
+ | |||
+ | ==== DNSMASQ_WARN: | ||
+ | |||
+ | <code bash> | ||
+ | echo " | ||
+ | pihole restartdns | ||
+ | </ | ||
+ | |||
+ | https:// | ||
+ | https:// | ||