Re: Linux jail 14-CURRENT: DNS does not work for *some* programs?
- In reply to: Alexander Leidinger : "Re: Linux jail 14-CURRENT: DNS does not work for *some* programs?"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 10 Jan 2023 12:09:51 UTC
Hi Alexander, thanks for your suggestion. Alexander Leidinger <Alexander@leidinger.net> writes: > [[PGP Signed Part:Undecided]] > Quoting Mathias Picker <Mathias.Picker@virtual-earth.de> (from > Tue, 10 Jan 2023 > 06:51:06 +0100): > >> Hi all, >> >> I’m testing a few linux triplestore in a linux jail, and used >> 13.1 which >> worked fine most of the time. >> >> Now one of the stores shows dropped connections with many >> clients, and as I >> can see logs of netlink errors in the logs, I thought I’d try >> -CURRENT. >> >> Sadly, my linux jail (Ubuntu 16.04.7) now shows an irritating >> behaviour, some >> programs seem to hang indefinitely waiting for name >> resolution: >> >> Inside the jail: >> >> Working version with ping > [example] > >> Non-working with wget (same for curl and others) > [example] > >> So, this tcpdump looks pretty much as if both got answers from >> unbound. >> Why is wget (and host, and curl, and sudo) not “getting” this >> answer? >> >> Any ideas where to look or questions about my setup welcome! > > Current has netlink support, 13.1 doesn't. Current may have > changes in the > linuxumaltor, which aren't in 13.1. You need to debug the kernel > path. Possible > tools to do so are ktrace and dtrace. > > The most easy cmdline would be ktrace, whereas dtrace gives more > flexibility in > what you do and how you look at it. As a first step I would > recommend ktrace. > Not sure if it will work as I want it to work... > > ktrace -di jexec "ID or name of jail" ping google.de > After you have seen the answer with tcpdump, you can kill > ktrace/ping (or wait > for a timeout, but this will increase the amount of data traced) > and inspect the > result via "kdump" (this will take the file "ktrace.out" in the > current > directory and print out the data). This trace ends with 32282 wget CALL linux_socket(0x10,0x3,0) 32282 wget RET linux_socket 3 32282 wget CALL linux_bind(0x3,0x7fffffffad20,0xc) 32282 wget STRU struct sockaddr { AF_NETLINK, unknown address family } 32282 wget RET linux_bind 0 32282 wget CALL linux_getsockname(0x3,0x7fffffffad20,0x7fffffffad1c) 32282 wget STRU struct sockaddr { AF_NETLINK, unknown address family } 32282 wget RET linux_getsockname 0 32282 wget CALL linux_sendto(0x3,0x7fffffffad50,0x14,0,0x7fffffffad30,0xc) 32282 wget GIO fd 3 wrote 20 bytes 0x0000 1400 0000 1600 0103 f324 |.........$| 0x000a bd63 0000 0000 0000 0000 |.c........| 32282 wget RET linux_sendto 20/0x14 32282 wget CALL linux_recvmsg(0x3,0x7fffffffad70,0) 32282 wget GIO fd 3 read 40 bytes 0x0000 2800 0000 0200 0000 f324 |(........$| 0x000a bd63 1a7e 0000 eaff ffff |.c.~......| 0x0014 1400 0000 1600 0103 f324 |.........$| 0x001e bd63 1a7e 0000 0000 0000 |.c.~......| 32282 wget STRU struct sockaddr { AF_NETLINK, unknown address family } 32282 wget RET linux_recvmsg 40/0x28 32282 wget CALL linux_recvmsg(0x3,0x7fffffffad70,0) 32282 wget RET linux_recvmsg -1 errno -4 Interrupted system call 32282 wget PSIG SIGINT SIG_DFL code=SI_KERNEL Sadly, I have to get the benchmarks up and running, so I will install Linux on the machine and cannot follow up on this. Maybe I’ll try this again next week on another server, since installing -CURRENT in another boot environment was so easy. Thanks, Mathias > IF this works (I'm not sure if the ktrace inherits(descents into > a jail), you > will see the calls to jexec and the exec of ping and what all > those do in the > kernel. This will then give a hint where to look next. > > IF this doesn't work, you can use "ktrace -di -p <pid of ping>" > from the > jail-host while ping is running. If ping tries to redo the DNS > lookup, or a > second nameserver is configured and it tries to get the info > from the second > after a timeout, you may be lucky to catch that in the trace. > > Bye, > Alexander. -- Mathias Picker Geschäftsführer Mathias.Picker@virtual-earth.de virtual earth Gesellschaft für Wissens re/prä sentation mbH http://www.virtual-earth.de/ HRB126870 support@virtual-earth.de Westendstr. 142 089 / 1250 3943