![DNS NS 레코드가 확인되지 않았습니다.](https://linux55.com/image/111706/DNS%20NS%20%EB%A0%88%EC%BD%94%EB%93%9C%EA%B0%80%20%ED%99%95%EC%9D%B8%EB%90%98%EC%A7%80%20%EC%95%8A%EC%95%98%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
NS 레코드를 생성하려는 PowerDNS 서버가 있습니다. 내 도메인은 다음과 같습니다 example.com
.
cluster NS node1.cluster.example.com
cluster NS node2.cluster.example.com
node1.cluster A 1.1.1.1
node2.cluster A 1.1.1.2
1.1.1.1 및 1.1.1.2는 외부 이름 서버입니다.
내가 원하는 것은:
- Cluster.example.com을 발굴하세요.
- 내 DNS 요청을 노드 1 또는 노드 2 중 하나로 이동
- DNS 요청이 해결되었습니다.
내가 가진 것:
Cluster.example.com을 발굴하세요.
;; QUESTION SECTION: ;cluster.example.com. IN A ;; AUTHORITY SECTION: cluster.example.com. 3600 IN NS node2.cluster.example.com. cluster.example.com. 3600 IN NS node1.cluster.example.com. ;; ADDITIONAL SECTION: node2.cluster.example.com. 3600 IN A 1.1.1.2 node1.cluster.example.com. 3600 IN A 1.1.1.1
파헤쳐도 답을 얻지 못했습니다.
그래도 잘 작동합니다 dig cluster.example.com @1.1.1.2
.
저는 DNS에 대한 능력이 별로 없기 때문에 도움을 주시면 대단히 감사하겠습니다.
답변1
구문을 고안하면 작동하지 않습니다.
NS 앞에 있는 것은 도메인 이름입니다. 여기에 입력하지 않으면 기본값은 현재 이름입니다(예: example.com.
.
DNS 기본 동작에 따라 현재 도메인 이름을 개체(예: 클러스터)에 추가하고 정의되지 cluster.example.com.
않습니다.
DNS 기반 클러스터를 정의하려면 다음 단계를 따르세요.
NS cluster.example.com.
cluster A 1.1.1.1
cluster A 1.1.1.2
또는 내 의견을 더 자세히 설명하려면 다음을 수행하세요.
example.com. NS cluster.example.com.
cluster A 1.1.1.1
cluster A 1.1.1.2
두 개의 호스트에 대해 특별히 정의했으며 cluster
NS 레코드가 CNAME을 가리켜서는 안 되기 때문에 노드 1과 노드 2를 사용하지 않았습니다.
~에서DNS에서 IN NS가 CNAME을 가리킬 수 있나요?
NS 레코드가 CNAME을 가리키는 것은 좋지 않으며 현재 BIND 서버와 심각한 충돌을 일으킬 수 있습니다. 실제로 현재 BIND 구현에서는 이러한 레코드를 무시하므로 형편없는 위임이 발생할 수 있습니다. DNS NS 레코드의 스푸핑을 방지하기 위해 BIND에는 다양한 보안 검사가 구현되어 있습니다. 또한 이전 BIND 서버가 별칭 서버의 주소를 알아내려고 시도하는 무한 쿼리 루프에 갇혀 지속적인 DNS 요청 스트림이 전송되는 것으로 보고되었습니다.
또는 여전히 갖고 싶은 node1
이름 이 있다면 node2
:
example.com. NS cluster.example.com.
cluster A 1.1.1.1
cluster A 1.1.1.2
node1 A 1.1.1.1
node2 A 1.1.1.2
참고로, DNS 기반 클러스터링 접근 방식을 사용하면 한 노드에 장애가 발생하면 클라이언트가 통신할 노드를 선택하기 때문에 예상한 결과를 얻지 못하는 경우가 많습니다.
DNS 클러스터를 생성하는 보다 진보된(더 안정적인) 방법이 있습니다.DNS 애니캐스트, 이는 이 답변의 범위를 벗어납니다.