BIND 정방향 존 추가와 보조 DNS 동기화 제한하기

목차

BIND에 정방향 존을 추가하고 보조 DNS로 존을 전송하는 구성입니다. 원노트에서 혼동된 동적 업데이트·NOTIFY·존 전송을 구분했습니다. 예시는 주 서버 192.0.2.10, 보조 서버 192.0.2.20, 도메인 example.com입니다.

주 서버 존 선언

실제 include 경로와 chroot 사용 여부를 확인합니다. 아래는 주 서버의 존 선언 예시이며 존 파일은 이미 SOA·NS·필요한 레코드가 작성된 상태여야 합니다.

TERMINAL / CONFIG
zone "example.com" IN {
    type master;
    file "example.com.zone";
    allow-update { none; };
    allow-transfer { 192.0.2.20; };
    also-notify { 192.0.2.20; };
};

allow-update는 동적 업데이트 허용 범위이며 주·보조 동기화 스위치가 아닙니다. allow-transfer는 AXFR·IXFR 전송 허용 대상, also-notify는 추가 변경 통지 대상입니다. 환경에 따라 IP 제한과 함께 TSIG 인증도 사용합니다.

보조 서버 설정

보조 서버가 실제로 쓸 수 있는 디렉터리에 존 파일을 저장합니다. 패키지의 slaves 경로와 SELinux 컨텍스트를 확인합니다. chroot 환경은 표시되는 경로와 실제 OS 경로가 다릅니다.

TERMINAL / CONFIG
zone "example.com" IN {
    type slave;
    file "slaves/example.com.zone";
    masters { 192.0.2.10; };
};

검사 후 재적용

기존 설정을 보관하고 주 서버 존 파일의 serial을 증가시킵니다. 아래 파일 경로는 실제 환경에 맞게 바꿉니다. named와 named-chroot 중 현재 운영 중인 서비스에 적용합니다.

TERMINAL / CONFIG
sudo named-checkconf
sudo named-checkzone example.com /var/named/example.com.zone
sudo rndc reconfig
dig @192.0.2.10 example.com SOA
dig @192.0.2.20 example.com SOA

두 서버의 serial과 응답 레코드를 비교합니다. 전송에는 TCP 53이 필요하며 일반 질의의 UDP·TCP 경로도 확인합니다. 보조 서버에서는 전송이 되고 비허용 출발지에서는 거부되는지 시험합니다. 재귀 질의 허용 범위와 권한 서버의 존 전송 정책은 별도로 설정합니다.
참고: https://bind9.readthedocs.io/en/latest/reference.html

서비스구축 › DNS
DNS 목록