immer noch DNS-Problem

Jan-Benedict Glaw jbglaw at lug-owl.de
Fri Dec 6 16:37:02 CET 2002


On Fri, 2002-12-06 14:20:39 +0100, Markus Wigge <markus at cultcom.de>
wrote in message <3DF0A427.2020804 at cultcom.de>:

> 13:43:02.765149 close(1)                = 0 <0.000019>
> 13:43:02.765555 writev(7, [{"Dec  6 13:42:07", 15}, {" ", 1}, {"kermit", 6}, {" ", 1}, {"postfix/smtpd[3311]: 9E8DC1F73A:"..., 75}, {"\n", 1}], 6) = 99 <0.000045>
> 13:43:02.766013 recvfrom(16, "<134>[0] A 0 17 192.168.200.61:1"..., 1022, 0, {sin_family=AF_INET, sin_port=htons(2050), sin_addr=inet_addr("80.66.11.17")}}, [16]) = 61 <0.000034>13:43:02.766483 socket(PF_UNIX, SOCK_STREAM, 0) = 1 <0.000034>

Eine Nachricht wird empfangen...

> 13:43:02.766811 connect(1, {sin_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = -1 ECONNREFUSED (Connection refused) <0.000036>
> 13:43:02.767190 close(1)                = 0 <0.000029>
> 13:43:02.767612 open("/etc/hosts", O_RDONLY) = 1 <0.000031>
> 13:43:02.767966 fcntl(1, F_GETFD)       = 0 <0.000019>
> 13:43:02.768271 fcntl(1, F_SETFD, FD_CLOEXEC) = 0 <0.000019>
> 13:43:02.768576 fstat(1, {st_mode=S_IFREG|0644, st_size=547, ...}) = 0 <0.000020>
> 13:43:02.768923 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000 <0.000029>
> 13:43:02.769277 read(1, "127.0.0.1\tlocalhost\n80.66.11.20\t"..., 4096) = 547 <0.000041>
> 13:43:02.769669 read(1, "", 4096)       = 0 <0.000020>
> 13:43:02.770252 close(1)                = 0 <0.000021>
> 13:43:02.770669 munmap(0x40015000, 4096) = 0 <0.000025>
> 13:43:02.771151 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 1 <0.000073>
> 13:43:02.771684 connect(1, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("80.66.11.20")}}, 28) = 0 <0.000029>
> 13:43:02.772148 send(1, "\202\255\1\0\0\1\0\0\0\0\0\0\00217\00211\00266\00280\7"..., 42, 0) = 42 <0.000048>

Wir suchen einen Namen und starten hier eine DNS-Anfage an die
IP-Adresse 80.66.11.20.. Filedescriptor ist "1".

> 13:43:02.772651 gettimeofday({1039178582, 772837}, NULL) = 0 <0.000018>
> 13:43:02.773056 poll([{fd=1, events=POLLIN}], 1, 5000) = -1 EINTR (Interrupted system call) <0.000941>

Wir wollen bis zu 5000msec (also 5sec) auf eine Antwort warten...

> 13:43:02.774322 --- SIGCHLD (Child exited) ---
> 13:43:02.774510 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG, NULL) = 27210 <0.000022>
> 13:43:02.774826 wait4(-1, 0xbfffe920, WNOHANG, NULL) = -1 ECHILD (No child processes) <0.000017>
> 13:43:02.775133 rt_sigaction(SIGCHLD, {0x804b1cc, [CHLD], SA_RESTART|0x4000000}, {0x804b1cc, [CHLD], SA_RESTART|0x4000000}, 8) = 0 <0.000019>
> 13:43:02.775532 sigreturn()             = ? (mask now []) <0.000019>

...aber irgendein child-Prozeß unterbricht uns.

> 13:43:02.775867 gettimeofday({1039178582, 776000}, NULL) = 0 <0.000017>

Wir fragen die Uhr ab.

> 13:43:02.776165 poll(
> <------ hier kommt eine kleine Pause, und danach das, was in der Klammer steht! ------>
>                      [{fd=1, events=POLLIN}], 1, 4996) = 0 <5.005263>

