BIND 'max-cache-size' Value on FreeBSD-13.0
Michael Sinatra
michael at brokendns.net
Thu Sep 2 23:55:53 UTC 2021
On 9/2/21 2:59 PM, Mark Tinka wrote:
>
>
> On 9/2/21 23:51, Michael Sinatra wrote:
>
>>
>> I have noticed this also and have opened a (similar but different)
>> issue, but it's a bit weird how it manifests itself.
>>
>> On your freebsd installation, make sure that all of your interfaces
>> are configured and that bind can listen on them. (They don't
>> necessarily need to be up; they just need to be configured.)
>>
>> Also, 'listen-on[-v6] any;' is more likely to prevent this kind of
>> memory leaking than having it listen on explicit addresses. But the
>> way I can (more) reliably reproduce it is to have a 'listen-on'
>> statement that references a non-existent interface/address.
>>
>> I think this is a libuv problem, but I have been really short on time
>> to troubleshoot. But in the meantime, I would check on your
>> 'listen-on' statements and make sure there aren't any stray addresses
>> in there.
>
> What we have on all of our name servers is the below:
>
> // If named is being used only as a local resolver, this is a safe default.
> // For named to be accessible to the network, comment this option, specify
> // the proper IP address, or delete this option.
> // listen-on { 127.0.0.1; };
>
> // If you have IPv6 enabled on this system, uncomment this option for
> // use as a local resolver. To give access to the network, specify
> // an IPv6 address, or the keyword "any".
> listen-on-v6 { ::1; };
It *feels* like the above ^^ could be the culprit. 'listen-on any'
ought to listen on the loopback interface in addition to all other
configured ethernets and loopbacks. OTOH, the libuv-based versions of
BIND (e.g. >=9.16.x) appear to get kind of weird/confused with certain
types of listen-on statements.
> listen-on-v6 { any; };
>
> We are running dual-stack on all name servers, and both IPv4 and IPv6
> reachability is confirmed solid.
>
> On IPv4, we are listening on just the main interface. On IPv6, we are
> listening on both the localhost and the main interface. Not sure if this
> matters.
>
> For local resolution on each name server, it refers to localhost for
> both IPv4 and IPv6 in '/etc/resolv.conf'. Given our configuration, it's
> using ::1 for local resolution, whenever that may be required, since
> 127.0.0.1 has nothing listening on it. Thanks.
'listen-on any;' is the default for v4, so you should actually be
listening on 127.0.0.1 in addition to everything else (since all of your
listen-on's for v4 appear to be commented out). You *should* be able to
remove 'listen-on-v6 { ::1; };' and just leave the 'listen-on-v6 {
any; };' in place. Doing a 'sockstat | grep named' on FreeBSD should
confirm this once you restart named (pretty sure you already knew that,
but I thought I'd mention it for completeness).
michael
More information about the bind-users
mailing list