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.

einpoklum
źródło
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.

M03
źródło
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.

Ali Ghasempour
źródło
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,