Dlaczego musiałem usunąć resolvconf, aby ponownie uruchomić dnsmasq?

8

Wczoraj uaktualniłem do Precise i dnsmasq przestał działać. Oznacza to, że zapytania DNS do localhost, na którym nasłuchuje dnsmasq (127.0.0.1), zostały odrzucone.

Usunięcie resolvconf ( apt-get remove resolvconf) i ponowne uruchomienie rozwiązało problem (znaleziono tę sugestię gdzieś w Google). /etc/resolv.confwyglądał dobrze z i bez resolvconf na miejscu. W ogóle nie ma różnicy.

  1. Dlaczego miałbym używać resolvconf? Czy są jakieś korzyści? Artykuł w Wikipedii dotyczący resolvconf jest do bani.
  2. Dlaczego resolvconf ingeruje w dnsmasq? Czy to znany problem?
lightxx
źródło
bla @ blubb: ~ $ [-f /usr/share/doc/resolvconf/README.gz] && echo „Znaleziono” || echo „Nie znaleziono” Nie znaleziono um. mądrala.
lightxx

Odpowiedzi:

10

Prosta odpowiedź na (1) brzmi: resolvconf ustawia się jako pośrednik między programami dostarczającymi te informacje (takimi jak ifup i ifdown, klienci DHCP, demon PPP i lokalne serwery nazw) a programami, które wykorzystują te informacje (takie jak DNS pamięci podręczne i biblioteki tłumaczące). Od wersji Ubuntu 12.04 resolvconf jest częścią domyślnej instalacji zarówno w wersji serwerowej, jak i stacjonarnej. Nigdy nie jest konieczne usuwanie resolvconf, a osoby, które go usuwają, zwykle go nie rozumieją, na ogół dlatego, że nie przeczytały resolvconf (8) i /usr/share/doc/resolvconf/README.gz.

Odpowiedź na drugie pytanie brzmi: resolvconf najprawdopodobniej nie ingerował w dnsmasq. Domyślam się, że napotkałeś błąd # 959037.

Objaśnienie: W Ubuntu 12.04 istnieją dwa sposoby uruchamiania dnsmasq. Istnieje tradycyjna autonomiczna wersja dnsmasq, która nasłuchuje na wszystkich adresach. I jest nowy proces dnsmasq kontrolowany przez NetworkManager, który nasłuchuje tylko na 127.0.0.1. Drugi jest w konflikcie z pierwszym, chyba że pierwszy zostanie ponownie skonfigurowany. Ten problem został rozwiązany w Ubuntu 12.10, ponieważ proces dnsmasq kontrolowany przez NM nasłuchuje na 127.0.1.1 zamiast 127.0.0.1 i wymusza samodzielny proces dnsmasq nasłuchujący tylko na adresach przypisanych do interfejsów.

jdthood
źródło
Przeczytałem manapage i wciąż nie mogę znaleźć niezawodnego sposobu na przygotowanie własnych serwerów nazw resolv.conf.
Michael Mior
Po zainstalowaniu resolvconf możesz dodać adres serwera nazw, wstawiając nameserver x.x.x.x/etc/resolvconf/resolv.conf.d/head. Należy jednak pamiętać, że generalnie nie jest to konieczne ani zalecane. Zasadniczo istnieje bardziej poprawny sposób dodawania wierszy „nameserver” do resolv.conf. Zasadniczo narzędzie konfigurujące interfejs sieciowy dodaje lub usuwa adresy serwerów nazw dostępne za pośrednictwem tego interfejsu, uruchamiając odpowiednio resolvconf -alub resolvconf -d. Priorytetyzacja adresów serwerów nazw dodanych w ten sposób jest regulowana przez /etc/resolvconf/interface-order.
jdthood,
Właściwie wstawienie wiersza serwera nazw do headniego dodało PO domyślnym serwerze nazw.
Michael Mior
Nie testowałem tego, ale wygląda na echo x.x.x.x | resolvconf -a loto, że przydałby się serwer dodawania nazw, który chciałbym być pierwszy dla wszystkich interfejsów.
Michael Mior
Resolvconf zawsze umieszcza zawartość headna początku (góra, początek) resolv.conf.
jdthood
2