...und warten die verbliebenen 4996msec auf eine Antwort vom DNS-Server.
Die bleibt aber aus, wir laufen in den timeout.

> 13:43:07.781914 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 18 <0.000034>
> 13:43:07.782360 connect(18, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("80.66.11.19")}}, 28) = 0 <0.000028>
> 13:43:07.782825 send(18, "\202\255\1\0\0\1\0\0\0\0\0\0\00217\00211\00266\00280\7"..., 42, 0) = 42 <0.000051>
> 13:43:07.783334 gettimeofday({1039178587, 783520}, NULL) = 0 <0.000018>
> 13:43:07.783767 poll([{fd=18, events=POLLIN, revents=POLLIN}], 1, 5000) = 1 <0.000023>
> 13:43:07.784207 recvfrom(18, "\202\255\205\200\0\1\0\1\0\3\0\3\00217\00211\00266\002"..., 1024, 0, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("80.66.11.19")}}, [16]) = 192 <0.000029>

...und fragen den nächsten, verfügbaren DNS-Server 80.66.11.19, der
sofort antwortet.

Bedenke: der bind _wartet_ immernoch darauf, daß der syslogd endlich die
Protokoll-Daten schreibt!


> 13:43:07.784796 close(1)                = 0 <0.000030>
> 13:43:07.785157 close(18)               = 0 <0.000026>
> 13:43:07.785525 time([1039178587])      = 1039178587 <0.000018>
> 13:43:07.785872 access("/var/run/utmpx", F_OK) = -1 ENOENT (No such file or directory) <0.000031>
> 13:43:07.786205 open("/var/run/utmp", O_RDWR) = 1 <0.000031>
> 13:43:07.786526 fcntl(1, F_GETFD)       = 0 <0.000018>
> 13:43:07.786822 fcntl(1, F_SETFD, FD_CLOEXEC) = 0 <0.000018>
> 13:43:07.787120 _llseek(1, 0, [0], SEEK_SET) = 0 <0.000019>
> 13:43:07.787433 fork()                  = 27214 <0.000197>
> 13:43:07.787947 close(1)                = 0 <0.000019>
> 13:43:07.788408 writev(15, [{"Dec  6 13:43:07", 15}, {" ", 1}, {"xlink-gw.pader.net", 18}, {" ", 1}, {"[0] A 0 17 192.168.200.61:138 19"..., 56}, {"\n", 1}], 6) = 92 <0.000047>
> 13:43:07.788891 select(17, [0 16], NULL, NULL, NULL) = 2 (in [0 16]) <0.000026>
> 13:43:07.789330 recv(0, "<22>Dec  6 13:42:07 postfix/smtp"..., 1022, 0) = 90 <0.000306>
> 13:43:07.790057 time([1039178587])      = 1039178587 <0.000018>
> 13:43:07.790372 access("/var/run/utmpx", F_OK) = -1 ENOENT (No such file or directory) <0.000031>

Die Daten werden weitergeschickt. Es ist also so, wie ich vermutet
hatte:-) Dein lokaler bind antwortet noch nicht, bis er einen
vollständigen Start-Up hinter sich hat, wenn er schon slave zones hat.
Da der syslogd aber einen hostname braucht, muß er beim Auflösen
desselben erst auf den (noch nicht funktionalen) lokalen DNS-Server
warten (das sind die 5sec), bis syslogd den nächsten DNS-Server (den
eigentlichen Master) fragt.

/etc/hosts oder eine andere Reihenfolge der DNS-Server in der
/etc/resolv.conf werden helfen. Ich würde in dieser Konstellation einen
Eintrag in /etc/hosts bevorzugen, falls auch der andere DNS-Server mal
weg sein sollte...

MfG, JBG

-- 
   Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur
    fuer einen Freien Staat voll Freier Bürger" | im Internet!
   Shell Script APT-Proxy: http://lug-owl.de/~jbglaw/software/ap2/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lug-owl.de/pipermail/linux/attachments/20021206/202fe10e/attachment.sig>


More information about the Linux mailing list