1.5. BIND DNS 서버에서 영역 구성


DNS 영역은 도메인 공간의 특정 하위 트리에 대한 리소스 레코드가 있는 데이터베이스입니다. 예를 들어 example.com 도메인을 담당하는 경우 BIND에서 해당 영역을 설정할 수 있습니다. 결과적으로 클라이언트는 www.example.com 를 이 영역에 구성된 IP 주소로 확인할 수 있습니다.

1.5.1. 영역 파일의 SOA 레코드

권한 시작( SOA) 레코드는 DNS 영역에 필수 레코드입니다. 예를 들어 여러 DNS 서버가 한 영역에 권한이 있지만 DNS 확인자에게도 레코드가 있는 경우 이 레코드가 중요합니다.

BIND의 SOA 레코드에는 다음과 같은 구문이 있습니다.

name class type mname rname serial refresh retry expire minimum
Copy to Clipboard Toggle word wrap

관리자는 가독성을 높이기 위해 일반적으로 영역 파일의 레코드를 together(;)으로 시작하는 주석이 포함된 여러 행으로 분할합니다. SOA 레코드를 분할하는 경우 이 레코드를 함께 유지합니다.

@ IN SOA ns1.example.com. hostmaster.example.com. (
                          2022070601 ; serial number
                          1d         ; refresh period
                          3h         ; retry period
                          3d         ; expire time
                          3h )       ; minimum TTL
Copy to Clipboard Toggle word wrap
중요

FQDN(정규화된 도메인 이름) 끝에 있는 후행 점을 확인합니다. FQDN은 점으로 구분된 여러 도메인 레이블로 구성됩니다. DNS 루트에는 빈 레이블이 있으므로 FQDN은 점으로 끝납니다. 따라서 BIND에서는 후행 점 없이 이름에 영역 이름을 추가합니다. 후행 점이 없는 호스트 이름(예: ns1.example.com )은 기본 이름 서버의 올바른 주소가 아닌 ns1.example.com.com으로 확장됩니다.

SOA 레코드의 필드는 다음과 같습니다.

  • Name: 영역의 이름, 원본 이라고 합니다. 이 필드를 @.로 설정하면 BIND에서 /etc/named.conf 에 정의된 영역 이름으로 확장됩니다.
  • 클래스: SOA 레코드에서 이 필드를 항상 인터넷(IN)으로 설정해야 합니다.
  • 유형: SOA 레코드에서 이 필드를 항상 SOA 로 설정해야 합니다.
  • mname (마스터 이름): 이 영역의 기본 이름 서버의 호스트 이름입니다.
  • RNAME(responsible name): 이 영역을 담당하는 사용자의 이메일 주소입니다. 형식은 다릅니다. at 기호(@)를 점(. )으로 교체해야 합니다.
  • serial: 이 영역 파일의 버전 번호입니다. 보조 이름 서버는 기본 서버의 일련 번호가 높은 경우에만 영역의 복사본을 업데이트합니다.

    형식은 숫자 값일 수 있습니다. 일반적으로 사용되는 형식은 < year><month><day><two-digit-number >입니다. 이 형식을 사용하면 이론적으로 영역 파일을 하루에 백 번까지 변경할 수 있습니다.

  • 새로 고침: 영역을 업데이트한 경우 기본 서버를 확인하기 전에 보조 서버가 대기해야 하는 시간입니다.
  • 재시도: 보조 서버가 실패한 시도 후 기본 서버를 쿼리하려고 시도한 후의 시간입니다.
  • 만료: 이전 시도가 모두 실패한 경우 보조 서버가 주 서버 쿼리를 중지한 후의 시간입니다.
  • 최소: RFC 2308은 이 필드의 의미를 음수 캐싱 시간으로 변경했습니다. 규정 준수 확인자는 이를 사용하여 NXDOMAIN 이름 오류를 캐시하는 기간을 결정합니다.
참고

새로 고침 의 숫자 값,재시도,만료최소 필드는 초 단위로 시간을 정의합니다. 그러나 가독성을 높이기 위해 m for minute, h for hours, d 와 같은 시간 접미사를 사용합니다. 예를 들어 3h 는 3 시간을 나타냅니다.

