Wszystkie przykłady konfiguracji ( /etc/network/interfaces
), które widziałem, pokazały, że konfigurujesz interfejs, a następnie pod spodem, który podaje następujące dns-*
wiersze:
auto eth0
iface eth0 inet static
...
dns-nameservers 127.0.0.2
dns-search example.com my.example.com
Teraz wiem, że protokół DNS jest niezależny od mechanizmu transportu. Dlatego dodawanie adresu IPv6 w dns-nameservers
linii nie powinno być samo w sobie złe .
Ponieważ jednak i tak konfiguruję interfejs dla IPv6, warto dodać dns-nameservers
tam linię:
iface eth0 inet6 static
...
dns-nameservers ::2
dns-search example.com my.example.com
... czy to zrobiło? Ponieważ podczas resolvconf
tworzenia /etc/resolv.conf
po prostu ignoruje wszystkie serwery DNS IPv6. Wydaje się również, że ignoruje dns-search
i dns-domain
. Jedyną linią, którą wydaje się honorować, jest dns-nameservers
linia z konfiguracji IPv4 eth0
.
Jaka jest poprawna metoda konfigurowania serwerów DNS?
Dalsze poszlakowe dowody, dlaczego powinien on być częścią każdej odpowiedniej iface
zwrotki. Cytat z man 8 resolvconf
:
ifup(8)
Program może być używany do interfejsów sieciowych configure według ustawień/etc/network/interfaces(5)
. Abyifup
informacje pushresolvconf
serwera nazw były konfigurowane podczas dodawania interfejsu, dodajdns-
wiersze do odpowiedniej sekcjiiface
w/etc/network/interfaces
. Aby dodać adresy serwerów nazw, dodaj linię zaczynającą się oddns-nameservers
.
źródło
Odpowiedzi:
Prawidłowe jest umieszczanie opcji dns- * w
iface eth0 inet static
zwrotce lubiface eth0 inet6 static
zwrotce. Opcje stają się aktywne, gdy staje się aktywna definicja interfejsu logicznego, do którego należą.Właśnie przetestowałem to na moim komputerze Ubuntu 15.04, który zwykle konfiguruję za pomocą DHCP. Wyłączyłem NetworkManager i edytowałem / etc / network / interfaces, aby wyglądało to tak:
Potem zrobiłem
Wyniki:
Zauważ, że adresy, serwery nazw dns i opcje wyszukiwania dns z obu zwrotek są teraz aktywne.
[Zaktualizowano 30 maja 2015 r.]
źródło
Na moim RPi z Ubuntu 16.04.2 LTS moje ustalenia były następujące:
Uwaga: odinstalowałem NetworkManagera i po prostu opuściłem resolvconf, aby wykonać swoje czynności. (To jest naprawiony serwer, więc nic się nie zmienia w sieci.)
JEŚLI miałem wiersze dns-search i dns-nameserver tylko na JEDNYM interfejsie (podstawowym, przewodowym), ale nie na drugim (wlan0), a następnie przy ponownym uruchomieniu, około 95% czasu to mój plik /etc/resolv.conf pusty.
np. gdy mój plik interfejsów wyglądał tak:
NASTĘPNIE po ponownym uruchomieniu mój resolv.conf wyglądałby tak:
Jednak po jednym lub dwóch ponownych uruchomieniach zauważyłem, że NIE Miałem tego, czego chciałem, np
Rozwiązanie Kiedy podałem OBU interfejsom (przewodowym i wlan0) linie dns-search i dns-nameserver, wszystko działało dobrze przy każdym ponownym uruchomieniu komputera (jak dotąd)
tzn. działa dla mnie następujący plik interfejsów:
i daje mi następujący poprawny resolv.conf po każdym ponownym uruchomieniu (do tej pory)
Zakładam, że ta zduplikowana konfiguracja jest normalna, choć nieco zbędna.
Wniosek: Jeśli interfejs (inny niż lo0) nie ma informacji o wyszukiwaniu dns i serwerze nazw dns, oznacza to, że resolvconf nie umieszcza nic w pliku resolv.conf. (To tak, jakby ifup zrobił drugi interfejs wlan0 i ifup wyczyścił plik resolv.conf lub podobny.)
Nie jestem pewien, czy jest to błąd, czy nie, jednak czuję się źle.
źródło
Edycja interfejsów sieciowych w celu dodania użycia niestandardowego DNS to sposób ... ale w celu trwałej modyfikacji ogólnosystemowego pliku resolv.conf za pomocą niestandardowego serwera nazw dns należy zainstalować pakiet resolvconf (jeśli nie jest już zainstalowany domyślnie) i wypełnić jego bazę plik konfiguracyjny z niestandardowymi wartościami serwerów nazw DNS. Mam nadzieję, że ten krótki przewodnik pomoże ci w dalszych konfiguracjach dotyczących wpisów DNS resolv.conf http://www.bytelinux.com/make-permanent-changes-to-resolv-conf-file-on-ubuntu/
źródło
resolvconf
jest zainstalowany. Chciałbym/etc/network/interfaces
skonfigurować moje serwery DNS odpowiednio dla IPv4 i IPv6.Chcesz korzystać z serwerów DNS IPv6 na /etc/network/interfaces ... po prostu umieść wpisy nazw DNS IPv6 w określonym interfejsie sieciowym w następujący sposób:
Aby trwale dodać dnsnamesers IPv6 do resolv.conf, użyj tego samego linku, który dodałem poniżej, i edytuj plik podstawowy resolvconf, wypełniając własnymi nazwami DNS IPv6:
Aby skonfigurować / etc / network / interfejsy z IPv6, skorzystaj z tego przewodnika http://www.bytelinux.com/configure-permanent-static-ip-address-alias-interfaces-debian-based-systems/ i zamień IPv4 na IPv6 tak jak wygląda następująco: auto eth0
źródło
/etc/resolv.conf
. Jeśli to w jakiś sposób zadziała, dobrze byłoby znać dokładną wersję systemu./etc/network/interfaces
porządku. Nie dzieje się tak, że zostają przeniesieni/etc/resolv.conf
tak, jak powinni. Próbuję dowiedzieć się, co robię źle, tak.Dlaczego nie zaimplementujesz tych serwerów nazw DNS IPv6 bezpośrednio w pliku systemowym /etc/resolv.conf, edytując plik podstawowy resolvconf, jak sugerowano w mojej poprzedniej odpowiedzi z linkiem, i nadal używasz pliku interfejsów sieciowych? Możesz dodać zestaw serwerów nazw IPv6 DNS w /etc/resolv.conf, a jeśli chcesz używać innych serwerów nazw IPv6 dla konkretnej karty sieciowej, używaj ich tylko w / etc / network / interfaces.
źródło
/etc/network/interfaces
ma to zrobić, staram się dowiedzieć, co robię źle.