[Dnsmasq-discuss] Can dnsmasq use as standalone DNS server without any upstream DNS ?

Daein Park bysnupy at hotmail.com
Sun Nov 10 12:12:18 GMT 2019


Hi team,

I'm testing whether dnsmasq can use standalone local DNS server.
I'm consist with primary/secondary DNS using dnsmasq, but if one of any dnsmasq servers has been stopped, it's always delayed (5 timeout).
When I configured DNS using bind(named), DNS latency has not been occurred.

I also verified "options rotate timeout:1 attempts:1" can decrease timeout, but I want to know why the timeout is occurred in only dnsmasq.

Q1. Is it a design and an expected result ?
       If it causes my incorrect configuration, let me know right configuration sample please.

Q2. Is it a right use case for dnsmasq which is used by primary standalone DNS server without upstream DNS ?

primary/secondary dnsmasq is same configuration as follows.

  1.  linux host NetworkManager dns configurations

          ipv4.dns 127.0.0.1
          ipv4.ignore-auto-dns true

     2. /etc/resolv.conf


search example.com

nameserver 127.0.0.1

     3. /etc/hosts


192.168.123.217 all.ocp311.example.com


e.g.>  look "(Timeout)"


20:54:02.735666 recvfrom(3, "ZB\205\200\0\1\0\1\0\0\0\0\3all\6ocp311\7example\3"..., 2048, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.123.217")}, [16]) = 56

20:54:02.735838 poll([{fd=3, events=POLLIN}], 1, 4996) = 0 (Timeout)

20:54:07.737444 poll([{fd=3, events=POLLOUT}], 1, 0) = 1 ([{fd=3, revents=POLLOUT}])

20:54:07.737582 sendto(3, "ZB\1\0\0\1\0\0\0\0\0\0\3all\6ocp311\7example\3"..., 40, MSG_NOSIGNAL, NULL, 0) = 40

20:54:07.737779 poll([{fd=3, events=POLLIN}], 1, 5000) = 1 ([{fd=3, revents=POLLIN}])

20:54:07.741020 ioctl(3, FIONREAD, [56]) = 0

20:54:07.741506 recvfrom(3, "ZB\205\200\0\1\0\1\0\0\0\0\3all\6ocp311\7example\3"..., 2048, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.123.217")}, [16]) = 56

20:54:07.742938 poll([{fd=3, events=POLLOUT}], 1, 4994) = 1 ([{fd=3, revents=POLLOUT}])

20:54:07.743455 sendto(3, "\273q\1\0\0\1\0\0\0\0\0\0\3all\6ocp311\7example\3"..., 40, MSG_NOSIGNAL, NULL, 0) = 40

20:54:07.744117 poll([{fd=3, events=POLLIN}], 1, 4993) = 0 (Timeout)

20:54:12.741347 close(3)                = 0

20:54:12.742140 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 3

20:54:12.742289 connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.123.217")}, 16) = 0

20:54:12.742377 poll([{fd=3, events=POLLOUT}], 1, 0) = 1 ([{fd=3, revents=POLLOUT}])

20:54:12.742450 sendto(3, "ZB\1\0\0\1\0\0\0\0\0\0\3all\6ocp311\7example\3"..., 40, MSG_NOSIGNAL, NULL, 0) = 40

20:54:12.742585 poll([{fd=3, events=POLLIN}], 1, 5000) = 1 ([{fd=3, revents=POLLIN}])

20:54:12.744364 ioctl(3, FIONREAD, [56]) = 0

20:54:12.744471 recvfrom(3, "ZB\205\200\0\1\0\1\0\0\0\0\3all\6ocp311\7example\3"..., 2048, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.123.217")}, [16]) = 56

20:54:12.744573 close(3)                = 0

20:54:12.744658 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 3

20:54:12.744841 connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.123.217")}, 16) = 0

20:54:12.745031 poll([{fd=3, events=POLLOUT}], 1, 4997) = 1 ([{fd=3, revents=POLLOUT}])

20:54:12.745134 sendto(3, "\273q\1\0\0\1\0\0\0\0\0\0\3all\6ocp311\7example\3"..., 40, MSG_NOSIGNAL, NULL, 0) = 40

20:54:12.745277 poll([{fd=3, events=POLLIN}], 1, 4997) = 0 (Timeout)

20:54:17.744700 close(3)                = 0

20:54:17.744886 futex(0x49ca7b0, FUTEX_WAKE, 1) = 1

20:54:17.745027 futex(0xc4200af148, FUTEX_WAKE, 1) = 1

20:54:17.745312 socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 3

20:54:17.745489 setsockopt(3, SOL_SOCKET, SO_BROADCAST, [1], 4) = 0

20:54:17.745596 connect(3, {sa_family=AF_INET, sin_port=htons(8443), sin_addr=inet_addr("192.168.123.217")}, 16) = -1 EINPROGRESS (Operation now in progress)

20:54:17.745923 epoll_ctl(4, EPOLL_CTL_ADD, 3, {EPOLLIN|EPOLLOUT|EPOLLRDHUP|EPOLLET, {u32=1236758272, u64=139866846752512}}) = 0

20:54:17.746122 futex(0xc4200af148, FUTEX_WAKE, 1) = 1

20:54:17.746241 futex(0x49d1240, FUTEX_WAIT, 0, {14, 972715777}) = 0

20:54:17.765726 futex(0x49d1240, FUTEX_WAIT, 0, {31, 999776346}) = 0

20:54:17.777378 sched_yield()           = 0

20:54:17.778360 futex(0x49ca6d0, FUTEX_WAKE, 1) = 0

I appreciate your help in advance,

Best regards,
Daein

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/attachments/20191110/d5b90f67/attachment.html>


More information about the Dnsmasq-discuss mailing list