DNS-over-TLS IPv4 interface ceases to respond

Guillaume-Jean Herbiet gjherbiet at restena.lu
Tue Jul 31 07:53:45 UTC 2018


Thanks for the quick reply.

We build our own kernels for those servers (currently using 4.16.13), so
it is rather recent (compared to 3.10 from CentOS).

I will disable so-reuseport, maintain extra logging on this server and
see if it happens again.

On 2018-07-31 09:46, Wouter Wijngaards via Unbound-users wrote:
> Hi,
> 
> On 07/31/2018 09:07 AM, Guillaume-Jean Herbiet via Unbound-users wrote:
>> Hello,
>>
>> We are using Unbound 1.7.3 to test the DNS-over-TLS service and advance
>> options (see specifications and config file below).
>>
>> The server is generally on very low use (avg. 2 queries/s) but
>> configured following the optimization guide[1] in order to test options
>> and perform stress tests.
>>
>> During two low use periods (07/15 and 07/23), we experienced an outage
>> in the IPv4 DNS-over-TLS service. The server was still responsive on
>> IPv6 and when queried locally using "traditional" DNS.
> 
> The so-reuseport option has in the past, for certain kernel versions
> (but I don't know which) given trouble with TCP connections,
> specifically with IPv6 connections.  Since you have both IPv6 and IPv4
> and IPv4 ceases, it looks like a similar issue, even though it is the
> other protocol and not in NSD.  Then, a solution was to turn off
> so-reuseport (and they were so burned by the trouble they haven't dared
> enable it again).  It may be for you too; if that solves the problem,
> perhaps a kernel upgrade can fix it?  Perhaps the server should test
> (something. a version?) before it enables so-reuseport?
> 
> However, it could be something else, but I don't know what.
> 
> Best regards, Wouter
> 
>>
>> Restarting the server momentarily solved the issue.
>>
>> As it happened during my holidays, I had little investigation
>> possibilities. I just confirmed the (un)responsiveness using ncat:
>>
>> $ ncat -6 --ssl -v <IPv6_ADDRESS> 853
>> Ncat: Version 7.70 ( https://nmap.org/ncat )
>> Ncat: SSL connection to <IPv6_ADDRESS>:853. Fondation RESTENA
>> Ncat: SHA-1 fingerprint: ...
>> ^C
>>
>> $ ncat -4 --ssl -v <IPv4_ADDRESS> 853
>> Ncat: Version 7.70 ( https://nmap.org/ncat )
>> ^C
>>
>> Unfortunately, log verbosity was set to 1 an I didn't see anything
>> suspicious. It looked like Unbound was not even receiving the queries on
>> IPv4.
>>
>> Did anyone already noticed such a problem? I wonder whether it is
>> related to Unbound or the underlying OpenSSL.
>>
>> $ unbound -h
>> Version 1.7.3
>> linked libs: libevent 2.0.21-stable (it uses epoll), OpenSSL 1.0.2k-fips
>>  26 Jan 2017
>> linked modules: dns64 respip validator iterator
>>
>> Unbound configuration:
>> server:
>>   directory: "/usr/local/unbound"
>>   chroot: "/usr/local/unbound"
>>   username: unbound
>>   pidfile: "/var/run/unbound.pid"
>>
>>   auto-trust-anchor-file: "/var/lib/root.key"
>>
>>   num-threads: 1
>>
>>   msg-cache-slabs: 2
>>   rrset-cache-slabs: 2
>>   infra-cache-slabs: 2
>>   key-cache-slabs: 2
>>
>>   rrset-cache-size: 100m
>>   msg-cache-size: 50m
>>
>>   outgoing-range: 8192
>>   num-queries-per-thread: 4096
>>
>>   so-rcvbuf: 4m
>>   so-sndbuf: 4m
>>   so-reuseport: yes
>>
>>   interface: 127.0.0.1
>>   interface: ::1
>>
>>   # DNS-over-TLS
>>   tls-service-key: "/usr/local/unbound/etc/dns_over_tls.key"
>>   tls-service-pem: "/usr/local/unbound/etc/dns_over_tls.pem"
>>   incoming-num-tcp: 100
>>
>>   tls-port: 853
>>   interface: 127.0.0.1 at 853
>>   interface: ::1 at 853
>>   interface: <IPv4_ADDRESS>@853
>>   interface: <IPv6_ADDRESS>@853
>>
>>   access-control: 0.0.0.0/0 allow
>>   access-control: ::/0 allow
>>
>>   prefer-ip6: yes
>>
>>   hide-identity: yes
>>   hide-version: yes
>>   hide-trustanchor: yes
>>
>>   use-caps-for-id: yes
>>   qname-minimisation: yes
>>
>>   harden-below-nxdomain: yes
>>   harden-dnssec-stripped: yes
>>
>>   aggressive-nsec: yes
>>
>>   prefetch: yes
>>   prefetch-key: yes
>>
>>   rrset-roundrobin: yes
>>
>>   ratelimit: 1000
>>   ratelimit-slabs: 2
>>
>>   logfile: "/var/log/unbound.log"
>>   verbosity: 1
>>   log-time-ascii: yes
>>   log-queries: yes
>>   log-replies: yes
>>   val-log-level: 2
>>   unwanted-reply-threshold: 10000000
>>
>>   statistics-interval: 0
>>   extended-statistics: yes
>>
>> # RFC 7706
>> # master are sorted by increasing AXFR response time
>> auth-zone:
>>   name: "."
>>   for-downstream: no
>>   for-upstream: yes
>>   fallback-enabled: yes
>>   master: c.root-servers.net
>>   master: f.root-servers.net
>>   master: k.root-servers.net
>>   master: iad.xfr.dns.icann.org
>>   master: b.root-servers.net
>>   master: d.root-servers.net
>>   master: lax.xfr.dns.icann.org
>>   master: g.root-servers.net
>>
>> remote-control:
>>   control-enable: yes
>>
>> [1] https://nlnetlabs.nl/documentation/unbound/howto-optimise/
>>
> 

-- 
Guillaume-Jean Herbiet, PhD
System engineer

Fondation RESTENA / dns.lu
2, avenue de l'Université
L-4365 Esch-sur-Alzette
tel.: +352.424409
fax.: +352.422473
https://www.restena.lu  https://www.dns.lu

Public key ID: 0x3A4C47C7

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.nlnetlabs.nl/pipermail/unbound-users/attachments/20180731/f92b09e1/attachment.bin>


More information about the Unbound-users mailing list