W końcu przeprowadziłem migrację do wersji 12.04 z wersji 7.10. Mam ostatnią część do ukończenia, ale jestem zakłopotany. Korzystam z Puppet na każdym serwerze, aw przeszłości podałem adres serwera nazw i nazwę domeny wyszukiwania dla puppetmaster w resolv.conf.
search puppetmaster.com
nameserver 192.168.1.XXX
W 12.04 rezv.conf zostaje zastąpione po ponownym uruchomieniu. Nie mogę użyć do tego statycznego adresu IP, więc użycie / etc / network / interfaces, aby mi pomóc, jest zerowe.
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
Czy istnieje sposób, aby resolvconf poradził sobie z tym w głowie, ogonie lub podstawie? Jeśli tak, czy są jakieś przykłady, których mogę użyć, aby dostosować na moim serwerze.
Każda pomoc jest mile widziana.
resolv.conf
Sam
źródło
źródło
Odpowiedzi:
Prawdopodobnie lepiej jest, aby Twój serwer DNS był w stanie rozpoznać „marionetkę” pod właściwym adresem i albo pozwolić serwerowi DHCP na przekazanie adresu serwera nazw DNS i listy wyszukiwania, albo (jeśli masz statyczne adresy IP), aby mieć coś w rodzaju następujące w / etc / network / interfaces.
Ale jeśli chcesz to zrobić za pomocą plików konfiguracyjnych resolvconf, będziesz chciał edytować
/etc/resolvconf/resolv.conf.d/base
. W tym pliku wprowadź swoje dane tak, jak wresolv.conf
.Następnie powiedz resolvconf, aby zregenerował się
resolv.conf
.źródło
Myślę, że odpowiedź, to sprawdzić
/etc/dhcp/dhclient.conf
, to znaczy nie żądaćdns-nameservers
od dhcp klienta.Następnie zaktualizuj swój
/etc/network/interfaces
Następnie
resolv.conf
zostanie automatycznie skonfigurowany tak, jak chcesz.Dodaj do,
dns-search
a następnie uruchom/etc/init.d/networking restart
(chociaż ten skrypt jest przestarzały, nadal działa).źródło
/etc/init.d/networking restart
nie działał na moim komputerze, alesudo ifdown -a
potem działałsudo ifup -a
. (Trochę mi zajęło uświadomienie sobie, że muszę zastąpićdnsserverip
czymś takim8.8.8.8
; czuję się trochę głupio.)systemctl restart networking.service
Jest to prawdopodobnie spowodowane konfiguracją DHCP podczas pierwszej instalacji Ubuntu. Wypróbuj ten 3-etapowy proces, aby rozwiązać ten problem z automatyczną konfiguracją.
Pierwszy
Edytuj konfigurację interfejsu, która znajduje się w:
/etc/network/interfaces
Dodaj tę linię poniżej
iface lo inet loopback
:Jako przykład dla Google DNS możesz użyć tego:
druga
Edytuj plik konfiguracyjny DHCP znajdujący się pod:
Oznacz składnię jako komentarz za pomocą
#
w każdym wierszu lub po prostu usuń każdy serwer nazw żądań. W 16.04 może nie być wymagane wprowadzenie tutaj zmian.Trzeci
Uruchom ponownie sieć za pomocą tego polecenia:
W 16.04:
źródło
/etc/init.d/networking restart
nie działał na moim komputerze, alesudo ifdown -a
potem działałsudo ifup -a
.Proszę spojrzeć na
resolvconf
stronę manuala. Możesz wymusić włączenie niektórych ustawień DNS, tworząc np ./etc/resolvconf/resolv.conf.d/base
:Istnieją inne specjalne pliki (głowa i ogon), które mogą pomóc Ci osiągnąć to, co chcesz.
źródło
Wiele innych odpowiedzi mówi, że ma to związek z
resolvconf
instalacją w systemie.Dlatego najlepszym sposobem na zachowanie czegoś
resolv.conf
, co nie zgubi się podczas ponownego uruchamiania, jest włączenie go do plików konfiguracyjnych resolvconf, które znajdują się w:Tam idź po
head
plik. Cokolwiek tam umieścisz, zostanie zapisane na górze/etc/resolv.conf
Więc wszystko pójdzie do czegoś takiego:
źródło
Dla mnie powyższe odpowiedzi były nieodpowiednie z następujących powodów:
resolvconf
, po prostu/etc/resolv.conf
.chattr +i
do blokowaniaresolv.conf
wydaje się zbyt hackerskie. Potrzebuję Puppet, by móc swobodnie wprowadzać zmiany w razie potrzeby./etc/network/interfaces
nie zapobiegaresolv.conf
zastąpieniu; po prostu określa serwery nazw, które należy zapisać. Dla mnie określenie serwerów nazw nie było celem. Próbuję ustawićoptions timeout:1
ioptions attempts:1
w moimresolv.conf
pliku.Najlepszym rozwiązaniem znalazłem zastępuje domyślne zachowanie
dhclient
wykorzystując swoje udokumentowane haki.Utwórz nowy plik
/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
o następującej treści:Następnie uczyń plik wykonywalnym:
Teraz, gdy dhclient działa - przy ponownym uruchomieniu lub przy ręcznym uruchomieniu
sudo ifdown -a ; sudo ifup -a
- ładuje ten skryptnodnsupdate
. Ten skrypt zastępuje wywoływaną funkcję wewnętrznąmake_resolv_conf()
, która normalnie nadpisujeresolv.conf
i zamiast tego nic nie robi.To działało dla mnie na Ubuntu 12.04.
źródło
To może być dziwne dziwactwo w mojej maszynie, ale ktoś inny może mieć tę samą obudowę narożną.
Próbowałem wielu sposobów na włączenie moich serwerów nazw ISP do pliku /etc/resolv.conf bez powodzenia:
Włączyłem je
/etc/network/interfaces
i ponownie uruchomiłem sieć. Nie pojawili się/etc/resolv.conf
.Umieściłem je
/etc/resolv.conf
wyraźnie, ale oczywiście zostały nadpisane. Pojawili się/run/resolvconf/interface/eth0.inet
, ale nigdy tego nie zrobili/etc/resolv.conf
.Próbowałem skonfigurować resolvconf dla aktualizacji dynamicznych. Brak zmiany.
W końcu przeczytałem gdzieś, że jeśli lokalna maszyna (127.0.0.1) pojawia się na
/etc/resolv.conf
innych serwerach nazw, nie są uwzględnione.W desperacji redakcją
/run/resolvconf/interface/lo.named
usunięty, jedyna linia w nim (nameserver 127.0.0.1
) i ponownie:ifdown eth0 && ifup eth0
./etc/resolv.conf po raz pierwszy uwzględnił moje serwery nazw ISP! Pobiegłem
service network-manager restart
sprawdzić, czy jest stabilny i/etc/resolv.conf
nadal zawiera moje serwery nazw ISP. Ponownie uruchomiony tylko upewnić się i nadal istnieje , ale/run/resolvconf/interface/lo.named
został zresetowany do:nameserver 127.0.0.1
.Co ciekawe, restartowanie sieci wciąż działa:
/etc/resolv.conf
nadal zawiera moje serwery nazw ISP. Nie potrafię tego wyjaśnić (czy ktoś może?), Ale może to pomóc komuś utknąć w tym samym miejscu.źródło
dnsmasq
. Możesz go po prostu usunąć za pomocąapt-get remove dnsmasq
lub zaktualizować config w/etc/dnsmasq.conf
.dodaj swój serwer nazw do pliku /etc/resolvconf/resolv.conf.d/head. Plik zawiera otrzymaną wiadomość:
ten plik powinien wyglądać tak po dodaniu 8.8.8.8
źródło
dodaj w ostatnim wierszu np .:
Otwórz terminal i wpisz
+ i dba o to, aby plik nie został zresetowany podczas rozruchu.
Aby cofnąć powyższe
Po więcej
źródło
Inne rozwiązania nie działały dla mnie w moim systemie Fedora 20. Mój szczególny problem polegał na tym, że wiersz „search” w pliku /etc/resolv.conf był zastępowany. Oto, co to naprawiło. (Zakłada się, że NetworkManager produkuje linię
search rn.yourcompany.com
i chcesz, aby byłasearch rn.yourcompany.com yourcompany.com intnet.yourcompany.com
:1. Użyj polecenia „ifconfig”, aby dowiedzieć się, który interfejs jest interesujący:
2. Zostań rootem i przejdź do katalogu urządzeń sieciowych do konfiguracji systemu:
Domain
wiersz z dodatkowymi domenami do przeszukania:DOMAIN="yourcompany.com intnet.yourcompany.com"
Zapisz, wyloguj się i zaloguj ponownie. NetworkManager powinien teraz mieć wiersz
\etc\resolve.conf
:źródło
Dodaj wpisy w
/etc/resolvconf/resolv.conf.d/head
i uruchom następujące polecenie
źródło
Dla Ubuntu Server 18 Netplan to nowe narzędzie do konfiguracji sieci.
Następnie edytuj wpisy serwerów nazw w pliku yaml (użyj poprawnego wcięcia). Na przykład, jeśli korzystasz z serwerów DNS Google:
Aby ponownie uruchomić usługę
Zobacz https://netplan.io/
https://www.techrepublic.com/article/how-to-set-dns-nameservers-in-ubuntu-server-18-04/
źródło
Jeśli używasz DHCP, edytuj,
/etc/dhcp/dhclient.conf
aby dodać dodatkowe serwery DNS:Klient DHCP nadpisuje
dns-nameservers
inetc/network/interfaces
i myślę, że w/etc/resolvconf/resolv.conf.d/base
zbyt.To działało dla mnie na serwerze Ubuntu 14.04.3.
Szczegółowe informacje zawiera Wiki Debian NetworkConfiguration .
źródło
Po prostu zrób kopię zapasową pliku resol.conf i usuń pakiet resolvconf i edytuj plik /etc/resolv.conf na co tylko chcesz.
Powinniśmy mieć prawo wyboru, aby nie używać złego oprogramowania, takiego jak resolvconf.
Nawiasem mówiąc, pole wyszukiwania w /etc/resolv.conf jest bezużyteczne.
źródło
Używanie
resolvconf
i wyłączaniesystemd-resolved.service
(to działa dla mnie ubuntu 19.04):zainstalować
resolvconf
Dodawanie serwerów nazw
Otwórz za
/etc/resolvconf/resolv.conf.d/base
pomocą edytora tekstu, używamvim
.następnie dodaj serwery nazw do otwartego pliku, np .:
Aktualizacja
resolv.conf
Wyłącz
systemd-resolved.service
i uruchom ponownie.nameserver 127.0.0.53
nie jest napisane do/etc/resolv.conf
.Gotowy!
Źródło
źródło
To najprostsza poprawka. Jeśli masz
resolv.conf
iresolvconf
pliki, staną na sobie. Musisz usunąćresolv.conf
plik, który jest pobierany i zastępowany przy każdym ponownym uruchomieniu.Umieść
nameserver 1.1.1.1 1.0.0.1
na dole pliku resolvconf, a następnie uruchomAby pozbyć się pliku. Następnie uruchom ponownie i wszystko będzie działać.
źródło
Rozwiązanie Mi w dniu 12.04:
Zauważyłem, że jeśli dodasz serwer nazw dns w interfejsach, które nie zajmują serwerów rozpoznawania nazw
strona podręcznika resolvconf
Aby resolv.conf nie zmieniał się podczas ręcznej edycji, wykonaj to w terminalu:
po:
następnie ręcznie edytuj
/run/resolvconf/resolv.conf
dodając maksymalnie dwa serwery DNS.Następnie uruchom ponownie usługę:
źródło
Po prostu umieść
polecenie w
/etc/network/interfaces
konfiguracji. następnie uruchom ponownie sieć.powinno działać.
źródło
Ta konfiguracja jest zadeklarowana w
/etc/default/bind9
no = nie stosuj warunku w
init.d
bind9
tak lub inna wartość = zastąpienie
resolv.conf
Ten problem występuje, gdy instalujesz
bind9
i nie przejmuj się sprawdzaniem wszystkich konf.źródło