공개 및 비공개 권한 있는 DNS 서버

공개 및 비공개 권한 있는 DNS 서버

이 설정은 다음과 같습니다.

내 공용 DNS 서버 <public dns ip>:

example.com.            A    <public webserver IP>
foo.bar.example.com.   TXT   "Hello World"

내 개인 권한 있는 DNS 서버 192.168.0.2:

foo.bar.example.com.    A    "192.168.0.1"
bar.bar.example.com.  CNAME  "foo.bar.example.com"

따라서 두 개의 권한 있는 DNS 서버가 있습니다. 하나는 공개 도메인에, 다른 하나는 개인 도메인에 있습니다. 특정 도메인 하위 집합에 대해 일부 TXT 레코드를 제공하려면 공개 레코드가 필요하지만 A 레코드는 제공하지 않습니다. 개인용 레코드는 내부 용도로만 A 및 CNAME 레코드를 제공해야 하지만 TXT 레코드는 제공하지 않습니다.

내 클라이언트의 DNS 서버 IP가 잘못된 순서(공용, 개인)인 경우, 권한 있는 공용 DNS 서버 응답이 개인 DNS 서버 쿼리를 방지합니까?

예:

클라이언트가 resolv.conf다음으로 설정되었습니다.

<public dns ip>
192.168.0.2

콘솔에서 실행하는 경우 이름이 존재하지 않는다고 nslookup foo.bar.example.com확인 하고 검색을 중단하도록 공용 DNS 서버에서 확인됩니까?192.168.0.1

답변1

생각처럼 해결이 되지 않습니다. 여러 줄이 있는 경우 resolv.conf대체 수단으로 사용됩니다. 시스템은 항상 첫 번째 이름 서버를 사용하고 전혀 응답하지 않는 경우에만(이름이 존재하지 않는다고 응답하는 것과 다름) 두 번째 이름 서버를 쿼리합니다. 등등. 이는 기본적으로 쿼리별로 적용됩니다.

상황을 다르게 설정해야 합니다. 단 하나의 권한 있는 네임서버를 갖고 bind해당 views메커니즘을 사용하여 다른 클라이언트에 다른 내용을 응답하는 경우입니다. 클라이언트가 DNS의 일반적인 트리 워킹을 통해 이를 찾도록 합니다.

그러나 그렇지 않으면 이론적으로는 당신이 옳습니다. "공용" 서버가 응답하고 NXDOMAIN이라고 말하면 검색은 거기서 중지됩니다. 단, 권위 있는 방식과 재귀적인 방식( 의 항목 resolv.conf)을 혼합하는 것은 매우 나쁜 습관입니다. 그리고 여전히 필요한 것보다 더 복잡한 설정이 있어 나중에 문제가 발생할 수 있습니다.

답변2

이는 Windows 네트워크의 일반적인 설정입니다. 여기서(Active-Directory DNS 통합으로 인해) 재귀 확인자는 해당 DNS 영역에 대한 권한 있는 서버이기도 합니다.

동일한 이름(그러나 다른 레코드)을 가진 영역이 공용 DNS에도 존재하는 경우 공용 레코드에 대한 쿼리 시도는 내부 재귀 확인자에서 종료됩니다(해당 영역에 대해 권한이 있으므로 해당 레코드가 존재하지 않는다고 정식으로 나타낼 수 있음). .); 따라서 공개 영역은 개인 확인자를 사용하는 모든 클라이언트의 개인 영역으로 가려집니다.

답변3

제 생각에는 <public dns ip>도메인에 대한 A 레코드가 없다면 확실히 보조 DNS 서버로 온 것입니다.192.168.0.2

관련 정보