DNS의 멋진 세계를 둘러보려고 합니다.
다음을 포함하는 example.com에 대한 영역 파일을 만들었습니다.
@ A 1.2.3.4
* A 1.2.3.4
그러나 다음을 포함하기 위해 별도의 영역 파일을 만든 로컬 DNS인 local.example.com도 설정하고 있습니다.
machine1 A 192.168.0.1
machine2 A 192.168.0.2
machine1.local.example.com을 파면 A 레코드 192.168.0.1이 반환됩니다. 훌륭합니다.
안타깝게도 badmachine.local.example.com은 local.example.com과 마찬가지로 1.2.3.4를 반환합니다.
이 문제를 방지하는 가장 좋은 방법이 확실하지 않습니다. local.example.com에 다음을 추가하면 내가 원하는 동작과 마찬가지로 위의 2개 예에 대해 빈 A 레코드가 반환됩니다.
@ A
* A
지정하지 않는 한 응답을 제공하고 싶지 않은 local.example.com 하위 도메인의 모든 항목을 제외하고 everything.example.com에서 와일드카드를 사용하기를 원합니다. 본질적으로 하나의 제외가 포함된 와일드카드가 필요합니다.
이것이 허용됩니까? 이것이 모범 사례입니까, 아니면 제가 일을 크게 잘못하고 있습니까? 저는 BIND 백엔드와 함께 PowerDNS를 사용하고 있습니다.
당신의 생각에 감사드립니다!
답변1
첫째, 위의 Chris S에 대한 귀하의 의견은 귀하의 원래 질문을 상당히 명확하게 (실제로 수정)했으며 원래 질문으로 편집하는 것을 용서해 주시기 바랍니다.
둘째, 다른 사람들이 지적한 것처럼 null 레코드는 허용되지 않습니다.
셋째, 원하는 작업을 수행하는 방법은 local.example.com
적절한 하위 도메인으로 선언하는 것입니다.
local IN NS ns1.example.com
local IN NS ns2.example.com
example.com에서 현재 실행 중인 것과 동일한 두 개의 이름 서버를 나열합니다(참고: 저는 PowerDNS를 모르므로 위 항목은 BIND 형식입니다.). 그런 다음 해당 네임서버(이 네임서버로 추정)에서 해결하려는 호스트만 포함하고 와일드카드 레코드는 포함하지 않는 local.example.com에 대한 영역 파일을 선언합니다.
따라서 사람들이 조회할 때 foo.example.com
목록에 없다고 가정하면 기존 와일드카드 레코드와 일치하고 반환됩니다 1.2.3.4
(또는 무엇이든). 그러나 사람들이 를 검색하면
foo.local.example.com
에 대한 네임서버 레코드가 local.example.com
반환되고 추가 재귀가 발생합니다. 이제 귀하의 네임서버는 에 대한 영역 파일을 보고 다음 local.example.com
과 같이 말합니다(foo에 대한 특정 레코드가 없는 경우).그리고local.example.com의 와일드카드) "아니요, 그러한 기록이 없습니다."
답변2
당신이 원하는 응답이 무엇인지 정확히 아는 것이 유용할 것입니다. 질문에 인용된 처음 두 줄은 도메인에 대한 기본 응답과 일치하지 않는 레코드 응답을 설정합니다. 따라서 example.com은 "@" 레코드로 서비스되고, everything-doesnt-exist.exmaple.com은 "*" 레코드로 서비스됩니다. 꼭 필요한 것은 아니며, 둘 다 제거해도 됩니다. 공백 값으로 설정하는 것은 잘못된 구성입니다(대부분의 시스템에서).
답변3
항목을 "null"로 만드는 방법이 생각나지 않습니다. 빈 A 레코드는 허용되지 않습니다.
아마도 *.example.com A 1.2.3.4
.local.example.com 항목의 재정의를 방지할 수 있을까요? PowerDNS가 사양에 따라 제대로 작동하지 않는 것 같습니다. local.example.com 도메인을 정의하면 와일드카드가 해당 도메인의 모든 항목을 밟는 것을 방지할 수 있습니다. 전체 영역 파일을 게시할 수 있나요? 그러면 여러 가지 작은 질문이 해결될 것입니다.
답변4
이 기능은 일관되게 구현되지 않았으므로 실행 중인 서버의 특정 동작을 살펴봐야 합니다.
RFC 4592를 인용하면 많은 DNS 구현이 와일드카드의 원래 정의와 다양한 방식으로 다릅니다.
와일드카드 사용에 대한 정의를 이해하고 있으므로 와일드카드 항목으로 수행하려는 작업은 정확합니다(최후 수단의 기본값으로 생각하는 것이 더 좋음). 나는 명확한 RFC를 읽고 여기에서 업데이트할 시간을 찾으려고 노력할 것입니다...