Wyszukiwanie w witrynie

Jak ustawić stałe serwery nazw DNS w Ubuntu i Debianie


/etc/resolv.conf to główny plik konfiguracyjny biblioteki rozpoznawania nazw DNS. Mechanizm rozpoznawania nazw to zestaw funkcji w bibliotece C, które zapewniają dostęp do Systemu nazw domen internetowych (DNS). Funkcje są skonfigurowane do sprawdzania wpisów w pliku /etc/hosts lub kilku serwerów nazw DNS lub do korzystania z bazy danych hosta Network Information Service (NIS ).

W nowoczesnych systemach Linux korzystających z systemd (menedżer systemu i usług) usługi DNS lub rozpoznawanie nazw są udostępniane lokalnym aplikacjom za pośrednictwem usługa rozwiązana przez system. Domyślnie ta usługa ma cztery różne tryby obsługi rozpoznawania nazw domen i wykorzystuje systemowy plik pośredniczący DNS (/run/systemd/resolve/stub-resolv.conf) w domyślnym trybie działania.

Plik pośredniczący DNS zawiera lokalny odcinek 127.0.0.53 jako jedyny serwer DNS i jest przekierowywany do pliku /etc/resolv.conf, który został użyty do dodania serwery nazw używane przez system.

Jeśli uruchomisz następującą komendę ls w pliku /etc/resolv.conf, zobaczysz, że ten plik jest dowiązaniem symbolicznym do pliku /run/systemd/resolve/stub-resolv.conf< plik.

ls -l /etc/resolv.conf

lrwxrwxrwx 1 root root 39 Feb 15  2019 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

Niestety, ponieważ plik /etc/resolv.conf jest zarządzany pośrednio przez usługę systemd-resolved, a w niektórych przypadkach przez usługę sieciową (za pomocą initscripts< lub NetworkManager), wszelkie zmiany wprowadzone ręcznie przez użytkownika nie mogą zostać zapisane na stałe lub mogą obowiązywać tylko przez jakiś czas.

W tym artykule pokażemy jak zainstalować i wykorzystać program resolvconf do ustawienia stałych serwerów nazw DNS w pliku /etc/resolv.conf w systemie Debian i Ubuntu dystrybucje Linuksa.

Dlaczego chcesz edytować plik /etc/resolv.conf?

Głównym powodem może być błędna konfiguracja ustawień DNS systemu lub wolisz używać określonych lub własnych serwerów nazw. Poniższe polecenie cat pokazuje domyślny serwer nazw w pliku /etc/resolv.conf w moim systemie Ubuntu.

cat /etc/resolv.conf

W tym przypadku, gdy aplikacje lokalne, takie jak menedżer pakietów APT, próbują uzyskać dostęp do nazw FQDN (w pełni kwalifikowanych nazw domen) w sieci lokalnej, efektem jest „ Tymczasowy błąd rozpoznawania nazw ”, jak pokazano na następnym zrzucie ekranu.

To samo dzieje się po uruchomieniu polecenia ping.

ping google.com

Kiedy więc użytkownik próbuje ręcznie ustawić serwery nazw, zmiany nie trwają długo lub zostają cofnięte po ponownym uruchomieniu. Aby rozwiązać ten problem, możesz zainstalować narzędzie reolvconf i użyć go, aby wprowadzić zmiany na stałe.

Aby zainstalować pakiet resolvconf jak pokazano w następnej sekcji, musisz najpierw ręcznie ustawić następujące serwery nazw w pliku /etc/resolv.conf, aby uzyskać dostęp FQDM serwerów repozytoriów Ubuntu w Internecie.

nameserver 8.8.4.4
nameserver 8.8.8.8

Przeczytaj także: Jak skonfigurować lokalny DNS przy użyciu pliku /etc/hosts w systemie Linux

Instalowanie resolvconf w Ubuntu i Debianie

Najpierw zaktualizuj pakiety oprogramowania systemowego, a następnie zainstaluj resolvconf z oficjalnych repozytoriów, uruchamiając następujące polecenia.

sudo apt update
sudo apt install resolvconf

Po zakończeniu instalacji resolvconf, systemd spowoduje automatyczne uruchomienie i włączenie resolvconf.service. Aby sprawdzić, czy działa i działa, wydaje następujące polecenie.

sudo systemctl status resolvconf.service

Jeśli z jakiegoś powodu usługa nie zostanie uruchomiona i włączona automatycznie, możesz ją uruchomić i włączyć w następujący sposób.

sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service

Ustaw stałe serwery nazw DNS w Ubuntu i Debianie

Następnie otwórz plik konfiguracyjny /etc/resolvconf/resolv.conf.d/head.

sudo nano /etc/resolvconf/resolv.conf.d/head

i dodaj w nim następujące linie:

nameserver 8.8.8.8 
nameserver 8.8.4.4

Zapisz zmiany i uruchom ponownie resolvconf.service i systemd-resolved lub zrestartuj system.

sudo systemctl restart resolvconf.service
sudo systemctl restart systemd-resolved.service

Teraz, gdy sprawdzisz plik /etc/resolv.conf, wpisy serwera nazw powinny być tam przechowywane na stałe. Odtąd nie będziesz mieć żadnych problemów związanych z rozpoznawaniem nazw w swoim systemie.

Mam nadzieję, że ten krótki artykuł pomógł ci w ustawieniu stałych serwerów nazw DNS w twoich systemach Ubuntu i Debian. Jeśli masz jakieś pytania lub sugestie, podziel się nimi z nami w sekcji komentarzy poniżej.