Właśnie usunąłem go podczas instalacji. Używałem pppd ręcznie do wybierania połączenia modemowego 3G i resolvconf ingerował w moje ustawienia dns, automatycznie dodając DNS mojego dostawcy, gdy chciałem użyć niestandardowego DNS. pppd ma opcje kontrolowania tego, ale resolvconf zablokował je własnymi ustawieniami. Chciałbym również znać odpowiedź na to pytanie? Wygląda na to, że jest to jakiś pakiet, który sprawia, że ​​jest to łatwiejsze, ale zamiast tego skomplikowane?

ps Znalazłem ten raport o błędzie: https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/922578

Marko
źródło
Dzięki za wkład. przegłosowałbym to, ale brakuje mi przedstawiciela.
lightxx
@lightxx: Upvoted for you;)
Tomasz Zieliński
Zamiast usuwania resolvconf mogłeś skonfigurować resolvconf tak, aby ignorował informacje serwera nazw pochodzące z pppd.
jdthood
Normalna zawartość resolv.conf jest dość prosta. Ilekroć maszyna jest serwerem, a nawet stacją roboczą niebędącą laptopem, wydaje się, że łatwiej jest śledzić pojedynczy plik resolv.conf zamiast pół tuzina różnych plików potencjalnie wykorzystywanych przez resolvconf.
ericx,
@ jdthood - nie wiem, jak to zrobić na stronie podręcznika resolvconf.conf, chciałbym być zainteresowany specyfiką implementacji.
dps
1

Prosta odpowiedź na (1) brzmi: resolvconf ustawia się jako pośrednik między programami dostarczającymi te informacje (takimi jak ifup i ifdown, klienci DHCP, demon PPP i lokalne serwery nazw) a programami, które wykorzystują te informacje (takie jak DNS pamięci podręczne i biblioteki tłumaczące).

To z opisu pakietu. Na komputerach działa w połączeniu z NetworkManager, aby płynnie obsługiwać nawiązywanie i usuwanie połączeń.

Tak więc resolvconf wraz z dnsmasq są używane w 12.04, aby uczynić obsługę informacji DNS bardziej niezawodną w wersji na komputery. W niektórych sytuacjach poprawia to sytuację, ale w całej sytuacji brakuje dokumentacji we właściwym miejscu, szczególnie. w świecie serwerów.

Pomimo mnóstwa Googlinga, nie byłem w stanie ustalić, co jest zalecane w instalacji serwera.

Jeśli chodzi o (2), masz odwrotny problem ode mnie. Dnsmasq działa dobrze z resolvconf na moim komputerze i aktualizuje plik /etc/resolv.conf, aby zawierał 127.0.0.1, ale ma inne problemy, ponieważ dnsmasq nie pobiera serwerów nazw ISP z dhclient na eth0 (to jest brama), ani nie pobierz serwery nazw, które ręcznie wpisałem w sekcji eth0 w / etc / network / interfaces.

Dlaczego korzystasz z dnsmasq? Czy prowadzisz także bramę z 2 kartami sieciowymi? A może to zwykły pulpit? Jeśli tak, resolvconf koordynuje z menedżerem sieci

Adam
źródło
dzięki za odpowiedź. przegłosowałbym to, niestety potrzebujesz 15 reputacji, aby głosować. lol
lightxx
1
strony podręcznika są świetne, gdy wiesz, co musisz wiedzieć. Jeśli nie, mogą być co najmniej zagadkowe. Porady, przykłady i najczęściej zadawane pytania są potrzebne, gdy nie masz doświadczenia w danym obszarze.
Adam
upvoted @lightxx w Twoim imieniu :)
fkl