바인딩: 자체 SOA 위임 하위 도메인 사용

바인딩: 자체 SOA 위임 하위 도메인 사용

운영 체제: Oracle Linux 8.9
번들 버전: 9.11.36(rpm에서 설치)

Azure 서버에 위임되는 하위 도메인(powerwebappuat.lereta.com)을 만드는 데 문제가 있습니다. 일반적으로 이것은 어렵지 않습니다. 다음과 같이 데이터 파일에 위임을 추가하면 모두가 만족합니다.

powerwebappuat     IN  NS  ns1-38.azure-dns.com.
powerwebappuat     IN  NS  ns2-38.azure-dns.net.
powerwebappuat     IN  NS  ns3-38.azure-dns.org.
powerwebappuat     IN  NS  ns4-38.azure-dns.info.

그러나 이번에는 Microsoft에서 상위 영역과 다른 SOA 위임 powerwebappuat를 사용하도록 요구합니다. 티켓은 매우 구체적입니다.

SOA 레코드:
이메일: azurens-hostmaster.microsoft.com
호스트: ns1-38.azure-dns.com.
새로 고침: 3600
재시도: 300
만료: 2419200
최소 TTL: 300
일련 번호: 1

상위 지역의 현재 SOA는 다음과 같습니다.

$ORIGIN lereta.com.
$TTL 1200       ; 20 minutes
@     IN SOA  ns1.taxandflood.net. dnsadmin.taxandflood.com. (
         1539796885 ; serial
         3h         ; refresh
         1h         ; retry
         14d        ; expire
         1h         ; minimum
         )

자체 SOA를 사용하여 새로운 $ORIGIN을 추가해 보았습니다.

$ORIGIN powerwebappuat.lereta.com.
$TTL 1200
@ IN  SOA ns1-38.azure-dns.com. azuredns-hostmaster.microsoft.com (
          1           ; serial
          1h          ; refresh
          5m          ; retry
          28d         ; expire
          5m          ; minimum
          )

      NS  ns1-38.azure-dns.com.
      NS  ns2-38.azure-dns.net.
      NS  ns3-38.azure-dns.org.
      NS  ns4-38.azure-dns.info.

명명된-checkconf는 위에 대해 불평하지 않지만 영역에 서명하려고 하면 명명된-checkzone은 의도적으로 내 스크립트를 중지하는 오류를 반환합니다.

data/lereta.com:251: SOA record not at top of zone (powerwebappuat.lereta.com)
zone lereta.com/IN: loading from master file data/lereta.com failed: not at top of zone
zone lereta.com/IN: not loaded due to errors.

Bind를 사용하여 하위 도메인에 위임하는 예를 많이 찾을 수 있지만 그 중 어느 것도 이러한 위임이 상위 영역과 다른 SOA를 갖도록 만드는 방법에 대한 제안을 제공하지 않습니다.

누구든지 이 작업을 수행하는 방법을 알고 있습니까?

답변1

일반적으로 저는 별도의 파일에 소구역을 만듭니다. 예를 들어 named.conf나는

zone "example.org" {
  type master;
  file "example.org";
};

zone "subzone.example.org" {
  type master;
  file "subzone.example.org";
}

이제 example.org파일에 대리인을 추가할 수 있습니다.

subzone IN NS ns1.whatever
subzone IN NS ns2.whatever
...

subzone.example.orgSOA를 추가할 수 있습니다 .

$ORIGIN .
$TTL 1800
subzone.example.org IN SOA ... (
                           ....
                           )
                    IN NS ...
                    IN NS ...
$ORIGIN subzone.example.org.
...

이제 하위 영역은 원하는 SOA 값을 가질 수 있으며 named-checkzone두 영역 모두에서 독립적으로 실행될 수 있습니다.

관련 정보