Jaki jest „właściwy sposób” wprowadzania zmian w /etc/resolv.conf z /etc/resolv.conf.d?


11

W dawnych czasach resolv.confbyłem statyczny, a ty sam to zredagowałeś.

Później klient DHCP przepisałby go, używając niektórych wpisów statycznych i tego, co otrzymał z dzierżawy DHCP.

Obecnie niektóre dystrybucje - takie jak moja (Linux Mint 18.1) mają /etc/resolv.conf.dmechanizm z kilkoma podkatalogami skryptów i, no cóż, nie mogę tego robić.

W takim razie właściwy sposób

  • wskazać, że chcę używać lub nie używać serwerów DNS uzyskanych w ramach dzierżawy DHCP?
  • dodawać stałe wpisy do resolv.conf, zawsze czy jako awaryjne, gdy nie ma serwera nazw uzyskanego przez dzierżawę DHCP?
  • podejmować decyzje dotyczące względnej kolejności w pliku?

Nie mam nic przeciwko pisaniu własnych skryptów, jeśli tak, po prostu nie chcę „działać przeciwko” istniejącemu mechanizmowi ani wykonywać kopii.


4
Odinstalowuję resolvconfna serwerach ... unix.stackexchange.com/questions/286195/…
Rui F Ribeiro

Możesz także skonfigurować dhclientignorowanie / zastępowanie informacji DHCP DNS; Nie jestem pewien, czy jest w tym mechanizm /etc/resolv.conf.d(ale nie używam Mennicy i nie mam tych skryptów).
dirkt

@dirkt: Właściwie w tej chwili jedynym wpisem, który wchodzi do mojego, /etc/resolv.confjest localhost (który uruchamia dnsmasq), więc nie jest dla mnie jasne, w jaki sposób dnsmasq, mechanizm resolv.conf.d i klient DHCP wchodzą w interakcje.
einpoklum,

Odpowiedzi:


2

Odpowiedź jest prosta, resolv.conf.dfolder istnieje w / etc / resolvconf / i zawiera pliki head / base / original i tail. każdy z nich, jeśli zostanie edytowany, zaktualizuje resolv.confplik w / etc /

powiedzmy, że chcesz umieścić jakiś statyczny adres DNS na początku resolv.confw / etc / (ponieważ przy każdym ponownym uruchomieniu automatycznie resetuje się do ustawień domyślnych) musisz edytować headplik w /etc/resolvconf/resolvconf.d/ i wpisać na przykład:

nameserver 1.1.1.1
nameserver 1.0.0.1

po tym zrestartuj usługę resolvconf, używając:

sudo service resolvconf restart

teraz wejdź resolv.confdo / etc /, a zobaczysz nowe zmiany.

to samo dotyczy sytuacji, gdy chcesz umieścić rzeczy na dole pliku, którego używasz tailzamiast headw /etc/resolvconf/resolvconf.d/

PS: jest to w 100% przetestowane i działa Ubuntu i Debian

Edycja: Odpowiedziałem już na dwa ostatnie punkty twojego pytania, teraz dotyczące pierwszego punktu, który mówi o tym, jak nie używać adresu DNS podanego przez DHCP. To naprawdę zależy od tego, jakie oprogramowanie / pakiet DNS zainstalowałeś, dlatego zalecamy sprawdzenie tego postu i przeczytanie poniższego, w razie potrzeby dnsmasq.


1
+1, ale to tylko wyjaśnia, jak zrobić część tego, o co prosiłem.
einpoklum

0

resol.conf i niektóre takie mechanizmy istnieją od lat poprzednich do chwili obecnej. Istnieje wiersz poleceń dhclient, resolvconfktóry obsługuje ten plik, jednak w ostatnim roku Linux wprowadził nowy interfejs do konfiguracji NetworkManager o nazwie nmcli . To bogate polecenie do zarządzania każdą trwałą konfiguracją sieci (nie czasem wykonywania). możesz użyć czegoś takiego jak:

$ nmcli connection modify eth0 ipv4.dns 8.8.8.8

To polecenie zastąpi resolv.confplik. W RHCA zaleca się, aby nie edytować ręcznie resolv.conf i używać jego poleceń. O wspomnianym przez ciebie katalogu resolvconf mogę powiedzieć, że niektóre usługi mogą mieć własne conf dla DNS, więc używają tego własnego conf jak OpenVpn. Możesz także sprawdzić /etc/nsswitchplik, aby uzyskać więcej informacji na temat rozwiązywania.


Nie wierzę, że to faktycznie odpowiada na moje pytanie.
einpoklum

Cóż, być może moja miss rozumie twoje pytanie, ale nsswitchplik jest jedną z twoich odpowiedzi.
Ali Ghasempour,

Wierzę, że @einpoklum chce mieć kontrolę nad kolejnością serwerów DNS w resolv.conf(patrz man resolv.conf), a nie w kolejności środków używanych do rozwiązania ( man nsswitch.conf). Ale twoja odpowiedź jest jednak interesująca.
xhienne,

Dziękuję za zainteresowanie . O ile wiem, resolv.conf jest plikiem sekwencyjnym, a jego priorytet rozstrzygania wynosi od góry do dołu.
Ali Ghasempour,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.