캐시 전용 바인딩9에서 TTL을 재정의하는 방법은 무엇입니까?

캐시 전용 바인딩9에서 TTL을 재정의하는 방법은 무엇입니까?

여기에는 캐시 전용 DNS가 있습니다. 평균 네트워크 대기 시간을 줄이기 위해 캐시된 레코드의 TTL 필드를 재정의하고 싶습니다.

이상적으로는 SOA 데이터를 재정의하는 구성 어딘가에 TTL을 설정할 수 있습니다.

이것이 가능한가?

그렇지 않은 경우: 바인드9 이전에 필요한 기능을 갖춘 프록시 DNS를 배치하는 것(또는 완전히 전환하는 것)도 실행 가능한 솔루션이 될 수 있으므로 대답이 허용됩니다.

PS 나는 이것이 일반적으로 나쁜 해결책이라는 것을 확실히 인정합니다. 그러나 모든 규칙에는 예외가 있으며, 이것이 그 중 하나입니다. 내 네트워크 세부정보보다는 실제 질문에 집중하시기 바랍니다.

답변1

BIND가 답변의 최소 TTL 변경을 전역적으로 허용하는지 여부는 알 수 없으며 이 답변은 소스 코드를 패치하는 것 외에는 신뢰할 수 없습니다.

이 기사에서는 몇 가지 팁을 제공합니다.https://serverfault.com/questions/113954/how-can-i-override-ttl-of-an-internet-address

그러나 BIND 대신 이들 중 하나를 사용하거나 BIND용 DNS 전달자로 사용할 수 있습니다 dnsmasq.Unbound

dnsmasq

--min-cache-ttl= 짧은 TTL 값을 캐싱할 때 지정된 시간까지 확장합니다. TTL 값을 인위적으로 확장하는 것은 일반적으로 나쁜 생각이며 합당한 이유가 있고 수행 중인 작업을 알지 않는 한 수행해서는 안 됩니다. Dnsmasq는 다시 컴파일하지 않는 한 이 옵션의 값을 1시간으로 제한합니다.

구속되지 않음

  cache-min-ttl: <seconds>
          Time  to  live  minimum  for  RRsets  and messages in the cache.
          Default is 0.  If the minimum kicks in, the data is  cached  for
          longer than the domain owner intended, and thus less queries are
          made to look up the data.  Zero makes sure the data in the cache
          is  as the domain owner intended, higher values, especially more
          than an hour or so, can lead to trouble as the data in the cache
          does not match up with the actual data any more.

관련 정보