1.5.2. BIND 기본 서버에서 전달 영역 설정

영역을 IP 주소 및 기타 정보에 매핑합니다. 예를 들어 도메인 example.com 을 담당하는 경우 www.example.com 와 같은 이름을 확인하도록 BIND에서 전달 영역을 설정할 수 있습니다.

사전 요구 사항

  • BIND는 예를 들어 캐싱 이름 서버로 이미 구성되어 있습니다.
  • named 또는 named-chroot 서비스가 실행 중입니다.

프로세스

  1. /etc/named.conf 파일에 영역 정의를 추가합니다.

    zone "example.com" {
        type master;
        file "example.com.zone";
        allow-query { any; };
        allow-transfer { none; };
    };
    Copy to Clipboard Toggle word wrap

    이러한 설정은 다음을 정의합니다.

    • example.com 영역의 기본 서버(type master)로 이 서버를 사용합니다.
    • /var/named/example.com.zone 파일은 영역 파일입니다. 이 예에서와 같이 상대 경로를 설정하는 경우 이 경로는 options 문에서 디렉터리에 설정한 디렉터리 와 상대적입니다.
    • 모든 호스트에서 이 영역을 쿼리할 수 있습니다. 또는 IP 범위 또는 BIND ACL(액세스 제어 목록) 닉네임을 지정하여 액세스를 제한합니다.
    • 호스트가 영역을 전송할 수 없습니다. 보조 서버를 설정하고 보조 서버의 IP 주소에 대해서만 영역 전송을 허용합니다.
  2. /etc/named.conf 파일의 구문을 확인합니다.

    # named-checkconf
    Copy to Clipboard Toggle word wrap

    명령이 출력을 표시하지 않으면 구문이 올바르게 됩니다.

  3. 예를 들어 다음 콘텐츠를 사용하여 /var/named/example.com.zone 파일을 만듭니다.

    $TTL 8h
    @ IN SOA ns1.example.com. hostmaster.example.com. (
                              2022070601 ; serial number
                              1d         ; refresh period
                              3h         ; retry period
                              3d         ; expire time
                              3h )       ; minimum TTL
    
                      IN NS   ns1.example.com.
                      IN MX   10 mail.example.com.
    
    www               IN A    192.0.2.30
    www               IN AAAA 2001:db8:1::30
    ns1               IN A    192.0.2.1
    ns1               IN AAAA 2001:db8:1::1
    mail              IN A    192.0.2.20
    mail              IN AAAA 2001:db8:1::20
    Copy to Clipboard Toggle word wrap

    이 영역 파일:

    • 리소스 레코드의 기본 TTL(Time-to-live) 값을 8시간으로 설정합니다. 시간 접미사가 없는 경우 h for hour, BIND는 값을 초로 해석합니다.
    • 영역에 대한 세부 정보와 함께 필요한 SOA 리소스 레코드가 포함되어 있습니다.
    • ns1.example.com 을 이 영역에 대해 권한 있는 DNS 서버로 설정합니다. 기능을 위해 영역에는 하나 이상의 이름 서버(NS) 레코드가 필요합니다. 그러나 RFC 1912를 준수하기 위해서는 적어도 두 개의 이름 서버가 필요합니다.
    • mail.example.com 을 example.com 도메인의 mail. example.com (mail exchanger)으로 설정합니다. 호스트 이름 앞에 있는 숫자 값은 레코드의 우선순위입니다. 더 낮은 값이 있는 항목은 우선 순위가 높습니다.
    • www.example.com,mail.example.com, ns1.example.com 의 IPv4 및 IPv6 주소를 설정합니다.
  4. named 그룹만 읽을 수 있는 영역 파일에 보안 권한을 설정합니다.

    # chown root:named /var/named/example.com.zone
    # chmod 640 /var/named/example.com.zone
    Copy to Clipboard Toggle word wrap
  5. /var/named/example.com.zone 파일의 구문을 확인합니다.

    # named-checkzone example.com /var/named/example.com.zone
    zone example.com/IN: loaded serial 2022070601
    OK
    Copy to Clipboard Toggle word wrap
  6. BIND를 다시 로드합니다.

    # systemctl reload named
    Copy to Clipboard Toggle word wrap

    변경 루트 환경에서 BIND를 실행하는 경우 systemctl reload named-chroot 명령을 사용하여 서비스를 다시 로드합니다.

