내 잡다한 노트

Bind에서 Zone 본문

DevOps/리눅스

Bind에서 Zone

peanutwalnut 2024. 11. 19. 10:11

**BIND에서 "Zone"**은 DNS 도메인 이름 공간의 일부를 관리하기 위한 데이터 단위를 의미합니다. Zone은 특정 도메인과 그 하위 도메인에 대한 정보를 포함하며, DNS 서버가 해당 Zone에 대한 질의(쿼리)를 처리할 수 있도록 구성됩니다.

 

Zone의 주요 개념

  1. 도메인과의 관계:
    • Zone은 도메인의 정보와 DNS 레코드(A, MX, NS 등)를 정의하는 파일입니다.
    • DNS 서버는 해당 Zone 파일을 사용하여 해당 도메인과 관련된 요청을 처리합니다.
  2. 권한(authority):
    • Zone은 **권한이 있는 DNS 서버(Authoritative DNS Server)**에서 관리됩니다.
    • 권한이 있는 서버는 해당 Zone에 대해 정확하고 신뢰할 수 있는 응답을 제공합니다.
  3. 하위 도메인 관리:
    • 하나의 Zone이 여러 하위 도메인을 포함할 수도 있고, 특정 하위 도메인은 별도의 Zone으로 위임(delegation)될 수 있습니다.

 

Zone 파일의 구성

Zone 파일은 DNS 레코드(A, MX, NS 등)를 포함하며, 특정 도메인과 하위 도메인에 대한 정보를 정의합니다.

Zone 파일 예제:

$TTL 86400 ; Time-to-Live 값
@       IN      SOA     ns1.example.com. admin.example.com. (
                            2023111801 ; Serial
                            3600       ; Refresh
                            1800       ; Retry
                            1209600    ; Expire
                            86400 )    ; Minimum TTL

        IN      NS      ns1.example.com.
        IN      NS      ns2.example.com.

ns1     IN      A       192.168.1.1
ns2     IN      A       192.168.1.2
www     IN      A       192.168.1.3
mail    IN      A       192.168.1.4
        IN      MX 10   mail.example.com.

 

Zone의 종류

1. Primary Zone (Master Zone)

  • Primary Zone은 해당 도메인에 대한 권한이 있는 데이터의 원본을 관리합니다.
  • Zone 파일은 Primary DNS 서버에 저장됩니다.
  • 관리자는 이 Zone 파일을 수정합니다.

2. Secondary Zone (Slave Zone)

  • Secondary Zone은 Primary Zone의 복제본을 보관합니다.
  • Secondary DNS 서버는 주기적으로 Primary DNS 서버에서 데이터를 동기화합니다.
  • 이를 통해 DNS 서비스의 가용성과 성능을 높일 수 있습니다.

3. Stub Zone

  • Stub Zone은 특정 Zone에 대한 **권한이 있는 네임 서버(NS 레코드)**만 저장합니다.
  • 주로 권한 위임(delegation) 관계를 설정하기 위해 사용됩니다.

 

Zone 위임(Delegation)

DNS에서 하위 도메인을 관리할 권한을 다른 네임 서버로 위임할 수 있습니다.

위임 예제:

  • 도메인 example.com의 하위 도메인 sub.example.com을 별도의 Zone으로 관리하도록 위임:

sub.example.com.   IN   NS   ns1.sub.example.com.
sub.example.com.   IN   NS   ns2.sub.example.com.

ns1.sub.example.com. IN A 192.168.2.1
ns2.sub.example.com. IN A 192.168.2.2

 

Zone 정의 파일 (BIND 설정)

BIND에서 Zone을 정의하려면 named.conf 파일에 설정을 추가해야 합니다.

Zone 정의 예제:

zone "example.com" {
    type master;
    file "/etc/bind/db.example.com";
};

zone "sub.example.com" {
    type slave;
    masters { 192.168.1.1; };
    file "/etc/bind/db.sub.example.com";
};

 

  • type master: Primary Zone으로 설정.
  • type slave: Secondary Zone으로 설정.

 

PTR 레코드 (Reverse Mapping)

리버스 DNS는 IP 주소를 호스트 이름으로 매핑하며, 이를 PTR(Pointer) 레코드로 정의합니다.

28  IN  PTR     ns.example.com.

 

 

  • 28:
    • IP 주소의 마지막 옥텟입니다. 예를 들어, IP 주소가 192.168.0.28이라면 28이 해당 부분.
  • PTR:
    • IP 주소를 호스트 이름으로 변환.
  • ns.example.com.:
    • IP 주소 192.168.0.28이 매핑되는 호스트 이름.