728x90
Caching DNS와 Cache-Only DNS의 차이점 및 Bind를 사용하여 구현하는 방법
Caching DNS(Recursive DNS)
- 역할
- Caching DNS 서버는 클라이언트로부터 DNS 쿼리를 받아들이고 원하는 도메인의 IP 주소를 찾는 데 필요한 모든 DNS 레코드 정보를 직접 검색합니다.
- 캐시를 사용하여 최종 결과를 저장하며, 미래에 동일한 도메인에 대한 쿼리를 빠르게 처리하기 위해 이러한 결과를 캐싱합니다.
- 특징
- Caching DNS 서버는 클라이언트의 쿼리에 대한 원본 DNS 서버로의 재귀적 쿼리를 수행합니다.
- 전체 DNS 계층 구조를 이해하며, 캐시와 재귀 쿼리를 사용하여 원하는 정보를 찾습니다.
- ISP 또는 공공 DNS 서버가 Caching DNS 서버의 예입니다.
Cache-Only DNS(DNS Resolver)
- 역할
- Cache-Only DNS 서버는 클라이언트의 DNS 쿼리를 받아들이고, 외부 DNS 서버(보통 ISP의 DNS 서버 또는 공공 DNS 서버)에게 DNS 쿼리를 보내어 원하는 정보를 검색합니다.
- 이 정보를 로컬 캐시에 저장하고 나중에 동일한 도메인에 대한 쿼리에 대해 로컬 캐시를 사용하여 빠르게 응답합니다.
- 특징
- Cache-Only DNS 서버는 도메인에 대한 답변을 직접 검색하지 않으며, 외부 DNS 서버로부터 정보를 가져와서 캐시에 저장합니다.
- 전체 DNS 계층 구조를 이해하지 않고, 외부 DNS 서버로의 쿼리를 단순히 전달하고 캐시된 정보를 로컬에서 사용합니다.
Bind를 사용하여 구현하는 방법
Caching DNS(Recursive DNS) 구현
- Bind 설정 파일(/etc/named.conf)에서 recursion yes;와 같은 재귀 쿼리를 활성화하는 설정을 찾아 활성화합니다.
sudo vim /etc/named.conf
recursion yes;
Cache-Only DNS(DNS Resolver) 구현
- Bind 설정 파일(/etc/named.conf)에서 recursion no;와 같은 재귀 쿼리를 비활성화하는 설정을 찾아 활성화합니다.
sudo vim /etc/bind/named.conf
recursion no;
728x90
BIND DNS에서 recursion 지시자를 설정하는 방법
BIND의 recursion 및 allow-recursion 설정은 DNS 서버의 재귀 쿼리 동작과 허용에 관한 중요한 설정입니다. 재귀 쿼리는 클라이언트에서 DNS 서버로 보내는 쿼리가 해당 서버가 다른 DNS 서버에게 이어지는지 여부를 나타냅니다.
1. recursion 설정
- recursion 설정은 DNS 서버가 재귀 쿼리를 수행할 것인지를 결정하는 설정입니다.
- 재귀 쿼리란 DNS 서버가 클라이언트의 쿼리를 받아들이고 다른 DNS 서버(상위 도메인의 DNS 서버 등)에 해당 쿼리를 전달하고, 전체 DNS 계층 구조를 따라 답변을 찾는 작업을 의미합니다.
options {
recursion yes; // DNS 서버가 재귀 쿼리를 수행함
};
- recursion 설정을 "yes"로 설정하면 DNS 서버가 재귀 쿼리를 수행합니다. 클라이언트로부터의 DNS 쿼리를 전달하고, 완전한 도메인 정보를 찾기 위해 다른 DNS 서버로 쿼리를 보냅니다.
2. allow-recursion 설정
- allow-recursion 설정은 DNS 서버에서 재귀 쿼리를 허용할 IP 주소 또는 IP 대역을 지정하는 설정입니다.
- 이 설정은 보안과 관련이 있으며, 특정 클라이언트 또는 네트워크에서만 재귀 쿼리를 허용하려는 경우 사용됩니다.
options {
recursion yes; // DNS 서버가 재귀 쿼리를 수행함
allow-recursion { trusted-clients; };
};
- 위의 예에서 trusted-clients는 허용할 클라이언트의 IP 주소 또는 대역을 정의한 ACL(Access Control List)의 이름입니다. 이 ACL에서 정의한 클라이언트만이 재귀 쿼리를 실행할 수 있습니다.
recursion와 allow-recursion 설정은 DNS 서버의 보안 및 동작을 제어하는 데 중요한 역할을 합니다. 보안을 강화하려면 적절한 allow-recursion 설정을 구성하여 허용되지 않는 클라이언트로부터의 재귀 쿼리를 차단할 수 있습니다.
위의 설정은 Bind DNS 서버를 Caching DNS 또는 Cache-Only DNS로 구성하는 방법의 간단한 개요입니다. 원하는 유형의 DNS 서버에 따라 설정을 조정해야 합니다.
참고URL
- ZyTrax : DNS Configuration Types
- O'Reilly : 8.10 Domain Name System (DNS)
728x90
'리눅스' 카테고리의 다른 글
OSI 7 계층의 각 계층에 대한 기본 개념과 설명(OSI 7 Layer Model) (0) | 2023.10.29 |
---|---|
Zabbix를 사용하여 syslog(messages) 로그 파일을 모니터링하는 방법 (0) | 2023.10.27 |
[isms-p] world writable 파일 점검 (0) | 2023.10.26 |
[draft] CentOS 7에서 SNMPv3을 설정하는 방법 (0) | 2023.10.25 |
top 명령어 (0) | 2023.10.24 |