Linux,Unix,BSD

DNS 설정 관련...

채윤아빠 2008. 1. 5. 02:27
728x90
반응형

Serial: Serial은 Secondary가 Zone 파일의 수정여부를 알 수 있도록 하기 위함이다. Secondary는 백업본의 Serial이 Primary의 Serial보다 작을 경우 Zone 파일을 재전송 받는다. 따라서 Zone 파일이 수정된 후 Serial이 변경되지 않는다면, Secondary는 백업카피를 업데이트하지 않음을 유의하자. Secondary가 없다면 Serial은 의미가 없지만 그렇다 할지라도 Zone 파일이 수정되었을 때 Serial을 증가하는 것은 좋은 습관이다.

Serial의 표기는 증가하는 임의 숫자보단 일반적으로 최종 수정일을 YYYYMMDDNN의 형식으로 표기한다. YYYYMMDDNN 연도 표기법은 4294년까지 표기 가능하다.

Refresh: Primary측의 Zone 데이터베이스 수정여부를 Secondary가 검사하는 주기이다. 네트워크의 변경이 잦아 Zone파일이 자주 수정된다면, 3H(10800) 정도로 설정한다. Zone이 안정되는 시점에서는 일반적으로 6H(21600) - 12H로 설정한다.

Retry: Secondary측에서, Primary와 연결이 안될 경우, 재 시도 시간 주기이다. Refresh 기간 보다 적을때 의미가 있으며, 대부분의 경우 30M(1800) - 1H로 설정한다.

Expire: Secondary가 Expire로 지정된 시간동안 Primary에 연결하지 못할 경우, 오래된 백업카피의 자료가 더 이상 유효하지 않다고 보고, 해당 도메인에 대한 답변을 하지 않는다. 이 값을 너무 낮게 책정하는 것은 좋지 않다. 보통 1W - 2W(1209600)로 설정한다.

Minimum: 타 네임서버가 본 Zone에 기술된 자료를 갖고 갔을 경우, 그 자료에 대한 유효기간(캐쉬에 살아있는 시간)을 설정한다. TTL(Time To Live)값이 명시되지 않은 레코드는 본 값을 기본으로 갖게 된다. 특정 레코드가 변경되었을 때, 이것이 인터넷에 전파되어 업데이트되는 주기는 전적으로 이 Minimum 값에 의존한다. 일반적으로 SOA에서는 1D(86400)를 설정하여 전체 레코드에 적용하고, 잦은 변경이 예상되는 레코드만 명시적으로 1H - 3H 정도로 낮추는 방법을 사용한다. 0은 캐싱을 하지 말라는 의미이다.


CNAME는 동일한 호스트에 여러 도메인 이름을 할당할 때, 유용하게 사용할 수 있다. 하지만 반드시 MX, SOA, NS등의 레코드와 연결하지 않도록 한다.

Serial Number

해당 존에 대한 고유번호로 YYYYMMDDNN 표기법으로는 4294년까지 표기를 할 수 있다.
이번호가 잘못되면 보조(Secondary) 네임서버에서는 장기간 DNS 정보가 갱신되지 않을 수 있다.
만일 Serial Number를 잘못 입력하여 오버 플로우가 일어나는 등의 문제가 발생하면 다음과 같이 해결할 수 있다.

보조(Secondary) 네임서버를 직접 운영한다면, 해당 zone 파일을 삭제하고 DNS 서버를 재구동하면 된다.
보조(Secondary) 네임서버를 직접 운영하지 않는다면, Serial Number를 0으로 초기화하고, 보조 네임서버에서
Zone Transfer가 이루어진 후에 올바른 Serial Number로 복구하면 된다. Serial Number가 0이면 무조건 매번 Zone Transfer가 일어난다.


특정 서버의 IP가 변경될 수 있다면, 해당 레코드의 TTL 값을 임시적으로 짧게 설정하여 클라이언트에게 빨리 전달 될 수 있도록 한다.

www  30 IN A 123.123.123.123

TTL 값이 0이면 캐쉬가 되지 않고, 매번 네임서버에서 IP를 resolving해가지만 추천하지는 않는다. 되도록 시간을 짧게 설정하는 것이 좋다.
서버가 변경 완료된 후에, TTL을 원래대로 복구한다. 특정 서버가 아니라 모든 도메인에 대해 변동될 사항이 있다면,
SOA의 minimum TTL 값을 짧게 조정하여 적용할 수 있다.