검증

  • example.com 영역에서 다른 레코드를 쿼리하고 출력이 영역 파일에 구성한 레코드와 일치하는지 확인합니다.

    # dig +short @localhost AAAA www.example.com
    2001:db8:1::30
    
    # dig +short @localhost NS example.com
    ns1.example.com.
    
    # dig +short @localhost A ns1.example.com
    192.0.2.1
    Copy to Clipboard Toggle word wrap

    이 예제에서는 BIND가 동일한 호스트에서 실행되고 localhost 인터페이스의 쿼리에 응답한다고 가정합니다.

1.5.3. BIND 기본 서버에서 역방향 영역 설정

역방향 영역은 IP 주소를 이름에 매핑합니다. 예를 들어 IP 범위 192.0.2.0/24 를 담당하는 경우 BIND에서 역방향 영역을 설정하여 이 범위의 IP 주소를 호스트 이름으로 확인할 수 있습니다.

참고

전체 클래스 네트워크의 역방향 영역을 생성하는 경우 그에 따라 영역의 이름을 지정합니다. 예를 들어 C 클래스 C 네트워크 192.0.2.0/24 클래스의 경우 영역 이름은 2.0.192.in-addr.arpa 입니다. 다른 네트워크 크기(예: 192.0.2.0/28 )에 대한 역방향 영역을 생성하려면 영역 이름은 28-2.0.192.in-addr.arpa 입니다.

사전 요구 사항

  • BIND는 예를 들어 캐싱 이름 서버로 이미 구성되어 있습니다.
  • named 또는 named-chroot 서비스가 실행 중입니다.

프로세스

  1. /etc/named.conf 파일에 영역 정의를 추가합니다.

    zone "2.0.192.in-addr.arpa" {
        type master;
        file "2.0.192.in-addr.arpa.zone";
        allow-query { any; };
        allow-transfer { none; };
    };
    Copy to Clipboard Toggle word wrap

    이러한 설정은 다음을 정의합니다.

    • 이 서버는 2.0.192.in-addr.arpa 역방향 영역의 기본 서버(type master)로 사용됩니다.
    • /var/named/2.0.192.in-addr.arpa.zone 파일은 영역 파일입니다. 이 예에서와 같이 상대 경로를 설정하는 경우 이 경로는 options 문에서 디렉터리에 설정한 디렉터리 와 상대적입니다.
    • 모든 호스트에서 이 영역을 쿼리할 수 있습니다. 또는 IP 범위 또는 BIND ACL(액세스 제어 목록) 닉네임을 지정하여 액세스를 제한합니다.
    • 호스트가 영역을 전송할 수 없습니다. 보조 서버를 설정하고 보조 서버의 IP 주소에 대해서만 영역 전송을 허용합니다.
  2. /etc/named.conf 파일의 구문을 확인합니다.

    # named-checkconf
    Copy to Clipboard Toggle word wrap

    명령이 출력을 표시하지 않으면 구문이 올바르게 됩니다.

  3. 예를 들어 다음 콘텐츠를 사용하여 /var/named/2.0.192.in-addr.arpa.zone 파일을 만듭니다.

    $TTL 8h
    @ IN SOA ns1.example.com. hostmaster.example.com. (
                              2022070601 ; serial number
                              1d         ; refresh period
                              3h         ; retry period
                              3d         ; expire time
                              3h )       ; minimum TTL
    
                      IN NS   ns1.example.com.
    
    1                 IN PTR  ns1.example.com.
    30                IN PTR  www.example.com.
    Copy to Clipboard Toggle word wrap

    이 영역 파일:

    • 리소스 레코드의 기본 TTL(Time-to-live) 값을 8시간으로 설정합니다. 시간 접미사가 없는 경우 h for hour, BIND는 값을 초로 해석합니다.
    • 영역에 대한 세부 정보와 함께 필요한 SOA 리소스 레코드가 포함되어 있습니다.
    • ns1.example.com 을 이 역방향 영역에 대해 권한 있는 DNS 서버로 설정합니다. 기능을 위해 영역에는 하나 이상의 이름 서버(NS) 레코드가 필요합니다. 그러나 RFC 1912를 준수하기 위해서는 적어도 두 개의 이름 서버가 필요합니다.
    • 192.0.2.1192.0.2.30 주소에 대한 포인터(PTR) 레코드를 설정합니다.
  4. named 그룹만 읽을 수 있는 영역 파일에 보안 권한을 설정합니다.

    # chown root:named /var/named/2.0.192.in-addr.arpa.zone
    # chmod 640 /var/named/2.0.192.in-addr.arpa.zone
    Copy to Clipboard Toggle word wrap
  5. /var/named/2.0.192.in-addr.arpa.zone 파일의 구문을 확인합니다.

    # named-checkzone 2.0.192.in-addr.arpa /var/named/2.0.192.in-addr.arpa.zone
    zone 2.0.192.in-addr.arpa/IN: loaded serial 2022070601
    OK
    Copy to Clipboard Toggle word wrap
  6. BIND를 다시 로드합니다.

    # systemctl reload named
    Copy to Clipboard Toggle word wrap

    변경 루트 환경에서 BIND를 실행하는 경우 systemctl reload named-chroot 명령을 사용하여 서비스를 다시 로드합니다.

