Вопрос или проблема
Я успешно установил Pi-hole, но включаю точку доступа и получаю эту ошибку:
FTL не удалось запуститься из-за ошибки создания слушающего сокета для порта 53: Адрес уже используется (dnsmasq)
Когда я убиваю dnsmasq, Pi-hole работает нормально, но я не могу включить точку доступа, получаю:
dnsmasq[22153]: не удалось создать слушающий сокет для порта 53: Адрес уже используется
Я удалил dnsmasq-base
, и Pi-hole работает нормально, но когда я пытаюсь включить точку доступа, получаю эту ошибку:
NetworkManager[116210]: <warn> [1734879323.7233] устройство (wlp0s20f3): ip:shared4: не удалось запустить dnsmasq: Не удалось найти бинарный файл "dnsmasq"
Существует ли способ использовать Pi-hole и точку доступа одновременно? Могу ли я настроить точку доступа так, чтобы она использовала Pi-hole вместо dnsmasq?
UPDATE:
У меня Ubuntu 22.04
Ответ или решение
Как использовать Pi-hole и точку доступа одновременно на Ubuntu 22.04
Установка и настройка Pi-hole в сочетании с функцией точки доступа (hotspot) может вызывать некоторые проблемы из-за конфликта между DNS-серверами, в частности, между Pi-hole и dnsmasq. В данной статье мы подробно рассмотрим, как решить эту проблему и настроить hotspot для работы с Pi-hole.
Проблема
При попытке активировать hotspot на вашей системе вы сталкиваетесь с ошибками, связанными с открытием порта 53, который используется для DNS-запросов. Сообщение об ошибке, которое вы получаете:
FTL failed to start due to failed to create listening socket for port 53: Address already in use (by dnsmasq)
Это говорит о том, что dnsmasq (который используется NetworkManager для управления DNS в режиме совместного использования сети) уже использует порт 53, и, следовательно, Pi-hole не может запуститься.
Тактика решения проблемы
Основная цель заключается в том, чтобы конфигурировать NetworkManager для использования Pi-hole как DNS-сервера вместо dnsmasq. Вот поэтапная инструкция:
-
Отключите dnsmasq от NetworkManager:
Для того чтобы NetworkManager не запускал dnsmasq, вам нужно отключить его. Это можно сделать следующим образом:- Отредактируйте файл конфигурации NetworkManager:
sudo nano /etc/NetworkManager/NetworkManager.conf
Убедитесь, что строка
dns=dnsmasq
либо закомментирована, либо заменена наdns=none
.
- Отредактируйте файл конфигурации NetworkManager:
-
Перезапустите NetworkManager:
После внесения изменений перезапустите службу NetworkManager:sudo systemctl restart NetworkManager
-
Проверьте, работает ли Pi-hole:
Убедитесь, что Pi-hole работает корректно:pihole status
-
Настройка точек доступа (hotspot):
После того как dnsmasq отключен, можно настроить hotspot. Вам нужно будет создать точку доступа, используяnmcli
, команду для настройки сети в командной строке:nmcli dev wifi hotspot ifname <имя_вашего_интерфейса> ssid <название_вашей_точки_доступа> password <ваш_пароль>
-
Указание Pi-hole как DNS-сервера:
Чтобы клиенты в вашей точке доступа использовали Pi-hole с DNS-запросами, вам нужно убедиться, что они получают его IP-адрес в качестве DNS-сервера через DHCP. Убедитесь, что DHCP-сервер на вашем системе настроен на использование Pi-hole:- Откройте интерфейс администрирования Pi-hole (обычно доступен по адресу
http://<ваш_ip_pi-hole>/admin
) и найдите настройки DHCP. - Убедитесь, что DHCP включен, и укажите Pi-hole как DNS-сервер.
- Откройте интерфейс администрирования Pi-hole (обычно доступен по адресу
-
Запуск Pi-hole:
Теперь запустите Pi-hole снова, если он не запущен:sudo pihole restartdns
Проверка и тестирование
После настройки проверьте, могут ли устройства, подключенные к вашей точке доступа, разрешать DNS-запросы через Pi-hole. Для этого можно использовать команду nslookup
для проверки разрешения доменных имен.
Заключение
Следуя указанным шагам, вы сможете успешно настроить точку доступа на Ubuntu 22.04 с использованием Pi-hole в качестве DNS-сервера. Эти шаги помогают избежать конфликта с dnsmasq и обеспечивают эффективный и безопасный доступ к интернету для ваших устройств. Не забудьте периодически проверять функциональность Pi-hole и обновлять систему, чтобы поддерживать безопасность и производительность ваших сетевых решений.