Chcę uzyskać szybką rozdzielczość dns z dnsmasq i zachować domyślną rozdzielczość systemd.
Szukasz eleganckiego sposobu na zrobienie tego
network-manager
18.04
dns
dnsmasq
systemd-resolved
cmak.fr
źródło
źródło
Odpowiedzi:
Chciałem uzyskać szybką rozdzielczość dns z dnsmasq i pozostawić domyślną konfigurację systemu / NetworkManager niezmienioną do wykorzystania w przyszłości. Tak, ogromne buforowanie DNS dnsmasq może poprawić szybkość przeglądania. Tak, celem było utrzymanie domyślnej konfiguracji dns z 18.04
1 - Z sudo
2 - Z sudo
3 - W USER skonfiguruj NetworkManager
4 - Sprawdź weryfikację
źródło
Próbowałem znaleźć rozsądne rozwiązanie i wygląda na to, że istnieją różne podejścia.
Chciałem pozostać co najwyżej w obrębie układu dystrybucji, jednocześnie spełniając wszystkie wymagania biznesowe. Oto, co zebrałem i przetestowałem, aby pracować na czystym Ubuntu 18.04 i smaku KDE Neon:
(należy pamiętać, że jedyną ogólną różnicą w powyższych odpowiedziach jest to, że NetworkManager automatycznie obsługuje przypisania serwera DNS dnsmasq automatycznie
źródło
Jak wiesz, Docker kopiuje plik host /etc/resolv.conf do kontenerów, ale usuwa lokalny serwer nazw.
Moim rozwiązaniem tego problemu jest nadal używanie systemd-resolvd i NetworkManager, ale dodawanie dnsmasq i używanie go do „przekazywania” zapytań DNS kontenerów Docker do systemd-resolvd .
Przewodnik krok po kroku:
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
Aby uzyskać więcej informacji, zobacz mój post (w języku hiszpańskim) https://rubensa.wordpress.com/2020/02/07/docker-no-usa-los-mismos-dns-que-el-host/
źródło
Ubuntu 18.10
IMHO, jeśli zamierzasz uruchomić dnsmasq, powinieneś statycznie przypisać swój adres IP zamiast pobierać go z dhcp. W ten sposób możesz po prostu wyłączyć wszystkie rozwiązania systemowe.
sudo apt-get install dnsmasq
sudo systemctl wyłącza systemd-rozwiązany
sudo systemctl stop systemd-rozwiązany
Ręcznie przypisz adres IP, bramę i adres IP do urządzenia jako DNS.
configure /etc/dnsmasq.conf (naprawdę ... RTFM -> man dnsmasq.conf)
sudo systemctl enable dnsmasq
sudo systemctl status dnsmasq
wskaż dhcp na serwerze dhcp na nowy błyszczący serwer dnsmasq (.. jeśli yumpto)
źródło