검증

  • 역방향 영역에서 다른 레코드를 쿼리하고 출력이 영역 파일에 구성한 레코드와 일치하는지 확인합니다.

    # dig +short @localhost -x 192.0.2.1
    ns1.example.com.
    
    # dig +short @localhost -x 192.0.2.30
    www.example.com.
    Copy to Clipboard Toggle word wrap

    이 예제에서는 BIND가 동일한 호스트에서 실행되고 localhost 인터페이스의 쿼리에 응답한다고 가정합니다.

1.5.4. BIND 영역 파일 업데이트

예를 들어 서버의 IP 주소가 변경되면 특정 상황에서는 영역 파일을 업데이트해야 합니다. 여러 DNS 서버가 영역을 담당하는 경우 기본 서버에서만 이 절차를 수행합니다. 영역 복사본을 저장하는 다른 DNS 서버는 영역 전송을 통해 업데이트를 수신합니다.

사전 요구 사항

  • 영역이 구성되어 있습니다.
  • named 또는 named-chroot 서비스가 실행 중입니다.

프로세스

  1. 선택 사항: /etc/named.conf 파일의 영역 파일의 경로를 식별합니다.

    options {
        ...
        directory       "/var/named";
    }
    
    zone "example.com" {
        ...
        file "example.com.zone";
    };
    Copy to Clipboard Toggle word wrap

    영역 정의의 file 문에서 영역 파일의 경로를 찾습니다. 상대 경로는 options 문의 디렉터리에 설정된 디렉토리를 기준으로 합니다.

  2. 영역 파일을 편집합니다.

    1. 필요한 변경을 수행합니다.
    2. 권한 시작(SOA) 레코드에서 일련 번호를 늘립니다.

      중요

      일련 번호가 이전 값보다 작거나 같으면 보조 서버는 영역의 복사본을 업데이트하지 않습니다.

  3. 영역 파일의 구문을 확인합니다.

    # named-checkzone example.com /var/named/example.com.zone
    zone example.com/IN: loaded serial 2022062802
    OK
    Copy to Clipboard Toggle word wrap
  4. BIND를 다시 로드합니다.

    # systemctl reload named
    Copy to Clipboard Toggle word wrap

    변경 루트 환경에서 BIND를 실행하는 경우 systemctl reload named-chroot 명령을 사용하여 서비스를 다시 로드합니다.

검증

  • 추가, 수정 또는 제거된 레코드를 쿼리합니다. 예를 들면 다음과 같습니다.

    # dig +short @localhost A ns2.example.com
    192.0.2.2
    Copy to Clipboard Toggle word wrap

    이 예제에서는 BIND가 동일한 호스트에서 실행되고 localhost 인터페이스의 쿼리에 응답한다고 가정합니다.

