캐싱 서버로 작동하도록 Bind9을 구성했으며 제대로 작동하고 있습니다. 그런데 캐시의 보존 기간을 구성하려고 합니다. 캐싱 기간이나 구성 방법에 관한 정보를 찾을 수 없습니다.
DNS 캐싱의 보존 기간을 어떻게 구성합니까? 내 목적은 보존 기간을 늘리는 것입니다.
답변1
바인딩9는 각 DNS 레코드의 일부로 지정된 TTL(Time-To-Live) 값을 사용하여 캐시할 기간을 결정합니다. 이것이 DNS 표준에서 요구하는 것입니다. 바인드에서 이를 재정의하는 쉬운 방법은 없는 것 같고 업스트림에서는 이를 변경할 가능성이 없습니다.왜냐면 그건 일반적으로 나쁜 생각이거든요.
한 가지 옵션은 데비안 버전의 바인드9를 실행하는 것입니다. 옵션 을 추가하기 위해 패치했습니다 min-cache-ttl
.
Debian을 실행하지 않는 경우 Serverfault에서 OmniWired는 소스를 가져오고is_expired
기능을 편집하다캐싱 동작을 변경합니다. 그의 예는 return 1
(만료됨) 을 return 0
(만료되지 않음)으로 변경합니다. 분명히 더 복잡한 것을 구현하려면 C 프로그래밍 지식이 필요할 것입니다.
C에 대한 지식이 있으면 다음을 적용할 수도 있습니다.데비안 min-cache-ttl 패치.
또 다른 대안은바인딩되지 않은 DNS 서버cache-min-ttl
너무 낮은 TTL을 재정의하는 지시문이 있습니다 .