Я хочу получить быстрое разрешение DNS с помощью dnsmasq и сохранить системное разрешение по умолчанию.
Ищете элегантный способ сделать это
Я хочу получить быстрое разрешение DNS с помощью dnsmasq и сохранить системное разрешение по умолчанию.
Ищете элегантный способ сделать это
Ответы:
Я хотел получить быстрое разрешение DNS с помощью dnsmasq и оставить настройки systemd-resolved / NetworkManager по умолчанию нетронутыми для будущего использования. Да, огромное DNS-кэширование dnsmasq может улучшить скорость просмотра. Да, цель состояла в том, чтобы сохранить настройку DNS по умолчанию 18.04
1 - с судо
2 - с судо
3 - С ПОЛЬЗОВАТЕЛЕМ настройте NetworkManager
4 - Проверить проверить
источник
Я попытался найти разумное решение и выглядит, что есть разные подходы.
Я хотел остаться максимально в пределах схемы распространения, сохраняя все деловые требования выполненными. Вот что я собрал и протестировал для работы над чистым Ubuntu 18.04 и KDE Neon:
(обратите внимание, что единственное общее отличие от приведенных выше ответов заключается в том, что NetworkManager обрабатывает назначения DNS-сервера dnsmasq автоматически
источник
Как вы знаете, Docker копирует файл хоста /etc/resolv.conf в контейнеры, но удаляет любой локальный сервер имен.
Мое решение этой проблемы состоит в том, чтобы продолжать использовать systemd-resolvd и NetworkManager, но добавить dnsmasq и использовать его для «пересылки» Docker- контейнеров DNS- запросов в systemd-resolvd .
Пошаговое руководство:
sudo rm /etc/resolv.conf sudo touch /etc/resolv.conf
[main] # NetworkManager will push the DNS configuration to systemd-resolved dns=systemd-resolved # NetworkManager won’t ever write anything to /etc/resolv.conf rc-manager=unmanaged
sudo apt-get -y install dnsmasq
# Use interface docker0 interface=docker0 # Explicitly specify the address to listen on listen-address=172.17.0.1 # Looks like docker0 interface is not available when dnsmasq service starts so it fails. This option makes dynamically created interfaces work in the same way as the default. bind-dynamic # Set systemd-resolved DNS server server=127.0.0.53
# systemd-resolvd name server nameserver 127.0.0.53 # docker host ip nameserver 172.17.0.1
sudo service network-manager restart sudo service dnsmasq restart sudo service docker restart
Для получения дополнительной информации см. Мой пост (на испанском языке) https://rubensa.wordpress.com/2020/02/07/docker-no-usa-los-mismos-dns-que-el-host/
источник
Ubuntu 18.10
ИМХО, если вы собираетесь запускать dnsmasq, вы должны статически назначать свой IP-адрес, а не получать его от dhcp. Таким образом, вы можете просто отключить systemd-resolved все вместе.
sudo apt-get установить dnsmasq
sudo systemctl отключить systemd-resolved
sudo systemctl stop systemd-resolved
Вручную назначьте свой IP-адрес, шлюз и назначьте IP-адрес вашей машине как DNS.
настроить /etc/dnsmasq.conf (действительно ... RTFM -> man dnsmasq.conf)
sudo systemctl включить dnsmasq
sudo systemctl status dnsmasq
укажите dhcp на вашем dhcp-сервере на ваш новый блестящий dnsmasq-сервер (..if yumpto)
источник