운영 체제: 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.org
SOA를 추가할 수 있습니다 .
$ORIGIN .
$TTL 1800
subzone.example.org IN SOA ... (
....
)
IN NS ...
IN NS ...
$ORIGIN subzone.example.org.
...
이제 하위 영역은 원하는 SOA 값을 가질 수 있으며 named-checkzone
두 영역 모두에서 독립적으로 실행될 수 있습니다.