DNSSEC(Domain Name System Security extensions)로 영역에 서명하여 인증 및 데이터 무결성을 보장할 수 있습니다. 이러한 영역에는 추가 리소스 레코드가 포함되어 있습니다. 클라이언트는 이를 사용하여 영역 정보의 진위 여부를 확인할 수 있습니다.

영역에 DNSSEC 정책 기능을 활성화하면 BIND에서 다음 작업을 자동으로 수행합니다.

  • 키 생성
  • 영역에 서명
  • 키를 다시 서명하고 주기적으로 교체하는 등 영역을 유지 관리합니다.
중요

외부 DNS 서버를 활성화하여 영역의 진위 여부를 확인하려면 영역의 공개 키를 상위 영역에 추가해야 합니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 도메인 공급자 또는 레지스트리에 문의하십시오.

이 절차에서는 BIND에서 기본 DNSSEC 정책을 사용합니다. 이 정책은 단일 ECDSAP256SHA 키 서명을 사용합니다. 또는 사용자 지정 키, 알고리즘 및 타이밍을 사용하는 고유한 정책을 생성합니다.

사전 요구 사항

  • bind 패키지가 설치되어 있습니다.
  • DNSSEC를 활성화할 영역이 구성되어 있습니다.
  • named 또는 named-chroot 서비스가 실행 중입니다.
  • 서버는 시간 서버와 시간을 동기화합니다. DNSSEC 검증에는 정확한 시스템 시간이 중요합니다.

프로세스

  1. /etc/named.conf 파일을 편집하고 DNSSEC를 활성화하려는 영역에 dnssec-policy default 를 추가합니다.

    zone "example.com" {
        ...
        dnssec-policy default;
    };
    Copy to Clipboard Toggle word wrap
  2. BIND를 다시 로드합니다.

    # systemctl reload named
    Copy to Clipboard Toggle word wrap

    변경 루트 환경에서 BIND를 실행하는 경우 systemctl reload named-chroot 명령을 사용하여 서비스를 다시 로드합니다.

  3. BIND에서는 공개 키를 /var/named/K <zone_name > .+ <algorithm> + <key_ID > .key 파일에 저장합니다. 이 파일을 사용하여 영역의 공개 키를 상위 영역에 필요한 형식으로 표시합니다.

    • DS 레코드 형식:

      # dnssec-dsfromkey /var/named/Kexample.com.+013+61141.key
      example.com. IN DS 61141 13 2 3E184188CF6D2521EDFDC3F07CFEE8D0195AACBD85E68BAE0620F638B4B1B027
      Copy to Clipboard Toggle word wrap
    • DNSKEY 형식:

      # grep DNSKEY /var/named/Kexample.com.+013+61141.key
      example.com. 3600 IN DNSKEY 257 3 13 sjzT3jNEp120aSO4mPEHHSkReHUf7AABNnT8hNRTzD5cKMQSjDJin2I3 5CaKVcWO1pm+HltxUEt+X9dfp8OZkg==
      Copy to Clipboard Toggle word wrap
  4. 영역의 공개 키를 상위 영역에 추가하도록 요청합니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 도메인 공급자 또는 레지스트리에 문의하십시오.

검증

  1. DNSSEC 서명을 활성화한 영역에서 자신의 DNS 서버를 쿼리합니다.

    # dig +dnssec +short @localhost A www.example.com
    192.0.2.30
    A 13 3 28800 20220718081258 20220705120353 61141 example.com. e7Cfh6GuOBMAWsgsHSVTPh+JJSOI/Y6zctzIuqIU1JqEgOOAfL/Qz474 M0sgi54m1Kmnr2ANBKJN9uvOs5eXYw==
    Copy to Clipboard Toggle word wrap

    이 예제에서는 BIND가 동일한 호스트에서 실행되고 localhost 인터페이스의 쿼리에 응답한다고 가정합니다.

  2. 공개 키가 상위 영역에 추가되고 다른 서버로 전파된 후 서버가 쿼리의 인증된 데이터(ad) 플래그를 서명된 영역에 설정하는지 확인합니다.

    #  dig @localhost example.com +dnssec
    ...
    ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
    ...
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat