Brak DNS i długi start Apacha

Łukasz Jazgar ljazgar w interia.pl
Pią, 7 Mar 2003, 21:22:31 CET


Artur Frysiak wrote:
> On Thu, Mar 06, 2003 at 06:06:30PM +0100, Łukasz Jazgar wrote:
> 
>>Kiedy robię np. ping tytan lub ping localhost odpowiedź dostaję 
>>natychmiast, z prawidłowymi numerami IP.
>>
>>Zapuściłem 'strace httpd' i kolejność operacji jest następująca:
>>1. Otwarcie i przeczytanie /etc/hosts
>>2. Otwarcie i przeczytanie /etc/resolv.conf
>>3. Wysłanie datagramu UDP do serwera DNS. W treści jest 'tytan' bez 
>>żadnych dodatków typu '.domena'.
> 
> Odpytuje się o rekord A czy AAAA ?
> 
Wybacz mi moją ignorancję, ale nie rozumiem pytania. O DNSie malo wiem :(

Oto jeszcze pare ciekawych spostrzeżeń i sprecyzowań:
* Podobna rzecz dzieje się z telnet'em ('telnet tytan 25')

* Kolejność operacji systemowych jest naprawde taka (poprzednio pisalem 
z pamieci):
1. Przeczytanie /etc/resolv.conf
2. Przeczytanie /etc/nsswitch.conf
3. Przeczytanie /etc/host.conf
4. Przeczytanie /etc/hosts
5. Odpytanie DNS

Po drodze ładowane są biblioteki. Min. libnss_files.so, libnss_dns.so, 
libresolv.so

* Jeśli porównywać operacje systemowe wykonywane przez telneta i pinga 
(ktory dziala tak jak trzeba), to wszystko jest dokładnie tak samo, aż 
do czytania hosts. W pingu czytanie konczy sie po pobraniu pierwszej 
porcji, swiadczace o tym, znalazł czego szukał. Po tym wysyłany jest już 
pakiet ICMP.
W telnecie hosts są czytane do samego końca, co świadczy o tym, że nie 
znalazł czego szukał. Tylko czemu?

* Wydaje się, że na przebieg procesu rozwiązywania nazwy nie ma zupełnie 
wpływu zawartość host.conf.

* Wpływ ma natomiast plik nsswitch.conf, ale nie rozumiem do końca na 
czym on polega.

Wywalenie dns z linii:
hosts: files dns
powoduje, że zaczyna znajdować nazwy w hosts, ale rzecz jasna przestaje 
w ogole pytać DNS'a.
Dlaczego dns na koncu powoduje, ze nie znajduje nazwy w hosts?


Mam wrażenie, że coś jest skopane w bibliotekach.


Pozdrawiam
Lukasz



Więcej informacji o liście dyskusyjnej pld-users-pl