1.6. BIND DNS 서버 간 영역 전송 구성
영역 전송을 통해 영역의 사본이 있는 모든 DNS 서버에서 최신 데이터를 사용하도록 합니다.
사전 요구 사항
- 향후 기본 서버에서 영역 전송을 설정할 영역이 이미 구성되어 있습니다.
- 향후 보조 서버에서 BIND는 이미 구성되어 있습니다(예: 캐싱 이름 서버).
-
두 서버 모두에서
named
또는named-chroot
서비스가 실행 중입니다.
프로세스
기존 기본 서버에서 다음을 수행합니다.
공유 키를 생성하고
/etc/named.conf
파일에 추가합니다.tsig-keygen example-transfer-key | tee -a /etc/named.conf
# tsig-keygen example-transfer-key | tee -a /etc/named.conf key "example-transfer-key" { algorithm hmac-sha256; secret "q7ANbnyliDMuvWgnKOxMLi313JGcTZB5ydMW5CyUGXQ="; };
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
tsig-keygen
명령의 출력을 표시하고/etc/named.conf
에 자동으로 추가합니다.나중에 보조 서버에서 명령의 출력이 필요합니다.
/etc/named.conf
파일에서 영역 정의를 편집합니다.allow-transfer
문에서 서버가 영역을 전송하기 위해example-transfer-key
문에 지정된 키를 제공해야 함을 정의합니다.zone "example.com" { ... allow-transfer { key example-transfer-key; }; };
zone "example.com" { ... allow-transfer { key example-transfer-key; }; };
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는
allow-transfer
문에서 BIND ACL(액세스 제어 목록) 닉네임을 사용합니다.기본적으로 영역을 업데이트한 후 BIND는 이 영역에 이름 서버(
NS
) 레코드가 있는 모든 이름 서버에 알립니다. 보조 서버에 대한NS
레코드를 영역에 추가하지 않으려는 경우 BIND에서 이 서버에 어쨌든 알립니다. 이를 위해 이 보조 서버의 IP 주소를 사용하여also-notify
문을 영역에 추가합니다.zone "example.com" { ... also-notify { 192.0.2.2; 2001:db8:1::2; }; };
zone "example.com" { ... also-notify { 192.0.2.2; 2001:db8:1::2; }; };
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/named.conf
파일의 구문을 확인합니다.named-checkconf
# named-checkconf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령이 출력을 표시하지 않으면 구문이 올바르게 됩니다.
BIND를 다시 로드합니다.
systemctl reload named
# systemctl reload named
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 루트 환경에서 BIND를 실행하는 경우
systemctl reload named-chroot
명령을 사용하여 서비스를 다시 로드합니다.
향후 보조 서버에서 다음을 수행합니다.
/etc/named.conf
파일을 다음과 같이 편집합니다.기본 서버에서와 동일한 키 정의를 추가합니다.
key "example-transfer-key" { algorithm hmac-sha256; secret "q7ANbnyliDMuvWgnKOxMLi313JGcTZB5ydMW5CyUGXQ="; };
key "example-transfer-key" { algorithm hmac-sha256; secret "q7ANbnyliDMuvWgnKOxMLi313JGcTZB5ydMW5CyUGXQ="; };
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/named.conf
파일에 영역 정의를 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 설정 상태:
-
이 서버는
example.com
영역의 보조 서버(유형 슬레이브
)입니다. -
/var/named/slaves/example.com.zone
파일은 영역 파일입니다. 이 예에서와 같이 상대 경로를 설정하는 경우 이 경로는options
문에서 디렉터리에 설정한디렉터리
와 상대적입니다. 이 서버가 기본 서버와 보조인 영역 파일을 분리하려면 예를 들어/var/named/slaves/
디렉터리에 저장할 수 있습니다. - 모든 호스트에서 이 영역을 쿼리할 수 있습니다. 또는 IP 범위 또는 ACL 닉네임을 지정하여 액세스를 제한합니다.
- 이 서버에서 영역을 전송할 수 있는 호스트는 없습니다.
-
이 영역의 기본 서버의 IP 주소는
192.0.2.1
및2001:db8:1::2
입니다. 또는 ACL 닉네임을 지정할 수 있습니다. 이 보조 서버는example-transfer-key
라는 키를 사용하여 기본 서버를 인증합니다.
-
이 서버는
/etc/named.conf
파일의 구문을 확인합니다.named-checkconf
# named-checkconf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow BIND를 다시 로드합니다.
systemctl reload named
# systemctl reload named
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 루트 환경에서 BIND를 실행하는 경우
systemctl reload named-chroot
명령을 사용하여 서비스를 다시 로드합니다.
-
선택 사항: 기본 서버에서 영역 파일을 수정하고 새 보조 서버에 대한
NS
레코드를 추가합니다.
검증
보조 서버에서 다음을 수행합니다.
named
서비스의systemd
저널 항목을 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 루트 환경에서 BIND를 실행하는 경우
journalctl -u named-chroot
명령을 사용하여 저널 항목을 표시합니다.BIND에서 영역 파일을 생성했는지 확인합니다.
ls -l /var/named/slaves/
# ls -l /var/named/slaves/ total 4 -rw-r--r--. 1 named named 2736 Jul 6 15:08 example.com.zone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로 보조 서버는 영역 파일을 바이너리 원시 형식으로 저장합니다.
보조 서버에서 전송된 영역의 레코드를 쿼리합니다.
dig +short @192.0.2.2 AAAA www.example.com
# dig +short @192.0.2.2 AAAA www.example.com 2001:db8:1::30
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는 이 절차에서 설정한 보조 서버가 IP 주소
192.0.2.2
에서 수신 대기한다고 가정합니다.